Теория:
После того как мы освоили циклические алгоритмы, определив их виды и узнав об особенностях применения, перед нами открываются возможности создания проектов в Scratch, включающих в себя различные комбинации из циклических алгоритмов.
В этом материале ты познакомишься с реализаций вложенных циклов. При решении некоторых задач появляется необходимость использовать циклический алгоритм внутри другого цикла. Никаких ограничений на вид внешнего или внутреннего цикла нет, можно внутрь алгоритма с циклом «Повторить \(n\) раз» вставить любой из видов цикла — с предусловием, с постусловием или цикл с заданным числом повторений.
Часы
Рассмотрим понятный и хорошо известный пример: часы с двумя стрелками. Пока минутная стрелка совершает свой обход циферблата, часовая стрелка остаётся неподвижной. Она меняет своё положение только тогда, когда минутная совершит \(12\) шагов по циферблату. Если пренебречь тем, что часы требуют завода или смены батарейки, то совершаются циклические алгоритмы минутной и часовой стрелок внутри одного бесконечного цикла. Посмотреть проект можно здесь: «Часы.sb3».
Следующие примеры будут связаны с умением спрайта Scratch рисовать пером. Давай рассмотрим различные орнаменты и возможность их создания из уже готовых элементов.
Спирограф
Спирограф — это линейка с зубчатым вырезом в виде окружности и вкладышами в виде зубчатых кругов. С помощью такой линейки можно создавать узоры из эллипсов. А мы с помощью команд рисования в Scratch и вложенных циклов нарисуем один из таких узоров.

Рис. \(1\). Узор из окружностей
Узор состоит из окружностей. Как мы уже знаем, за окружность в Scratch можно выдать многоугольник, созданный с помощью циклического алгоритма. Предложенный узор получится, если поворачивать окружность относительно центра, лежащего на этой же окружности. В реализованном алгоритме узор состоит из \(10\) окружностей.
Важно найти для начала исполнения алгоритма такое место на поле, чтобы спрайт во время движения не попал на границу сцены, иначе произойдёт искажение.
Важно найти для начала исполнения алгоритма такое место на поле, чтобы спрайт во время движения не попал на границу сцены, иначе произойдёт искажение.

Рис. \(2\). Код для окружностей
Меандр
Рассмотрим древний орнамент меандр. Существует много вариаций этого орнамента, мы же ограничимся самым простым.

Рис. \(3\). Меандр
Разобьём создание полосы с орнаментом на отдельные действия.
1. Изобразить элемент орнамента, назовём его Меандр.
2. Повторить изображение \(10\) раз.
1. Изобразить элемент орнамента, назовём его Меандр.
2. Повторить изображение \(10\) раз.
Внутри элемента меандра повторяющихся команд нет.

Рис. \(4\). Код для меандра
Но сам орнамент, символизирующий вечность, изображался так, что он не прерываясь обрамлял изделия древних мастеров. Давайте и мы разместим этот орнамент по краю квадратного изделия — столешницы, платка или настенной плитки.

Рис. \(5\). Орнамент
Для поворота в углах изделия нам потребуется элемент, который условно назовём Угол.

Рис. \(6\). Код для угла
Теперь алгоритм для изображения будет схематично выглядеть так: повторить \(4\) раза (повторить \(10\) раз меандр \(+\) угол).
Таким образом, мы используем один цикл с заданным числом повторений внутри другого цикла с заданным числом повторений.
Таким образом, мы используем один цикл с заданным числом повторений внутри другого цикла с заданным числом повторений.
Оформление подпрограммы
Как ты видишь, программа для изображения квадратного орнамента получается достаточно большой. У программистов есть такой приём — часто используемые блоки в программе оформлять в виде подпрограммы. Есть такая возможность и в Scratch.
Нам потребуется розовый блок Другие блоки, в котором мы создадим блоки Меандр и Угол.

Рис. \(7\). Подпрограммы
После чего программа примет компактный вид.

Рис. \(8\). Компактный вид программы
Источники:
Рис. 1. Узор из окружностей. © ЯКласс.
Рис. 2. Код для окружностей. © ЯКласс.
Рис. 3. Меандр. © ЯКласс.
Рис. 4. Код для меандра. © ЯКласс.
Рис. 5. Орнамент. © ЯКласс.
Рис. 6. Код для угла. © ЯКласс.
Рис. 7. Подпрограммы. © ЯКласс.
Рис. 8. Компактный вид программы. © ЯКласс.