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

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

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

на строки:
x1:=(-b+sqrt(d))/(2a);
x2:=(-b-sqrt(d))/(2a);

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

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