Вопрос задан 09.03.2021 в 04:19. Предмет Информатика. Спрашивает Баттхёртов Мухаммед.

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В вашей программе есть несколько ошибок. Вот исправленный вариант:

pascal
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 BEGIN WRITELN(' И ИХ ДВА'); B := -B; X1 := (B + SQRT(D)) / (4 * A); X2 := (B - SQRT(D)) / (4 * A); WRITELN(X1, X2); END ELSE BEGIN WRITELN(' И ОНО ВСЕГО ОДНО'); X1 := -B / (2 * A); WRITELN(X1); END; END ELSE WRITELN('РЕШЕНИЙ НЕ СУЩЕСТВУЕТ'); END.

Внесенные изменения:

  1. Добавлено ключевое слово BEGIN перед вторым оператором IF, чтобы начать блок кода.
  2. Добавлено ключевое слово END перед оператором BEGIN, чтобы закрыть блок кода после первого IF.
  3. Исправлены формулы для вычисления X1 и X2, чтобы правильно использовать скобки.
  4. Добавлено вычисление X1 и его вывод на экран, когда уравнение имеет только одно решение.
  5. Добавлен оператор ELSE после второго IF, чтобы обработать случай, когда D меньше или равно 0 и уравнение не имеет решений.

Эти изменения должны помочь исправить ошибки в вашей программе.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос