Информатика. Нужно написать программу, которая решает квадратное уравнение типа ax^2+bx+c=0 Program p2; var a,b,c,d,x1,x2,x:real; begin writeln ('введите числа a b и c'); readln (a,b,c); d:=(b*b-4*a*c); if d>0 then writeln ('в уравнении 2 корня'); if d=0 then writeln ('в уравнении 1 корень'); if d<0 then writeln ('в уравнении нет корней'); if d>0 then x1:=(-b+sqrt(d))/2*a; x2:=(-b-sqrt(d))/2*a; writeln ('x1=',x1); writeln ('x2=',x2); if d=0 then x:=(-b)/2*a; writeln ('x=',x); end. Вместо того, чтобы при d>0 показывать x1 и x2, он считает всё введите числа a b и c 1 -8 12 в уравнении 2 корня x1=6 x2=2 x=0
Здесь основная проблема в расчете корней. Ошибка заключается в том, что в формулах расчета корней отсутствуют скобки для правильного деления на 2*a.
Для исправления этой ошибки вам следует заменить строки:
x1:=(-b+sqrt(d))/2a;
x2:=(-b-sqrt(d))/2a;
на строки:
x1:=(-b+sqrt(d))/(2a);
x2:=(-b-sqrt(d))/(2a);
После внесения этих изменений программа будет корректно вычислять корни квадратного уравнения.