задание решение уравнений с одной переменной
линейное уравнение типа ax+b=0
квадратное уравнение ax^2+bx+c=0
были решены, загвоздка в кубическом уравнении x^3+ax^2+bx+c=0
прошу помочь решить, заранее спасибо
вот листинг программы
var a,b,c,d,x1,x2,x3,q,r,t : real;
begin
label14.Caption := '';
label15.Caption := '';
label16.Caption := '';
if radiobutton3.Checked = true then //ax+b=0
begin
a:=strtofloat(edit7.text);
b:=strtofloat(edit8.text);
x1:=-b/a;
label14.Caption :=floattostr (x1);
end
else if radiobutton2.Checked = true then //ax2+bx+c=0
begin
a:=strtofloat(edit4.text);
b:=strtofloat(edit5.text);
c:=strtofloat(edit6.text);
D:=b*b-4*a*c ;
if D>=0 then
begin
x1:=(-b-sqrt(d))/2*a;
x2:=(-b+sqrt(d))/2*a;
label14.Caption := floattostr(x1);
label15.Caption := floattostr(x2);
end
else
label14.Caption := 'уравнение не имеет корней';
end
else if radiobutton1.Checked = true then //x3+ax2+bx+c=0
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
q:=(a*a-3*b)/9;
r:=(2*a*a*a-9*a*b+27*c)/54;
if r*r<q*q*q then
begin
{ t:=arccos(R/sqrt(q*q*q))/3; } //не работает, воспринимает почемуто arccos как переменную
x1:=-2*sqrt(q)*cos(t)-a/3;
x2:=-2*sqrt(q)*cos(t+(2*3.14/3))-a/3;
x3:=-2*sqrt(q)*cos(t-(2*3.14/3))-a/3;
label14.Caption := floattostr(x1);
label15.Caption := floattostr(x2);
label16.Caption := floattostr(x3);
end
else
begin
// дальше честно не знаю, как делать
end;
end;
end;