Условный оператор в программировании
💻 Информатика · 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точка с запятой не ставится.