Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_1_2_3 Разработка программ со структурой вложе...doc
Скачиваний:
4
Добавлен:
23.11.2019
Размер:
335.36 Кб
Скачать

4. Организация программ со структурой вложенных циклов

4. Организация программ со структурой вложенных циклов

Структурой с вложенным циклом называют такую структуру, в которой внутри одного цикла находится один или несколько других циклов. Цикл, расположенный внутри другого цикла, называют внутренним. Цикл, внутри которого находятся другие циклы, называют внешним. Таким образом, один и тот же цикл может выступать и в роли внешнего (если он содержит внутри себя другие циклы), и в роли внутреннего (если он расположен внутри другого цикла). Правильная организация вложенного цикла состоит в том, что внутренний цикл должен целиком располагаться внутри внешнего цикла.

Допустимыми являются следующие варианты организации вложенных циклов. Первый вариант вложенного цикла – внутри внешнего цикла последовательно расположено несколько внутренних циклов:

  1. for I:=1 to N do //внешний цикл

  2. begin

  3. .................

  4. for J:=1 to M do // первый внутренний цикл

  5. begin

  6. ..............

  7. end; // конец первого внутреннего цикла

  8. ...............

  9. for K:=1 to L do //второй внутренний цикл

  10. begin

  11. ..............

  12. end; // конец второго внутреннего цикла

  13. .................

  14. end; // конец внешнего цикла

Частным случаем первого варианта организации вложенных циклов является следующий

  1. for I:=1 to N do

  2. for J:=1 to M do

  3. for K:=1 to L do

  4. A[I,J,K]:=I*J*K;

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

Второй вариант организации вложенного цикла – иерархическое расположение циклов (каждый внутренний цикл расположен внутри предыдущего).

  1. for I:=1 to N do //внешний цикл

  2. begin

  3. ..............

  4. for J:=1 to M do // первый внутренний цикл

  5. begin

  6. .............

  7. for K:=1 to L do //второй внутренний цикл

  8. begin

  9. .............

  10. end

  11. ; // Конец второго внутреннего цикла

  12. ..............

  13. end; // конец первого внутреннего цикла

  14. ................

  15. end; // конец внешнего цикла

Следует иметь в виду, что во вложенном цикле павраметры каждого из циклов изменяются разновременно, т.е. при очередном (фиксированном) значении параметра внешнего цикла параметр внутреннего цикла последовательно принимает все свои возможные значения. Затем параметр внешнего цикла принимает следующее по порядку новое значение и при этом значении параметр внутреннего цикла вновь принимает все свои возможные значения. Поэтому вложенный цикл часто называют циклом с разновременно изменяющимися параметрами. Таким образом, если внутренний цикл должен выполняться M раз, а внешний – N раз, то операторы, стоящие во внутреннем цикле выполнятся в общей сложности M*N раз, т.е. трудоемкость выполнения вложенных циклов может быть весьма высокой, что надо учитывать при разработке программ. Например, если M=N=100, то операторы внутреннего цикла будут выполняться 10000 раз:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]