Вопрос задан 04.05.2018 в 17:09. Предмет Информатика. Спрашивает Хабибуллин Салават.

Даны действительные числа a,b,c (a>0).полностью исследовать биквадратное уравнение

a*x^4+b*x^2+c=0. Паскаль!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лугіна Аня.

Var
  a, b, c, D, x1, x2, x3, x4, y1, y2: double;

begin
  Write('Введите через пробел коэффициенты a,b,c: ');
  Readln(a, b, c);
  if b = 0 then begin
    if c > 0 then Writeln('Нет действительных корней')
    else
    if c = 0 then Writeln('Единственный корень x=0')
    else begin
      y1 := -c / a;
      if y1 > 0 then begin
        y1 := sqrt(y1); x1 := -sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
      else
        Writeln('Нет действительных корней')
    end
  end
  else
  if c = 0 then
    if b > 0 then Writeln('Единственный корень x=0')
    else begin
      y1 := -b / a;
      if y1 > 0 then begin
        x1 := sqrt(-b / a); x2 := -x1;
        Writeln('Три действительных корня: 0, ', x1, ', ', x2)
      end
      else
        Writeln('Единственный корень x=0')
    end
  else begin
    D := sqr(b) - 4 * a * c;
    if D < 0 then Writeln('Нет действительных корней')
      else
    if D = 0 then begin
      y1 := -b / (2 * a);
      if y1 < 0 then
        Writeln('Нет действительных корней')
      else begin
        x1 := sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
    end
    else begin
      D := sqrt(D);
      y1 := (-b - D) / (2 * a); y2 := (-b + D) / (2 * a);
      if y1 < 0 then
        if y2 < 0 then Writeln('Нет действительных корней')
        else begin
          x1 := -sqrt(y2); x2 := -x1;
          Writeln('Два действительных корня: ', x1, ', ', x2)
        end
          else
      if y2 < 0 then begin
        x1 := -sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
      else begin
        x1 := -sqrt(y1); x2 := -x1;
        x3 := -sqrt(y2); x4 := -x3;
        if x1 = x2 then
          Writeln('Три действительных корня: ', x1, ', ', x3, ', ', x4)
              else
        if x3 = x4 then
          Writeln('Три действительных корня: ', x1, ', ', x2, ', ', x3)
        else
          Writeln('Четыре действительных корня: ', x1, ', ', x2, ', ', x3, ', ', x4)
      end
    end
  end
end.

Тестовое решение:
Введите через пробел коэффициенты a,b,c: 1 -25 144
Четыре действительных корня: -3, 3, -4, 4

Введите через пробел коэффициенты a,b,c: -1 -4 5
Два действительных корня: -1, 1



0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос