Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: { решение уравнения: A*x^2 + B*x + C = 0 } Ошибка в алгоритме.
1
  1  Лукьянов Иван, 26 ноября 2013 г. 18:04:44
      Если A = 0, то уравнение линейное и вашим методом оно решается неправильно. А если ещё и B = 0, то тут либо нет корней (С != 0), либо их бесконечно много (С = 0).
  2  Алексей Зуенок, 26 ноября 2013 г. 12:37:54
      x:=(-b)/2*a;
x:=(-b+sqrt(d))/2*a;
x:=(-b-sqrt(d))/2*a;

корни будут считаться не правильно.
x:=(-b)/(2*a);
x:=(-b+sqrt(d))/2/a;
x:=(-b-sqrt(d))/2/a;
  3  Алексей Зуенок, 26 ноября 2013 г. 12:36:14
      { решение уравнения: A*x^2 + B*x + C = 0 }
var a,b,c,d,x:real;
begin
writeln('введите A,B,C');
readln( a,b,c );
d:=sqr(b)-4*a*c;
if d<0 then begin
writeln('действительных корней нет');
end else if d=0 then begin
x:=(-b)/2*a;
writeln('корень уравнения: ',x);
end else begin
x:=(-b+sqrt(d))/2*a;
writeln('1-й корень уравнения: ',x);
x:=(-b-sqrt(d))/2*a;
writeln('2-й корень уравнения: ',x);
end
end.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru