6-Lesson №15

Урок №15. Вложенные циклы.

Рассмотрим такую задачу: Черепахе нужно нарисовать в ряд пять квадратов со стороной 40 шагов, разделив их интервалом в 10 шагов (рис. 3.6).

Мы уже можем её решить. Черепахе нужно нарисовать один квадрат, затем поднять перо и перейти в точку, откуда она начнёт рисовать следующий квадрат. Так нужно повторить пять раз, то есть в программе будет цикл:

повтори( 5 )
нарисовать квадрат
перейти к следующему квадрату

Основные действия пока записаны русскими словами. Это означает, что компьютер не будет (и не сможет) их выполнять. Давайте запишем вместо этих строк команды, которые Черепаха знает и может выполнить.

 

Мы уже знаем, что значит «нарисовать квадрат»:

использовать Черепаха
алг квадрат
нач
опустить хвост
нц 4 раз
вперед(40)
вправо(90)
кц
кон

После выполнения этого цикла Черепаха воэвршцнггон и начальное положение. Далее ей нужно перейти в новое мести, не оставляя за собой следа:

поднять хвост;
вправо( 90 ); // перейти к следующему
вперед( 50 );
влево( 90 ); // * (повернуться на север)
опустить хвост;

Заметьте, что Черепаха должна не только прийти в нужную точку, но и развернуться «на север». Это делает команда, отмеченная знаком * в комментарии.

Теперь мы готовы добавить эти фрагменты в первую программу вместо комментариев. Получается такая программа:

использовать Черепаха
алг квадраты
нач
опустить хвост
нц 5 раз
нц 4 раз
вперед(40)
вправо(90)
кц
поднять хвост
вправо(90)
вперед(50)
влево(90)
опустить хвост
кц
кон

В основном цикле мы рисуем квадрат, но для рисования квадрата также используем цикл. И получается, что внутри (в теле) одного цикла оказался другой (он выделен фоном). Такая структура называется вложенным циклом.

Вложенный цикл — это цикл, находящийся в теле другого цикла.

В этой программе цикл повтори (5) называется внешним циклом, а цикл повтори (4) — вложенным или внутренним циклом.

В больших программах может получиться так, что в теле вложенного цикла также находятся другие циклы, при этом появляется несколько уровней вложенности.

Выполнить домашнюю работу

Выполнить классную работу