Помогите найти ошибку в паскале пишет false Program Math1; var a,b,c,D,x,x1,x2: real;...

0 голосов
50 просмотров

Помогите найти ошибку в паскале пишет 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))<br> 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) )<br> end.


Информатика (132 баллов) | 50 просмотров
0

Попробуй в каждый if вставить begin... end; перед елсе ; не ставится

Дан 1 ответ
0 голосов
Правильный ответ

{это решение кв. ур, вот немного другой алгоритм:}
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<br>writeln(' D<0, значит корней нет ');<br>end.

(149k баллов)
0

F PFXTV VS 6 LTKBV YF 2

0

а зачем мы 6 делим на2

0

это не деление, это означает, что мы оставляем для числа 6 разрядов, 2 из которых после запятой

0

Все правильно