Циклы: с условием и с параметром
💻 Информатика · 10 класс
Зачем нужны циклы
Цикл — это алгоритмическая конструкция, в которой группа команд (тело цикла) повторяется несколько раз. Без циклов пришлось бы вручную копировать одинаковые действия; цикл выполняет их компактно и любое число раз.
Различают два основных вида: цикл с параметром (известно число повторений) и цикл с условием (повторять, пока выполняется условие).
Цикл с параметром
Применяют, когда число повторений известно заранее. В Python это for:
for i in range(1, n+1):
print(i)
Переменная i последовательно принимает значения из диапазона. Цикл удобен для перебора элементов массива или подсчёта по формуле.
Цикл с условием
Применяют, когда заранее не известно, сколько раз повторять. Цикл while работает, пока условие истинно:
while x > 1:
x = x // 2
k = k + 1
Здесь подсчитывается, сколько раз число можно поделить на два. Важно, чтобы внутри цикла условие однажды стало ложным, иначе цикл станет бесконечным.
| Признак | Цикл с параметром | Цикл с условием |
|---|---|---|
| Число повторов | известно заранее | неизвестно |
| Оператор | for | while |
| Риск | обычно безопасен | зацикливание |
Накопление и счётчик
Две классические задачи: накопление суммы и подсчёт количества. В обоих случаях переменную обнуляют до цикла, а внутри изменяют:
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обязан когда-то завершиться, иначе зациклится.