Цикл FOR.

Лекция 19.

Операторы выбора.

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

 

CASE<селектор>OF

<значение селектора>:<оператор1>;

<значение селектора>:<оператор2>;

<значение селектора>:<операторN>;

ELSE <оператор>

END;

В качестве селектора могут служить переменные символьного и целочисленных типов. Данные типа real и string для селектора запрещены.

В зависимости от значения селектора выполняется соответствующий этому значению оператор. Значения селектора могут быть заданы тремя способами:

перечислением: 1,3,5,7
диапазоном: ′a′..′z′
перечислением + диапазоном: 1..5,7,9,11,21..31

Оператор CASE удобен и часто используется программистами.

Примеры :

CASE с селектором типа integer: CASE с селектором типа char
X:=2; Ch:=′f′;
CASE X OF CASE Ch OF
1,3,5:WRITE (′Нечетное число′); ′+′,′-′,′+′,’*’: WRITE (′Операция′);
2,4,6:WRITE (′Четное число′); ′a′..′я′,′a′..′z′: WRITE (′c.буква′);
7..20:WRITE (′Диапазон 7-20′); ′A′..′Я′,′A′..′Z′: WRITE (′n.буква′);
ELSE: WRITE (′Вне диапазона 1..20′) ELSE: Write(′Не операция, не буква′);
END; END;
Результат: Четное число Результат: с.буква

Все другие операторы CASE строятся в полной аналогии с представленными.

Str: = ′Start′;

CASE Str OF

′Start′: WRITELN (′Старт системы!′);

′Stop′: WRITELN (′Остановить работу!′);

END;

Контрольные вопросы.

1. Какие операторы называются операторами ветвления?

2. Как записывается оператор безусловного перехода?

3. Какова форма записи операторов условного перехода?

4. Когда можно использовать оператор выбора?


Тема: «Организация циклических вычислений».

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

FOR i: =A TO B DO<тело цикла>

FOR I: =A DOWNTO B DO<тело цикла>

Где I-идентификатор переменной, являющейся параметром цикла, А- начальное значение параметра цикла, B- конечное значение параметра цикла.

Тело цикла может состоять из одного или нескольких операторов. Если тело цикла состоит более чем из одного оператора его необходимо заключить в операторные скобки (Begin-end).

Оператор цикла FOR обеспечивает выполнение тела цикла до тех пор, пока параметр цикла не станет равным конечному значению.

TO, DOWNTO указывает на направление изменения значения параметра цикла, т.у. TO- возрастание, DOWNTO-убывание.

Пример

FOR I:=1TO 100 DO WRITELN(I);

На экране появляется цифры от 1 до 100.

FOR I:=100 DOWNTO 1 DO WRITELN(I);

На экране появляется цифры от 100 до 1

При первом обращении к циклу FOR переменной I присваивается значение A, при втором обращении к циклу переменной I присваивается значение A+1 (to),

A-1 (downto) и так далее до тех пор, пока переменная I не примет значение B.

Существуют некоторые ограничения на использование параметра цикла:

1. В качестве параметра должна использоваться простая переменная дискретного типа.

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

3 В теле цикла запрещается изменение значения параметра цикла.