Решение биквадратного уравнения на Паскале схоже с решением квадратного уравнения. Только следует ввести замену x^2 -> a. Как только найдем корни a, можно извлекать из них квадратные корни - это и будут решения уравнения x.
program sqrt1;
uses
crt;
var
x1, x2: real;
a, b, c, result: real;
D: real;
s:string;
label m1;
begin
clrscr;
m1: writeln('Программа решения биквадратного уравнения');
write('Введите первый коэффициент: ');
readln(a);
write('Введите второй коэффициент: ');
readln(b);
write('Введите свободный член: ');
readln(c);
D:=b*b-4*a*c;
if D>0 then
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
if x1>=0 then
begin
x1:=sqrt(x1);
writeln('Первый корень: ',x1:3:3);
end;
if x2>=0 then
begin
x2:=sqrt(x2);
writeln('Второй корень: ',x2:3:3);
end;
end;
if D=0 then
begin
x1:=-b/(2*a);
if x1>=0 then
begin
x1:=sqrt(x1);
writeln('Один корень: ',x1:3:3);
end;
end;
if D<0 then
begin
writeln('Решений нет');
end;
writeln('Выйти из программы:');
readln(s);
if s='no' then goto m1;
end.
program sqrt1;
uses
crt;
var
x1, x2: real;
a, b, c, result: real;
D: real;
s:string;
label m1;
begin
clrscr;
m1: writeln('Программа решения биквадратного уравнения');
write('Введите первый коэффициент: ');
readln(a);
write('Введите второй коэффициент: ');
readln(b);
write('Введите свободный член: ');
readln(c);
D:=b*b-4*a*c;
if D>0 then
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
if x1>=0 then
begin
x1:=sqrt(x1);
writeln('Первый корень: ',x1:3:3);
end;
if x2>=0 then
begin
x2:=sqrt(x2);
writeln('Второй корень: ',x2:3:3);
end;
end;
if D=0 then
begin
x1:=-b/(2*a);
if x1>=0 then
begin
x1:=sqrt(x1);
writeln('Один корень: ',x1:3:3);
end;
end;
if D<0 then
begin
writeln('Решений нет');
end;
writeln('Выйти из программы:');
readln(s);
if s='no' then goto m1;
end.
- 0 комментариев
- Отметить нарушение!
