Решение квадратного уравнения в комплексных числах - Prolog
Формулировка задачи:
Доброго времени суток. Помогите, пожалуйста, с программой, решающей квадратное уравнение в комплексных числах. Изначально было задание просто составить программу, решающую квадратное уравнение. Однако было добавлено еще условие, что при дискриминанте меньше 0 нужно решить квадратное уравнение в комплексных числах. Вопрос, как это сделать?
Перепробовал много, вот текст программы.
Решение задачи: «Решение квадратного уравнения в комплексных числах»
textual
Листинг программы
reply(A,B,D):-
D < 0,
Im = sqrt(-D)/(2*A),
Re = -B/(2*A),
write("Квадратное уравнение имеет корни X1=", Re, "-", Im, "i, X2= ", Re, "+", Im, "i").
Объяснение кода листинга программы
- В первой строке кода используется оператор
<для сравнения значения переменной D с нулем. - Если D < 0, то выполняется следующая инструкция.
- Значение переменной Im вычисляется с помощью функции sqrt(-D) и делится на 2*A.
- Значение переменной Re вычисляется с помощью формулы -B/(2*A).
- Выполняется функция write, которая выводит на экран сообщение
Квадратное уравнение имеет корни X1=, за которым следуют значения переменных Re и Im, разделенные знаком-, а затемi, X2=и снова значения переменных Re и Im, разделенные знаком+, и сноваi. - Код завершается точкой.