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

Цикл с предусловием

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

Цикл с предусловием

Цикл с предусловием — это форма повторения в алгоритме, при которой условие проверяется перед каждым выполнением тела цикла. Если условие истинно, тело выполняется ещё раз; как только оно становится ложным, цикл завершается и исполнитель переходит к следующим командам. Такой цикл часто называют циклом «пока» (по-английски while). Циклы нужны для того, чтобы не записывать одни и те же команды много раз подряд: вместо длинного списка одинаковых действий мы пишем их один раз и указываем, при каком условии повторять.

Как устроен цикл «пока»

В цикле с предусловием выделяют три обязательные части. Без любой из них цикл будет работать неправильно.

  • Условие — логическое выражение, которое может быть истинным или ложным. Именно его проверяет исполнитель перед каждым повтором.
  • Тело цикла — команды, которые повторяются, пока условие истинно.
  • Изменение данных — шаг, который постепенно приближает условие к ложному значению, чтобы цикл когда-нибудь завершился.

Работает это так: исполнитель проверяет условие. Если оно истинно, выполняется тело, затем проверка повторяется заново. Если условие ложно, тело пропускается, и цикл заканчивается.

Важная особенность

Так как проверка идёт до выполнения тела, цикл с предусловием может не выполниться ни разу. Если условие ложно с самого начала, исполнитель сразу переходит к командам после цикла. Этим цикл «пока» отличается от цикла с постусловием, где тело хотя бы один раз выполняется обязательно.

ПризнакЦикл с предусловиемЦикл с постусловием
Где проверкаПеред теломПосле тела
Минимум повторов0 раз1 раз
Ключевое слово«пока»«до тех пор пока не»
Когда удобенЧисло повторов неизвестноНужен хотя бы один проход

Разбор примера

Найдём сумму чисел от 1 до 5. Переменная i — счётчик, переменная s накапливает сумму.

s := 0; i := 1; пока i <= 5 нц s := s + i; i := i + 1 кц; вывод s

Сначала s равно 0, а i равно 1. На каждом шаге к сумме прибавляется текущее значение i, после чего i увеличивается на единицу. Проследим за работой: при i = 1 сумма станет 1, при i = 2 — 3, при i = 3 — 6, при i = 4 — 10, при i = 5 — 15. Когда i станет равно 6, условие i <= 5 окажется ложным, и цикл завершится. На экран выведется число 15.

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

Где применяют

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

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

  • В цикле с предусловием условие проверяется перед телом.
  • Тело может не выполниться ни разу, если условие сразу ложно.
  • Обязательно должна быть команда, делающая условие ложным.
  • Цикл «пока» удобен, когда число повторов заранее неизвестно.