Информатика. Нужно написать программу, которая решает квадратное уравнение типа 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

29 Сен 2021 в 19:45
191 +1
0
Ответы
1

Здесь основная проблема в расчете корней. Ошибка заключается в том, что в формулах расчета корней отсутствуют скобки для правильного деления на 2*a.

Для исправления этой ошибки вам следует заменить строки:
x1:=−b+sqrt(d)-b+sqrt(d)b+sqrt(d)/2a;
x2:=−b−sqrt(d)-b-sqrt(d)bsqrt(d)/2a;

на строки:
x1:=−b+sqrt(d)-b+sqrt(d)b+sqrt(d)/2<em>a2<em>a2<em>a;
x2:=−b−sqrt(d)-b-sqrt(d)bsqrt(d)/2</em>a2</em>a2</em>a;

После внесения этих изменений программа будет корректно вычислять корни квадратного уравнения.

17 Апр 2024 в 10:49
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир