P
pro·school.ru
Каталог школ

Циклы: с условием и с параметром

💻 Информатика · 10 класс

Зачем нужны циклы

Цикл — это алгоритмическая конструкция, в которой группа команд (тело цикла) повторяется несколько раз. Без циклов пришлось бы вручную копировать одинаковые действия; цикл выполняет их компактно и любое число раз.

Различают два основных вида: цикл с параметром (известно число повторений) и цикл с условием (повторять, пока выполняется условие).

Цикл с параметром

Применяют, когда число повторений известно заранее. В Python это for:

for i in range(1, n+1):
print(i)

Переменная i последовательно принимает значения из диапазона. Цикл удобен для перебора элементов массива или подсчёта по формуле.

Цикл с условием

Применяют, когда заранее не известно, сколько раз повторять. Цикл while работает, пока условие истинно:

while x > 1:
x = x // 2
k = k + 1

Здесь подсчитывается, сколько раз число можно поделить на два. Важно, чтобы внутри цикла условие однажды стало ложным, иначе цикл станет бесконечным.

ПризнакЦикл с параметромЦикл с условием
Число повторовизвестно заранеенеизвестно
Операторforwhile
Рискобычно безопасензацикливание

Накопление и счётчик

Две классические задачи: накопление суммы и подсчёт количества. В обоих случаях переменную обнуляют до цикла, а внутри изменяют:

s = 0
for i in range(n):
s = s + a[i]

Переменную для накопления суммы обнуляют, а для произведения — задают равной единице, иначе результат всегда будет нулевым. Это важное различие: начальное значение «нейтрально» относительно выполняемой операции.

Вложенные циклы

Цикл может содержать внутри себя другой цикл. Внешний цикл выполняется медленнее: на каждый его шаг внутренний прокручивается полностью. Вложенные циклы нужны для обработки таблиц, построения фигур из символов, перебора пар элементов. Например, таблицу умножения выводят так:

for i in range(1, 10):
for j in range(1, 10):
print(i*j, end=' ')
print()

Если внешний цикл сделает 9 шагов, а внутренний — 9, то тело внутреннего выполнится 81 раз. Поэтому вложенные циклы заметно увеличивают время работы программы.

Досрочный выход

Иногда цикл нужно прервать раньше, не дойдя до конца, — например, как только найден искомый элемент. Для этого служит оператор break, который немедленно завершает цикл. Оператор continue, напротив, пропускает остаток тела и переходит к следующему повторению.

Частые ошибки. Бесконечный цикл, когда условие в while никогда не становится ложным. Ошибка на единицу в границах диапазона (range(n) даёт значения от 0 до n-1). Изменение счётчика забыли внутри while. Произведение начали накапливать с нуля вместо единицы.

Кратко о главном

  • Цикл повторяет тело несколько раз.
  • for — когда число повторов известно, while — когда зависит от условия.
  • Сумму и счётчик обнуляют до цикла, накапливают внутри.
  • Цикл while обязан когда-то завершиться, иначе зациклится.