AJ
Ali Jabbor

Помогите! Как в Pascal ABC написать: если (...<...), то (...)?

Написал программу для решения квадратных уравнений. Вот она:
program KopHu_ypaBHeHuu;
uses crt;
var a, b, c: integer;
D, x1, x2: real;
begin
writeln ('Введите коэфиценты a, b и c последовательно, между ними нажимая "Ввод"');
readln (a);
readln (b);
readln (c);
writeln ('Решение: ');
writeln (a, '*sqr(x)+', b, '*x+', c, '=0');
writeln ('D=sqr(b)-4*a*c=', sqr(b), '-', '4*', a, '*', c, '=', b*b-4*a*c);
D:= b*b-4*a*c;
writeln ('x1=(-b+sqrt(D))/2*a=(', -b, '+sqrt(', D, '))/2*', a, '=', (-b+sqrt(D))/2*a);
writeln ('x2=(-b-sqrt(D))/2*a=(', -b, '-sqrt(', D, '))/2*', a, '=', (-b-sqrt(D))/2*a);
x1:= (-b+sqrt(D))/2*a;
x2:= (-b-sqrt(D))/2*a;
writeln ('Ответ: x1=', x1, ';');
writeln (' x2=', x2, '.');
writeln ('Примечание: ');
writeln ('1) Буквы sqr - возведение числа в скобках в квадрат, например: sqr(2)=4;');
writeln ('2) Буквы sqrt - квадратный корень из числа в скобках, например: sqrt(9)=3.');
end.
Но она рассчитана исключительно на Дискриминант > 0...
Надо убрать эту проблему.. .
Помогите, пожалуйста.

Na
Natka

И зачем тебе выводить на экран с пояснениями все промежуточные этапы?
Разумеется, несложно решать и с дискриминантом меньше нуля, но корни тогда будут комплексные. По моему, с учетом твоей росписи в программе чуть ли не выполнения умножений, рассчитывать на знание пользователем комплексных чисел будет перебор.
Так что проще действительно если дискриминант меньше нуля, выдать сообщение и закончить выполнение.
Замечу, кстати, что в вычислительной математике, по рецептам которой пишутся вычислительные программы для компьютеров, корни следует вычислять по несколько более сложному алгоритму, чтобы обойти случаи неточного решения из-за вычитания близких чисел, но это к слову.
А вот что важно, это что у тебя формулы записаны неправильно. Должно быть не /2*a, а /(2*a) или, еще лучше, /2/a

Инна
Инна

перед темкак писать добовляеш проверку D>0? делаеш;
else дальнейшая проверка или пишеш что уравнение не решаемо

Похожие вопросы
Помогите Решить в Pascal ABC
че то не то намутил! помогите !? Pascal ABC
Помогите написать решение задачи в Pascal ABC
ABC Pascal написать подпрограмму
Pascal abc. Помогите пожалуйста даром.
составте программу или помогите ( pascal ABC)
Помогите пожалуйста с PASCAL ABC
помогите написать программу Pascal ABC
Помогите по Pascal ABC
Помогите с Pascal ABC Как сделать команду для нахождения наибольшего и наименьшего числа в Pascal ABC