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

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

Написал программу, в конце второго оператора 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.


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

Какую ошибку выдает?

Дан 1 ответ
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.

(3.3k баллов)