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