ВУЗ:
Составители:
Рубрика:
55
Когда в операторе цикла с параметром используется служебное
слово
downto, значение управляющей переменной уменьшается при
каждом повторении цикла на единицу. Если начальное значение в таком
операторе меньше, чем конечное, то содержащийся в теле цикла оператор
не выполняется ни разу.
Организация вложенных циклов
Вложенные циклы
Внутри одного цикла может находиться другой цикл со своими
операторами. Во внутренний цикл может быть вложен еще один цикл и
так далее. Допустимое число вложенных циклов зависит от операционной
системы компьютера. По конструкции вложенные циклы похожи на
“матрешки” их можно вкладывать один в другой или расставлять друг за
другом, но он
и никогда не должны пересекаться.
Вложенные циклы могут быть выполнены как с оператором цикла с
параметром или оператором цикла с предусловием, так и с оператором
цикла с постусловием.
FOR I=1 TO 10
FOR K=. . .
FOR L=. . .
N
EXT L
N
EXT
K
N
EXT I
FOR I=1 TO 10
FOR K=. . .
FOR L=. . .
N
EXT
K
N
EXT L
N
EXT I
FOR I=1 TO 10
N
EXT I
N
EXT
K
FOR K=. . .
б). в).а).
Рисунок 46 Конструкции циклов (а, б – допустимые конструкции;
в – недопустимая конструкция)
Правила организации вложенных циклов
1. Параметры циклов должны обозначаться различными
идентификаторами.
2. Области действия различных циклов не должны пересекаться.
3. Запрещена передача управления в область действия оператора
цикла, минуя его заголовок, но можно выходить из цикла до его
завершения.
56
4. Запре
щается изменять внутри цикла и его расширенной области
действия значения параметра цикла (это прерогатива ЭВМ).
5. Разрешается передача управления из расширенной области
действия оператора цикла внутрь цикла, минуя его заголовок, так
как допустимые значения параметра цикла уже определены.
Параметры вложенных циклов изменяются асинхронно, то есть с
различной скоростью. При каждом знач
ении параметра внешнего цикла
параметр внутреннего цикла проходит все свои значения от начального
значения до конечного значения. Это означает, что параметр внешнего
цикла меняется медленнее, чем внутреннего. Аналогично двигаются
часовая и минутная стрелки часов. При каждом значении часа (внешний
цикл) минутная стрелка (внутренний цикл) пробегает все свои значения.
Пример 20 Использование вл
оженных циклов
Программа 14
Var I,K:byte;
Begin {Внешний цикл}
For I:=1 to 3 do begin
write('I=',I,' K=');
{Внутренний цикл}
For K:=1 to 4 do
write(K:3); end;
End.
Пример 21 Замечание программисту
Познакомившись с вложенными циклами, надо помнить об
асинхронности изменения параметров, а помнят лишь, что при этом
изменяются две переменные. Одновременность изменения двух
переменных исключает использование цикла в цикле.
Программа 15 Одновременное изменение двух переменных
Var X,Z: integer;
Begin writeln('X Z')';
Z:=-1;
For X:=1 to 3 do begin
Z:=Z+2;
writeln(X,' ':3,Z); end;
End.
I = 1_K =_ _1_ _2_ _3_ _4
I = 2_K =_ _1_ _2_ _3_ _4
I = 3_K =_ _1_ _2_ _3_ _4
Результат выполнения программы
X _ _ _ Z
1 _ _ _ 1
2 _ _ _ 3
3 _ _ _ 5
Результат выполнения программы
Когда в операторе цикла с параметром используется служебное 4. Запрещается изменять внутри цикла и его расширенной области слово downto, значение управляющей переменной уменьшается при действия значения параметра цикла (это прерогатива ЭВМ). каждом повторении цикла на единицу. Если начальное значение в таком 5. Разрешается передача управления из расширенной области операторе меньше, чем конечное, то содержащийся в теле цикла оператор действия оператора цикла внутрь цикла, минуя его заголовок, так не выполняется ни разу. как допустимые значения параметра цикла уже определены. Организация вложенных циклов Параметры вложенных циклов изменяются асинхронно, то есть с различной скоростью. При каждом значении параметра внешнего цикла параметр внутреннего цикла проходит все свои значения от начального Вложенные циклы значения до конечного значения. Это означает, что параметр внешнего Внутри одного цикла может находиться другой цикл со своими цикла меняется медленнее, чем внутреннего. Аналогично двигаются операторами. Во внутренний цикл может быть вложен еще один цикл и часовая и минутная стрелки часов. При каждом значении часа (внешний так далее. Допустимое число вложенных циклов зависит от операционной цикл) минутная стрелка (внутренний цикл) пробегает все свои значения. системы компьютера. По конструкции вложенные циклы похожи на матрешки их можно вкладывать один в другой или расставлять друг за Пример 20 Использование вложенных циклов другом, но они никогда не должны пересекаться. Программа 14 Вложенные циклы могут быть выполнены как с оператором цикла с Var I,K:byte; параметром или оператором цикла с предусловием, так и с оператором Begin {Внешний цикл} цикла с постусловием. I=1_K=_ _1_ _2_ _3_ _4 For I:=1 to 3 do begin FOR I=1 TO 10 FOR I=1 TO 10 FOR I=1 TO 10 write('I=',I,' K='); I=2_K=_ _1_ _2_ _3_ _4 FOR K=. . . {Внутренний цикл} FOR K=. . . FOR K=. . . I=3_K=_ _1_ _2_ _3_ _4 FOR L=. . . NEXT K For K:=1 to 4 do NEXT I Результат выполнения программы write(K:3); end; FOR L=. . . End. NEXT L NEXT K NEXT K NEXT L Пример 21 Замечание программисту NEXT I NEXT I а). б). в). Познакомившись с вложенными циклами, надо помнить об асинхронности изменения параметров, а помнят лишь, что при этом Рисунок 46 Конструкции циклов (а, б допустимые конструкции; изменяются две переменные. Одновременность изменения двух в недопустимая конструкция) переменных исключает использование цикла в цикле. Программа 15 Одновременное изменение двух переменных Правила организации вложенных циклов Var X,Z: integer; 1. Параметры циклов должны обозначаться различными Begin writeln('X Z')'; X _ _ _ Z идентификаторами. Z:=-1; 1 _ _ _ 1 2. Области действия различных циклов не должны пересекаться. For X:=1 to 3 do begin 3. Запрещена передача управления в область действия оператора 2 _ _ _ 3 Z:=Z+2; цикла, минуя его заголовок, но можно выходить из цикла до его writeln(X,' ':3,Z); end; 3 _ _ _ 5 завершения. End. Результат выполнения программы 55 56
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »