Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Оператор варианта (case)

Оператор варианта (casе) состоит из выражения (переключате-

ля) и списка операторов, каждому из которых предшествует одна или

более констант (они называются константами выбора) или ключевое

слово else. Переключатель (селектор) должен иметь порядковый тип

(размером в байт или слово). Таким образом, строковый тип и длин-

ный целый тип являются недопустимыми типами переключателя. Все

константы выбора должны быть уникальными и иметь порядковый тип,

совместимый с типом переключателя.

-----¬ ----------¬ ---¬ -----¬

оператор case ->¦case+-->¦выражение+-->¦of+----->¦case+--T--¬

L----- L---------- L--- ^ L----- ¦ ¦

¦ -----¬ ¦ ¦

L---+ ; ¦<-- ¦

L----- ¦

-----------------------------------------

¦ ----¬

L-T--------------------T---------->¦end+-->

¦ -----------¬ ^ ¦ ----¬ ^ L----

L-->¦ветвь else+--- L->¦ ; +---

L----------- L----

---------------------¬

----------¬ ¦ ---¬ ----------¬ v ----¬ ---------¬

case -->¦константа+-+->¦..+->¦константа+--T->¦ : +->¦оператор+->

^ L---------- L--- L---------- ¦ L---- L---------

¦ ----¬ ¦

L-----------------+ , ¦<--------------

L----

-----¬ ---------¬

ветвь else ---->¦else+--->¦оператор+--->

L----- L---------

Оператор варианта case приводит к выполнению оператора, ко-

торому предшествует константа выбора, равная значению переключа-

теля или диапазону выбора, в котором находится значение переклю-

чателя. Если такой константы выбора или такого диапазона выбора

не существует и присутствует ветвь else, то выполнятся оператор,

следующий за ключевым словом else. Если же ветвь else отсутству-

ет, то никакой оператор не выполняется.

Приведем некоторые примеры оператора варианта:

case Operator of

plus: X := X+Y;

minus: X := X-Y;

times: X := X*Y;

end;

case I of

0, 2, 4, 6, 8: Writeln('Четная цифра');

1, 3, 5, 7, 9: Writeln('Нечетная цифра');

10..100: Writeln('Между 10 и 100');

end;

Оператор цикла

Оператор цикла задает повторное выполнение определенных опе-

раторов.

------------------¬

оператор цикла ---T-->¦ оператор repeat +------>

¦ L------------------ ^

¦ ------------------¬ ¦

+-->¦ оператор while +--+

¦ L------------------ ¦

¦ ------------------¬ ¦

L-->¦ оператор for +---

L------------------

Если число повторений заранее известно, то подходящей конс-

трукций является оператор for. В противном случае следует исполь-

зовать операторы while или repeat.

Для управления повторением операторов можно использовать

стандартные процедуры Break и Continue. Break завершает оператор

цикла, а Continue продолжает со следующей итерации этого операто-

ра. Подробности вы можете найти в Главе 1 "Справочного руководс-

тва программиста".

Соседние файлы в предмете Программирование на Pascal