Используя процедуру нахождения корней квадратного уравнения,написать программу нахождения...

0 голосов
35 просмотров

Используя процедуру нахождения корней квадратного уравнения,написать программу нахождения корней биквадратного уравнения.Паскаль.Выполнить через procedure.


Информатика (21 баллов) | 35 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// 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



(150k баллов)