• помогите найти ошибку ( в паскале выдает false) - это программа по решению квадратного уравнения
    Program Math;
    var a,b,c,x,x1,x2,D:real;
    begin
    readln(a,b,c);
    if a=0
    then if b=0
    then if c=0 then writeln('x-любое число') else writeln('корней нет')
    else writeln ('x=',x = -c/b)
    else if b=0 then if c=0 then writeln(x=0)else if (-c/a<0) then writeln ('корней нет')else writeln(x=sqrt(-c/a)) else if c=0 then writeln (x1=0, x2=-b/a) else D:= b*b-4*a*c ; if (D<0) then writeln ('корней нет')
    else if (D=0) then writeln (x=-b/(2*a)) else writeln (x1=(-b+sqrt(D))/2*a, x2=(-b-sqrt(D))/ 2*a)
    end.

Ответы 2

  • Ответ в прикрепленном файле
    answer img
  • {предлагаю немного другой алгоритм решения}Program Math;var x1,x2,d,e,f, a, b, c: real;beginwriteln('Решение квадратного уравнения(ax^2+bx+c=0).'); write('Введите a: '); readln(a); write('Введите b: '); readln(b); write('Введите c: '); readln(c); d:=sqr(b)-4*a*c; writeln('вы ввели:'); writeln('a=',a:6:2); writeln('b=' ,b:6:2); writeln('c=',c:6:2); writeln(' Дискриминант: D=b*b-4*a*c=',d:6:2); if (d>0) then begin e:= (-b/(2*a)); f:= (sqrt(d)/(2*a)); writeln('D>= 0, значит корни действительные: '); writeln('x1= ',(e-f):6:2); writeln('x2= ',(e+f):6:2);end;if (d=0) then writeln('D=0, значит уравнение имеет 1 корень: x1= ',-b/2*a:6:2);if (d<0) then writeln(' D<0, корней нет ');end.
    answer img
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years