Оператор CaseOfEnd

Оператор выбора case...of...end

 

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

case переключатель of

  список выбора 1: оператор1;

  ...

  список выбора N: операторN;

  else оператор0

end;

Переключатель представляет собой выражение порядкового типа (целого, символьного, перечислимого или интервального), а списки выбора содержат константы совместимого типа. Как и в операторе if, ветка else может отсутствовать.

Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.

Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b (константа a должна быть меньше константы b); можно также перечислить несколько констант или диапазонов через запятую:

case DayOfWeek of

  1..5: writeln('Будний день');

  6,7: writeln('Выходной день');

end;

Списки выбора не должны пересекаться. Например, следующий фрагмент

case i of

  2,5: write(1);

  4..6: write(2);

end;

приведет к ошибке компиляции "Пересечение диапазонов меток в операторе case".

Четверг
28.03.2024
11:18
Поиск
Календарь
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031