Лекция: Вложенные циклы.
Циклы могут быть вложены один в другой. Иначе их называют сложными циклами. При использовании вложенных циклов необходимо составлять программу таким образом, чтобы внутренний цикл полностью укладывался в циклическую часть внешнего цикла. Внутренний цикл может также в свою очередь содержать другой внутренний цикл (циклы). Структуру вложенных циклов рассмотрим на примере.
Пример 6.4. Вычислить значение переменной Y = 2К + N при всех значениях переменных N= 1, 2, 3 и К = 2, 4, 6, 8.
Обратите внимание на то, что если перебирать все значения N и К, получим 12 значений Y.
Составить программу можно, следующим образом: N — параметр внешнего цикла, К — параметр внутреннего цикла. Тогда при одном значении N переменная К будет принимать значения 2, 4, 6, 8. При другом значении N снова переменная К будет принимать значения 2, 4, 6, 8. Предполагается, что все переменные N, К, Y целого типа.
Фрагмент циклической части программы имеет вид
PROGRAM D2;
VAR N,K,Y:INTEGER;
BEGIN
FOR N:=1 TO 3 DO
BEGIN
K:=2;
WHILE K<=8 DO
BEGIN
V:=2*K+N;
WRITELN(N:4, K:4, Y:4);
K:=K+2
END
END
END.
Здесь внешний цикл организован с использованием оператора FOR, а внутренний — с использованием оператора WHILE. В процессе выполнения вложенных циклов переменные получат следующие значения:
| N |
| K |
| Y |
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1. Каково назначение операторов цикла?
2. Укажите отличительные особенности каждого из трех операторов цикла.
3. Будет ли выполняться циклическая часть программы, если логическое
выражение является ложным с самого начала в операторе цикла WHILE?
4. Можно ли изменять программным путем параметр цикла циклической
части оператора FOR?
5. Чему равен шаг изменения параметра цикла в операторе FOR?
6. Будет ли выполняться циклическая часть программы, если логическое
выражение истинно с самого начала в операторе REPEAT?