Квадратное уравнение
Материал из DRKB
// решает квадратное уравнение
{ a, b, c - коэффициенты уравнения
x1, x2 - корни уравнения
Result = True - решение есть; False - решения нет }
function SqRoot(a, b, c: Real; var x1, x2: Real): Boolean;
var
d: Real; // дискриминант
begin
d := Sqr(b) - 4 * a * c;
if d < 0 then
Result := False // уравнение не имеет решения
else
begin
Result := True;
x1 := (-b + Sqrt(d)) / (2 * a);
x2 := (b + Sqrt(d)) / (2 * a);
end;
end;
// Пример использования
procedure TForm1.Button1Click(Sender: TObject);
var
k1, k2: Real; // корни уравнения
rez: Boolean; // True - решение есть, False - решения нет
mes: string; // сообщение
begin
rez := SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text), k1, k2, rez);
if rez then
mes := 'Корни уравнения' + #13 +
'x1=' + FloatToStrF(k1, ffGeneral, 4, 2) + #13 +
'x2=' + FloatToStrF(k2, ffGeneral, 4, 2) + #13
else
mes := 'Уравнение не имеет решения';
Label5.Caption := mes;
end;
Source: http://delphiworld.narod.ru/
ID: 04094