В мире, в котором мы живем, да и внутри нашего организма многие процессы являются циклическими, повторяющимися. Смена времен года, работа двигателя автомобиля, катание на санках с горки все это циклические процессы. Некоторые процессы повторяются бесконечное число раз, некоторые заканчиваются (или выполняются) при выполнении какого-либо условия, некоторые заданное число раз. Также и алгоритмы могут быть циклическими.
Повторяющиеся команды составляют тело цикла.
С помощью команды repeat, с которой мы познакомились в предыдущей главе, можно описать циклические алгоритмы на языке программирования Лого. Команды, которые мы записываем в квадратных скобках, составляют тело цикла, а слово repeat с указанием числа повторений это заголовок цикла. В заголовке может быть указано не только число, но и арифметическое выражение, например,
repeat 5 * 6 [fd 10 rt 360 / 30]
Интересно, а что будет, если указать нецелое число повторений? Если, например, задать команды
repeat 3.6 [fd 70 rt 120] или repeat 10 / 3 [fd 70 rt 120]?
Самый надежный способ получить правильные ответы на эти вопросы провести эксперименты с самой Черепашкой.
Тело цикла могут составлять любые команды, без каких-либо ограничений, в том числе, и команды цикла. То есть, внутри одного циклического процесса могут происходить и другие самостоятельные циклические процессы.
![]() |
Например, картинка слева появится из-под пера Черепашки, если она выполнит алгоритм repeat 6 [repeat 3[fd 60 rt 120] rt 60] |
Такая структура называется вложенные циклы и может быть изображена схемой: | ![]() |
Тело внутреннего цикла опять может содержать цикл и так далее, вложенность может быть очень глубокой, главное, самому не запутаться и сохранить ясность и понятность алгоритма.