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

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

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

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

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

textual
Листинг программы
var
    a, b, c: Single;
    sq1, sq2: Double;
begin
    Write('Input a, b, c: '); ReadLn(a, b, c);
    if (a = 0) //вообще не хорошо на равенство число с плавающей точкой сравнивать
    then
    begin
        if (b = 0)
        then
        begin
            if (c = 0)
            then
                Write('Infinite set of solution')
            else
                Write('No one solution');
        end
        else
        begin
            sq1 := c / b;
            if (sq1 < 0)
            then
                Write('2 imaginary solution')
            else
            begin
                sq1 := Sqrt(sq1);
                WriteLn('x1 = ', sq1:0:3);
                Write('x2 = ', -sq1:0:3);
            end;
        end;
    end
    else
    begin
        sq1 := (-b + Sqrt(Sqr(b) + 4 * a * c)) / 2 / a;
        sq2 := (-b - Sqrt(Sqr(b) + 4 * a * c)) / 2 / a;
        if (sq1 < 0)
        then
            WriteLn('2 imaginary solution')
        else
        begin
            sq1 := Sqrt(sq1);
            WriteLn('x1 = ', sq1:0:3);
            Write('x2 = ', -sq1:0:3);
        end;
        if (sq2 < 0)
        then
            Write('2 imaginary solution')
        else
        begin
            sq2 := Sqrt(sq2);
            WriteLn('x3 = ',  sq2:0:3);
            Write('x4 = ',   -sq2:0:3);
        end
    end;
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
Похожие ответы