"Информатика", Горячев А.В., Суворова Н.И.
Цикл — конструкция алгоритма, которая позволяет повторять команды, не записывая их каждый раз заново. Повторяющиеся действия объединяют в тело цикла, а способ завершения задают числом повторений или условием. Цикл с известным числом повторов подходит для заранее рассчитанных действий, а цикл с условием — когда момент остановки зависит от ситуации. Чтобы алгоритм завершился правильно, нужно выбрать верное условие и проверить, что действия тела цикла приближают остановку.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Цикл — команда или конструкция алгоритма, которая организует повторение действий. Он нужен, когда один и тот же шаг приходится выполнять несколько раз: вместо длинной записи алгоритм сообщает, что следует повторить.
Тело цикла — команда или последовательность команд, выполняемая при каждом повторении. Оно описывает содержание одного повтора, поэтому в него включают все действия, которые должны повторяться вместе.
Цикл с заданным числом повторений — цикл, в котором заранее указано, сколько раз выполнить тело. Такой способ нужен, когда количество шагов можно определить до начала выполнения алгоритма.
Цикл с условием — цикл, повторение которого зависит от проверки условия. Он нужен, если заранее нельзя сказать, сколько раз придётся действовать, например пока не встретится препятствие.
Повторяющиеся действия удобно описывать циклом, потому что одинаковые команды не приходится записывать снова и снова. Чем больше повторов, тем длиннее становится запись без цикла и тем легче случайно изменить одну из копий. Цикл сохраняет общее правило в одном месте: алгоритм указывает, что именно повторять, а не перечисляет каждый одинаковый шаг отдельно.
Действия одного повторения задаёт тело цикла. Во время выполнения команды тела идут по порядку, поэтому перестановка команд может изменить результат: сначала, например, нужно проверить возможность движения, а уже затем сделать шаг. Если в тело случайно не включить нужную команду, она выполнится только один раз или не выполнится вовсе. Поэтому полезно мысленно пройти один повтор и проверить, содержит ли тело все необходимые действия.
Когда число повторений известно заранее, его записывают в цикле. Алгоритму не нужно каждый раз решать, продолжать ли работу: он выполняет тело указанное количество раз и после этого переходит к следующей команде. Такой способ подходит для действий с заранее рассчитанным числом шагов, например для вывода пяти одинаковых слов. При подсчёте нужно помнить, что первое выполнение тела — уже один повтор.
Иногда число повторений зависит от результата действий, и заранее его определить нельзя. Тогда цикл связывают с условием: проверка помогает решить, нужно ли продолжать работу. Например, исполнитель может идти, пока перед ним свободно, и остановиться, когда впереди появится препятствие. Условие должно соответствовать задаче, иначе цикл остановится слишком рано или продолжит движение там, где этого делать нельзя.
Составляя цикл, проверяют не только его запись, но и возможность завершения. Если при каждом повторе ситуация остаётся прежней, условие может бесконечно требовать продолжения, и алгоритм зациклится. Поэтому тело цикла должно менять ситуацию в сторону остановки: например, исполнитель делает шаг и приближается к препятствию. Полезно проследить несколько повторов и убедиться, что условие в конце концов перестанет выполняться.
Таблица помогает выбрать цикл по тому, известно ли число повторов и что должно остановить работу. Сначала сравните условие задачи с графой «Когда выбирают», затем проверьте, подходит ли описанный способ завершения. Пример ситуации подсказывает, как перенести выбор в собственный алгоритм.
| Характеристика | Цикл с заданным числом повторений | Цикл с условием |
|---|---|---|
| Что задаёт повторение | Заранее указанное число выполнений тела | Результат проверки условия |
| Когда выбирают | Когда число повторов известно заранее | Когда число повторов заранее неизвестно |
| Как определяется завершение | Выполнено указанное количество повторов | Условие больше не требует повторения |
| Пример ситуации | Вывести слово пять раз | Идти, пока путь свободен |
Задача 1. Запиши алгоритм, который выводит слово «Привет» пять раз. Количество повторений уже дано, поэтому подходит цикл с заданным числом повторений. Достаточно поместить команду вывода слова в тело цикла.
Ответ: повторить 5 раз: вывести «Привет». После выполнения тела пять раз алгоритм заканчивает цикл, и на экране появляется пять слов.
Задача 2. Исполнитель должен переместиться на 6 клеток вперёд, если команда шага перемещает его на одну клетку. Нужно понять, сколько выполнений одной команды составят требуемое перемещение. Поскольку длина пути известна, используем цикл с заданным числом повторений.
Ответ: повторить 6 раз: шаг вперёд. Шесть выполнений тела переместят исполнителя ровно на шесть клеток.
Задача 3. Исполнитель должен идти по коридору, пока перед ним свободно, и остановиться перед препятствием. Здесь нельзя заранее указать число шагов: оно зависит от длины свободного участка. Поэтому повторение нужно связать с проверкой пути, а шаг выполнять только тогда, когда перед исполнителем нет препятствия.
Ответ: пока перед исполнителем свободно, повторять команду «шаг вперёд»; иначе остановиться. Проверка перед каждым шагом не позволяет исполнителю войти в препятствие.
Повторять тело цикла вручную вместо использования цикла — значит делать алгоритм длиннее и рисковать, что похожие команды будут различаться. Так поступают, когда сосредотачиваются на отдельных шагах и не замечают общего правила. Проверь себя: если несколько команд одинаковы, их можно ли заменить одной командой в теле и указанием числа повторов?
Неверное число повторений часто возникает из-за того, что забывают посчитать первое выполнение тела. Например, чтобы вывести слово пять раз, нужно указать пять повторов, а не четыре. Проверь себя, перечислив каждое выполнение по порядку и сверив их количество с условием задачи.
Если команда, необходимая при каждом повторе, не включена в тело цикла, алгоритм выполнит её не так, как задумано. Это бывает, когда тело составляют, не представляя целиком один повтор. Проверь себя: выпиши действия одного полного повтора и убедись, что все нужные команды находятся внутри него.
Цикл с условием может не завершиться, если условие продолжает выполняться бесконечно. Обычно это происходит, когда тело не меняет ситуацию или изменение не приближает остановку. Проверь себя, проследив несколько повторов: должна ли проверка когда-нибудь дать результат, при котором цикл прекратится?
Чтобы составлять циклы, нужно уметь записывать последовательность команд и понимать, в каком порядке они выполняются. Это помогает определить, какие действия включить в тело и когда проверять условие. Если порядок команд неясен, алгоритм может дать другой результат, даже при верно выбранном числе повторений.
Циклы применяют при создании программ, обработке наборов данных и описании действий, которые повторяются по правилу. Они позволяют кратко задавать одинаковые операции над разными элементами и повторяющиеся шаги исполнителя. Умение выбирать между числом повторов и условием помогает строить алгоритмы для самых разных задач.
Зачем нужен цикл, если команды можно просто записать несколько раз?
Цикл сокращает запись алгоритма и помогает не повторять одинаковые команды вручную. Если действие нужно изменить, достаточно поправить его в одном месте, а не искать все копии.
Что называют телом цикла?
Телом цикла называют команду или последовательность команд, выполняемую при каждом повторении. Команды внутри тела выполняются в установленном порядке.
Как выбрать между циклом с заданным числом повторений и циклом с условием?
Если заранее известно точное число повторов, выбирают цикл с заданным числом повторений. Если число зависит от того, как меняется ситуация, используют цикл с условием.
Когда цикл считается завершённым?
Цикл с заданным числом повторений завершается после выполнения тела указанное количество раз. Цикл с условием прекращается, когда проверка показывает, что повторять действия больше не нужно.
Почему алгоритм может зациклиться?
Это происходит, если условие продолжает выполняться и действия тела не меняют ситуацию так, чтобы остановить повторения. Перед запуском нужно проверить, может ли условие стать ложным.
§ 4. Цикл