Регистрация
Войти
Стать экспертом Правила
Информатика

Проанализируйте задачу решения биквадратного уравнения, составьте алгоритм и напишите программу на Паскале.

ОТВЕТЫ
Биквадратное уравнение имеет вид ax⁴+bx²+c=0
Замена z=y² приводит к уравнению az²+bz+c=0, способ решение которого хорошо известен. Поскольку в задании указан уровень "5-9 классы", варианты с комплексными корнями рассматриваться не будут, т.е. при отрицательном дискриминанте D мы считаем, что корней нет.


var
  a,b,c,d,z1,z2:real;
begin
  Writeln('Введите коэффициенты биквадратного уравнения по убыванию степеней');
  Read(a,b,c);
  d:=b*b-4*a*c;
  if d<0 then Writeln('Нет корней')
  else begin
    d:=sqrt(d);
    z1:=(-b-d)/(2*a);
    z2:=(-b+d)/(2*a);
    if z1<0 then begin
      z1:=z2;
      if z1<0 then Writeln('Нет корней')
      else Writeln(-sqrt(z1),' ',sqrt(z1))
      end
    else begin
      Write(-sqrt(z1),' ',sqrt(z1),' ');
      if z2>=0 then Writeln(-sqrt(z2),' ',sqrt(z2));
      Writeln
      end
    end
end.


165
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам