Информатика, вопрос задал gorky150Kirich , 7 лет назад

Написал программу, в конце второго оператора IF выдает ошибку, помогите пожалуйста.

PROGRAM URAVNENII;
VAR A,B,C,D,X1,X2 : REAL;
BEGIN
WRITELN ('ВВЕДИТЕ ЗНАЧЕНИЯ СТАРШЕГО (A) ВТОРОГО (B) И СВОБОДНОГО (С) ЧЛЕНОВ');
READLN (A,B,C);
D:= SQR(B)-4*A*C;
IF (D>=0)
THEN WRITE ('РЕШЕНИЯ СУЩЕСТВУЮТ');
IF (D>0)
THEN WRITELN ('И ИХ ДВА')
ELSE WRITELN ('И ОНО ВСЕГО ОДНО')
ELSE WRITELN ('РЕШЕНИЙ НЕ СУЩЕСТВУЕТ')
BEGIN
D:= SQR(B)-4*A*C;
IF (D>=0)
THEN B:= -B
X1:=(B+SQRT(D))/4*A
X2:=(B-SQRT(D))/4*A
WRITELN (X1,X2)
ELSE exit
end;
end.

Ответы на вопрос

Ответил shavrinatv
0

Ответ:

Немного подправила.

Объяснение:

PROGRAM URAVNENII;

VAR A,B,C,D,X1,X2 : REAL;

BEGIN  

WRITELN ('ВВЕДИТЕ ЗНАЧЕНИЯ СТАРШЕГО (A) ВТОРОГО (B) И СВОБОДНОГО (С) ЧЛЕНОВ');

READLN (A,B,C);

D:= SQR(B)-4*A*C;

IF (D>=0)then

begin  

WRITE ('РЕШЕНИЯ СУЩЕСТВУЮТ');

IF (D>0)THEN WRITELN (' И ИХ ДВА')

ELSE WRITELN (' И ОНО ВСЕГО ОДНО');

B:= -B;

X1:=(B+SQRT(D))/4*A;

X2:=(B-SQRT(D))/4*A;

if D=0 then WRITELN ('X=',X1)

else WRITELN ('X1=',X1,' X2=',X2);

end

ELSE WRITELN ('РЕШЕНИЙ НЕ СУЩЕСТВУЕТ');

end.

Новые вопросы