Глава 6
В которой мы знакомимся с циклическим алгоритмом и вложенными циклами

В мире, в котором мы живем, да и внутри нашего организма многие процессы являются циклическими, повторяющимися. Смена времен года, работа двигателя автомобиля, катание на санках с горки — все это циклические процессы. Некоторые процессы повторяются бесконечное число раз, некоторые заканчиваются (или выполняются) при выполнении какого-либо условия, некоторые — заданное число раз. Также и алгоритмы могут быть циклическими.

Циклический алгоритм — алгоритм, предусматривающий многократное повторение одних и тех же команд.

Повторяющиеся команды составляют тело цикла.

С помощью команды 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]

Такая структура называется вложенные циклы и может быть изображена схемой:

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


||  Начало главы || || Вопросы и задания || || Глава 7 ||