Найти действительные корни уравнения Ax^4+Bx^2-C=0 - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Найти действительные корни уравнения Ax^4+Bx^2-C=0

Решение задачи: «Найти действительные корни уравнения Ax^4+Bx^2-C=0»

textual
Листинг программы
  1. var
  2.     a, b, c: Single;
  3.     sq1, sq2: Double;
  4. begin
  5.     Write('Input a, b, c: '); ReadLn(a, b, c);
  6.     if (a = 0) //вообще не хорошо на равенство число с плавающей точкой сравнивать
  7.     then
  8.     begin
  9.         if (b = 0)
  10.         then
  11.         begin
  12.             if (c = 0)
  13.             then
  14.                 Write('Infinite set of solution')
  15.             else
  16.                 Write('No one solution');
  17.         end
  18.         else
  19.         begin
  20.             sq1 := c / b;
  21.             if (sq1 < 0)
  22.             then
  23.                 Write('2 imaginary solution')
  24.             else
  25.             begin
  26.                 sq1 := Sqrt(sq1);
  27.                 WriteLn('x1 = ', sq1:0:3);
  28.                 Write('x2 = ', -sq1:0:3);
  29.             end;
  30.         end;
  31.     end
  32.     else
  33.     begin
  34.         sq1 := (-b + Sqrt(Sqr(b) + 4 * a * c)) / 2 / a;
  35.         sq2 := (-b - Sqrt(Sqr(b) + 4 * a * c)) / 2 / a;
  36.         if (sq1 < 0)
  37.         then
  38.             WriteLn('2 imaginary solution')
  39.         else
  40.         begin
  41.             sq1 := Sqrt(sq1);
  42.             WriteLn('x1 = ', sq1:0:3);
  43.             Write('x2 = ', -sq1:0:3);
  44.         end;
  45.         if (sq2 < 0)
  46.         then
  47.             Write('2 imaginary solution')
  48.         else
  49.         begin
  50.             sq2 := Sqrt(sq2);
  51.             WriteLn('x3 = ',  sq2:0:3);
  52.             Write('x4 = ',   -sq2:0:3);
  53.         end
  54.     end;
  55. end.

Объяснение кода листинга программы

  1. Объявление переменных a, b, c типа Single для хранения коэффициентов уравнения.
  2. Запрос на ввод коэффициентов a, b, c с помощью функции ReadLn.
  3. Проверка на равенство a нулю. Если условие выполняется, то программа переходит к следующему пункту.
  4. Проверка на равенство b нулю. Если условие выполняется, то программа переходит к следующему пункту.
  5. Вычисление значения sq1 как частное c на b.
  6. Проверка на отрицательность значения sq1. Если условие выполняется, то программа переходит к следующему пункту.
  7. Вычисление значения sq1 как квадратного корня из предыдущего значения.
  8. Вывод значения x1 с точностью до 3 знаков после запятой.
  9. Вывод значения x2 с точностью до 3 знаков после запятой.
  10. Вычисление значения sq2 как частное c на b.
  11. Проверка на отрицательность значения sq2. Если условие выполняется, то программа переходит к следующему пункту.
  12. Вычисление значения sq2 как квадратного корня из предыдущего значения.
  13. Вывод значения x3 с точностью до 3 знаков после запятой.
  14. Вывод значения x4 с точностью до 3 знаков после запятой.

ИИ поможет Вам:


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

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы