Циклические алгоритмы. Циклы в среде Scratch
Понятие цикла, тело цикла, цикл со счетчиком (повторить N раз), бесконечный цикл (всегда) и цикл с условием (повторять пока не).
Компьютер превосходит человека в способности безошибочно и с огромной скоростью выполнять однотипные повторяющиеся действия миллионы раз подряд.
Циклический алгоритм (цикл, повторение) — это алгоритмическая конструкция, в которой определенная последовательность команд выполняется многократно.
Команды, которые находятся внутри цикла и повторяются на каждом шаге, называются телом цикла. Однократное выполнение тела цикла в программировании называют итерацией.
Без циклов программы были бы огромными и неудобными: чтобы персонаж сделал 100 шагов, пришлось бы писать 100 одинаковых команд «идти 1 шаг». С циклом достаточно одной короткой инструкции: «повторить 100 раз: идти 1 шаг».
Цикл (Повторение)
Тело цикла
В среде визуального программирования Scratch предусмотрены три типа блоков циклов (категория «Управление»):
1. Цикл с фиксированным числом повторений («повторить [10] раз») — цикл-счетчик. Программа выполняет тело цикла ровно столько раз, сколько указано в белом круглом окошке, после чего переходит к следующим блокам;
2. Бесконечный цикл («всегда» / forever) — тело цикла выполняется непрерывно до тех пор, пока пользователь не нажмет красную кнопку «Стоп» над сценой. Этот блок используется в играх для постоянного отслеживания нажатия клавиш управления героем и обновления кадров анимации;
3. Цикл с постусловием / предусловием («повторять пока не <условие>») — цикл выполняется до наступления определенного события (например, «повторять пока не касается края сцены: идти 5 шагов»). Как только условие становится истинным, цикл немедленно завершается.
Блок «всегда»
Блок «повторить N»
Опасность зависания
Если в цикле «повторять пока не» условие выхода никогда не наступит, программа войдет в «вечный цикл» и компьютер перестанет отвечать на команды.
С помощью циклов и расширения «Перо» (Pen) в Scratch можно создавать удивительные геометрические узоры и фракталы.
Теорема о полном обороте: при обходе любого правильного замкнутого n-угольника исполнитель совершает полный поворот на 360 градусов.
Угол поворота для правильного n-угольника рассчитывается по формуле:
Примеры построения фигур:
• Правильный треугольник (n = 3): повторить 3 раза [идти 100 шагов, повернуть направо на 120°] ();
• Квадрат (n = 4): повторить 4 раза [идти 100 шагов, повернуть направо на 90°] ();
• Правильный пятиугольник (n = 5): повторить 5 раз [идти 80 шагов, повернуть направо на 72°] ();
• Окружность (круг): повторить 360 раз [идти 1 шаг, повернуть направо на 1°].
Формула угла поворота
Модуль «Перо»
Вложенный цикл — это циклическая конструкция, в которой внутри тела одного цикла (внешнего) находится другой цикл (внутренний).
Принцип работы вложенных циклов:
На каждую одну итерацию внешнего цикла внутренний цикл отрабатывает полностью от начала до конца.
Общее количество выполненных итераций равно произведению повторений:
.
Вложенные циклы используются для рисования красивых круговых розеток и снежинок: например, внешний цикл поворачивает узор 12 раз по 30 градусов, а внутренний цикл на каждом шаге рисует полноценный квадрат.
