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