Вопрос задан 25.02.2026 в 09:17. Предмет Информатика. Спрашивает Кан Ника.

В каком из условных операторов допущена синтаксическая ошибка? 1. if B = then Writeln ('Деление на ноль невозможно'); 2. if a > b then max:= a else max:= b; 3. if (a > b) and (b > 0) then c:=a+b; 4. if a < b then min:= a; else min:= b;

Перейти к ответам

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

Отвечает Смирнов Евгений.

Синтаксическая ошибка допущена в варианте 4:

4. if a < b then min:= a; else min:= b;

В Паскале точка с запятой разделяет операторы. Когда вы пишете:

if a < b then min := a;

— это уже завершённый условный оператор без ветки else. После этого слово else оказывается «само по себе», без соответствующего if, и компилятор выдаёт синтаксическую ошибку.

Правильно писать так (без ; перед else):

if a < b then min := a else min := b;

(Либо, если нужны составные операторы, то через begin ... end, и тогда ; ставятся внутри блока, но не перед else.)

Похожие вопросы

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

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

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