Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для случаев, когда требуется выбор одного значения из конечного набора вариантов, оператор if удобнее заменять оператором выбора (переключателем) case:
case выражение of
список1: оператор1;
список2: оператор2;
...
списокN: операторN;
else оператор0;
end;
Оператор выполняется так же, как составной условный оператор.
Выражение должно иметь порядковый тип (целый или символьный). Элементы списка перечисляются через запятую, ими могут быть константы и диапазоны значений того же типа, что тип выражения. Диапазоны указываются в виде:
Мин.значение.. Макс.значение
Оператор диапазона записывается как два рядом стоящих символа точки. В диапазон входят все значения от минимального до максимального включительно.
В качестве примера по номеру месяца m определим число дней d в нем:
case m of
1,3,5,7..8,10,12: d:=31;
2: d:=28;
4,6,9,11: d:=30;
end;
Следующий оператор по заданному символу c определяет, к какой группе символов он относится:
case c of
'A'..'Z','a'..'z':
writeln ('Латинская буква');
'А'..'Я','а'..'п','р'..'я':
writeln ('Русская буква');
'0'..'9':
writeln ('Цифра');
else writeln ('Другой символ');
end;
Здесь отдельные диапазоны для русских букв от "а" до "п" и от "р" до "я" связаны с тем, что между "п" и "р" в кодовой таблице DOS находится ряд не-буквенных символов (см. Приложение 1).
Если по ветви оператора case нужно выполнить несколько операторов, действует то же правило, что для оператора if, т. е. ветвь алгоритма заключается в операторные скобки begin... end;.
Дата публикования: 2014-10-29; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!