Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
ВнизВ чем ошибка? Найти похожие ветки
← →
Chort © (2006-12-21 00:20) [0]Сейчас сижу, глаза скоро вылезут из орбит, а исправить ошибку не могу.Короче говоря решение квадратного уравнения
implementation
Нигде при компиляции не Матюкается. Но при работе находит один икс нормально, а другой в любом случае пишет "Уровнение не имеет решения"
procedure SqRoot(a, b, c: real; var x1, x2: real; var ok: boolean);
{ a,b,c - коэффициенты уравнения
x1,x2 - корни уравнения
ok = True - решение есть
ok = False - решения нет }
var
d: real; // дискриминант
begin
d := Sqr(b) - 4 * a * c;
if d < 0
then
ok := False // уравнение не имеет решения
else
begin
ok := True;
x1 := (-b + Sqrt(d)) / (2 * a);
x2 := (-b - Sqrt(d)) / (2 * a);
end;
end;
procedure Disc(a, b, c: real; var d: real; var ok: boolean);
begin
d := Sqr(b) - 4 * a * c;
if d < 0
then
ok := False // уравнение не имеет решения
else
begin
ok := True;
end;
end;
{$R *.dfm}
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
k1, k2,k: real; // корни уравнения
rez, rez1: boolean; // True - решение есть, False - решения нет
mes: string; // сообщение
mes1: string;
begin
SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text), k1, k2, rez);
disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text),k, rez1);
if rez then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
mes := "Уровнение не имеет решения";
mes1 := "Уровнение не имеет решения";
label20.Caption := mes;
label21.Caption:= mes1;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
k: real; // Дискриминант
rez: boolean; // True - решение есть, False - решения нет
mes: string; // сообщение
begin
disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text),k, rez);
if rez then
mes:= FloatToStrF(k, ffGeneral, 4, 2)
else
mes := "Уравнение не имеет решения так как" + #13 +
"дискриминант меньше 0";
Label5.Caption:= mes;
end;
end.
P.s. Edit1,2,3-это соответственно a,b,c.
← →
Axis_of_Evil © (2006-12-21 00:23) [1]if rez then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
begin отсутствует
mes := "Уровнение не имеет решения";
mes1 := "Уровнение не имеет решения";
end; а зря
label20.Caption := mes;
label21.Caption:= mes1;
end;
← →
Chort © (2006-12-21 00:29) [2]
> Axis_of_Evil © (21.12.06 00:23) [1]
Ну что я могу сказать?Тормоз я короче говоря. Большое спасибо!
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c