P
pro·school.ru
Каталог школ

Условный оператор в программировании

💻 Информатика · 8 класс

Зачем нужен условный оператор

Программа не всегда выполняет команды строго по порядку: часто нужно выбрать одно из нескольких действий в зависимости от условия. За такой выбор отвечает условный оператор. Он проверяет логическое условие и, в зависимости от того, истинно оно или ложно, выполняет тот или иной набор команд. Это основной способ реализации ветвления в программе.

Полная и неполная форма

Полная форма содержит две ветви: что делать, если условие истинно, и что делать в противном случае. Неполная форма содержит только первую ветвь — если условие ложно, ничего не происходит. На языке Паскаль это выглядит так:

if условие then действие1 else действие2; { полная форма } if условие then действие1; { неполная форма }

Пример: поиск большего числа

Программа сравнивает два числа и выводит большее. Здесь применяется полная форма:

if a > b then writeln(a) else writeln(b);

Если значение переменной a больше b, выполнится первая ветвь, иначе — вторая.

Операции сравнения

ОперацияСмысл
=равно
<>не равно
<меньше
>больше
<=меньше или равно
>=больше или равно

Составные условия

Несколько простых условий объединяют логическими операциями and (И), or (ИЛИ), not (НЕ). Например, проверка того, что число попадает в промежуток от одного до десяти:

if (x >= 1) and (x <= 10) then writeln('число в диапазоне');

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

Вложенные ветвления

Внутри одной ветви можно поставить другой условный оператор — получится вложенное ветвление. Так реализуют выбор из трёх и более вариантов, например определение знака числа: положительное, отрицательное или ноль:

if x > 0 then writeln('положительное') else if x < 0 then writeln('отрицательное') else writeln('ноль');

Составной оператор

Если в ветви нужно выполнить не одно, а несколько действий, их объединяют в составной оператор — заключают между служебными словами begin и end. Тогда весь блок воспринимается как одна команда:

if a > b then begin max := a; writeln('первое больше'); end;

Без этих слов к ветви относилась бы только первая команда, а остальные выполнялись бы всегда — это распространённый источник ошибок в программах.

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

Кратко о главном

  • Условный оператор выбирает действие по результату проверки условия.
  • Полная форма имеет ветвь else, неполная — нет.
  • Простые условия в составном выражении берут в скобки.
  • Вложенные ветвления позволяют выбирать из нескольких вариантов.
  • Перед else точка с запятой не ставится.