Помогите найти ошибку в паскале пишет false Program Math1; var a,b,c,D,x,x1,x2: real; begin readln(a,b,c); if b=0 then if (c=0) then writeln( 'x=0') else if (-c/a меньше 0) then writeln('корней нет') else writeln ( x1=sqrt(-c/...

Помогите найти ошибку в паскале пишет false Program Math1; var a,b,c,D,x,x1,x2: real; begin readln(a,b,c); if b=0 then if (c=0) then writeln( 'x=0') else if (-c/a<0) then writeln('корней нет') else writeln ( x1=sqrt(-c/a), x2=-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/a) else writeln ( x1= -b+sqrt(D)/(2*a) , x2= -b-sqrt(D)/(2*a) ) end.
Гость
Ответ(ы) на вопрос:
Гость
{это решение кв. ур, вот немного другой алгоритм:} Program Math; var d,e,f, a, b, c: real; begin writeln('Решение квадратного уравнения(ax^2+bx+c=0).'); write('Введите a: '); readln(a); write('Введите b: '); readln(b); write('Введите c: '); readln(c); d:=sqr(b)-4*a*c; 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, значит 2 корня: '); writeln('x1= ',e-f:6:2); writeln('x2= ',e+f:6:2); end; if(d=0) then writeln(' D=0, значит 1 корень: ',-b/2*a:6:2); if (d<0) then writeln(' D<0, значит корней нет '); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы