Перейти к основному содержимому

Инструкция «выбор»

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

Синтаксис

выбор [выражение-выбора]
когда выражение-сравнения[, выражение-сравнения]
инструкции-языка
[когда выражение-сравнения[, выражение-сравнения]
инструкции-языка]
[иначе
инструкции-языка]
;
  • выражение-выбора

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

  • выражение-сравнения

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

    • Полноценное выражение:

      В этом случае проверяется следующее условие: выражение-выбора == выражение-сравнения. Если используется предикатная форма инструкции, то выражение-сравнения должно представлять собой полноценное логическое выражение, которое возвращает результат Истина или Ложь.

    • Частичное бинарное выражение:

      логическая-операция выражение-сравнения

      В такое выражение могут входить операции сравнения (==, != и т. д.) и операция это. В этом случае проверяется следующее условие:

      выражение-выбора логическая-операция выражение-сравнения

      Если выражения сравнения перечислены через запятую, это означает, что перечисленные условия будут объединены по «ИЛИ».

Принцип работы

  1. Полная форма:
    • Выполняется вычисление значения выражение-выбора.
    • Для каждого условия (или набора условий), указанного в ветках когда, выполняется сравнение выражение-выбора и выражение-сравнения.
    • Если результат сравнения равен Истина, то выполняются инструкции языка после соответствующей строки. Затем управление передается в инструкцию языка, которая следует за символом ;, закрывающим инструкцию выбор. Проверка условий выполняется в порядке следования ключевых слов когда.
  2. Предикатная форма:
    • Для каждой ветки когда выполняется вычисление выражения выражение-сравнения.
    • Если результат сравнения равен Истина, то выполняются инструкции языка после соответствующей строки. Затем управление передается в инструкцию языка, которая следует за символом ;, закрывающим инструкцию выбор. Проверка условий выполняется в порядке следования ключевых слов когда.

При любом варианте использования инструкции выбор, если ни одно из условий не было выбрано, а в инструкции присутствует ветвь иначе, управление будет передано в нее.

Пример

Выполнение операций над массивами
метод ВыполнитьОперацию(Операция: ВидОперации, Массив: Массив<Число>): Число
если Массив.Размер() == 0
выбросить новый ИсключениеНедопустимыйАргумент("Массив не может быть пустым.")
;

выбор Операция
когда Сумма
возврат Массив.Сумма()
когда Среднее
возврат Массив.Среднее()
когда Максимум
возврат Массив.Максимум()
когда Минимум
возврат Массив.Минимум()
иначе
выбросить новый ИсключениеНедопустимыйАргумент("Неподдерживаемая операция.")
;
;

перечисление ВидОперации
Сумма,
Среднее,
Максимум,
Минимум
;

метод ВыполнитьВычисления()
знч Массив = [10, 20, 30, 40, 50]
знч Сумма = ВыполнитьОперацию(ВидОперации.Сумма, Массив) // 150
знч Среднее = ВыполнитьОперацию(ВидОперации.Среднее, Массив) // 30
знч Максимум = ВыполнитьОперацию(ВидОперации.Максимум, Массив) // 50
знч Минимум = ВыполнитьОперацию(ВидОперации.Минимум, Массив) // 10
;