Руководство разработчика

Оператор ВЫБОР

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

Синтаксис:

ВЫБОР ( <выражение выбора> )
# <выражение секции 1> [, <выражение секции 2> [, ...]] : <операторы секции 1>
[ # ... ]
[ ИНАЧЕ <операторы секции "иначе"> ]
КОНЕЦ_ВЫБОРА

После ключевого слова ВЫБОР в круглых скобках указывается выражение выбора. Далее следует признак начала секции # со списком выражений секции через запятую и завершающимся двоеточием. За двоеточием следуют операторы секции. Конец секции отмечается символом #, ключевым словом ИНАЧЕ или КОНЕЦ_ВЫБОРА. Последняя секция оператора отмечается ключевым словом КОНЕЦ_ВЫБОРА. Значения выражений секции могут повторяться как в пределах оператора, так и в пределах одной секции. Выполняется первая после ключевого слова ВЫБОР секция, где было обнаружено совпадение значений выбора и секции.

Пример

ВЫЧИСЛИТЬ
  ПЕРЕМ ЧИСЛО: место
  ...
  ВЫБОР (место)
    # 1: СООБЩЕНИЕ("Золото") 
    # 2: СООБЩЕНИЕ("Серебро")
    # 3: СООБЩЕНИЕ("Бронза")
    # 4, 5, 6, 7, 8, 9, 10: СООБЩЕНИЕ("Поощрительная грамота")
  ИНАЧЕ 
    СООБЩЕНИЕ("Главное - не победа, а участие")
  КОНЕЦ_ВЫБОРА
КОНЕЦ

См. также: