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