// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!
procedure КорниКвадратногоУравнения(a,b,c:real; var Корни:(real,real);
var ЧислоКорней:integer);
begin
if a=0 then ЧислоКорней:=0
else begin
var D:=b*b-4*a*c;
if D>0 then begin
var p1:=-b/2/a; var p2:=Sqrt(D)/2/a;
Корни:=(p1-p2,p1+p2);
ЧислоКорней:=2
end
else
if D=0 then begin
var p1:=-b/2*a;
Корни:=(p1,p1);
ЧислоКорней:=1
end
else ЧислоКорней:=0
end
end;
begin
var (a,b,c):=ReadReal3('Коэффициенты биквадратного уравнения a,b,c:');
var Корни:=(0.0,0.0);
var ЧислоКорней:=0;
КорниКвадратногоУравнения(a,b,c,Корни,ЧислоКорней);
if ЧислоКорней=0 then Writeln('Нет корней')
else begin
var НомерКорня:=1;
var r:=Корни[0];
if r>0 then begin
Writeln('x1=',-Sqrt(r),', x2=',Sqrt(r));
НомерКорня:=3
end
else
if r=0 then begin
Writeln('x1=0');
НомерКорня:=2
end;
r:=Корни[1];
if r>0 then
Writeln('x',НомерКорня,'=',-Sqrt(r),', x',НомерКорня+1,'=',Sqrt(r))
else
if r=0 then Writeln('x',НомерКорня,'=0');
end
end.
Примеры
Коэффициенты биквадратного уравнения a,b,c: 1.25 -5 -13.7
x1=-2.42235751307744, x2=2.42235751307744
Коэффициенты биквадратного уравнения a,b,c: 4 -5 1
x1=-0.5, x2=0.5
x3=-1, x4=1