Цикл 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 В теле цикла запрещается изменение значения параметра цикла.