Определение
Цикл с условием — это цикл, который повторяет команды, пока выполняется заданное условие. Условие проверяется перед каждым повторением, и как только оно становится ложным, цикл заканчивается. Сколько будет повторений, заранее неизвестно. У Робота такой цикл записывается «нц пока <условие> … кц», в Python — while <условие>:.
Ключевые признаки
- Проверка перед каждым шагом — условие проверяется до выполнения команд, и если оно ложно с самого начала, команды внутри не выполнятся ни разу
- Число шагов заранее неизвестно — цикл сам останавливается, когда условие перестаёт выполняться, поэтому программа работает в коридоре любой длины, тогда как «нц 7 раз» подходит только там, где шагов ровно 7
- Тело меняет обстановку — внутри цикла должна быть команда, которая рано или поздно сделает условие ложным, например шаг Робота; иначе цикл будет повторяться бесконечно
- Условие проверяет обстановку — у Робота это «справа свободно», «снизу свободно» и подобные проверки, а в Python выражение вроде x > 0, которое бывает истинным или ложным
Пример
Робот стоит в верхней клетке вертикального коридора неизвестной длины. Программа: нц пока снизу свободно; закрасить; вниз; кц; закрасить. В коридоре из 5 клеток Робот сделает 4 шага вниз и остановится у стены, а нижнюю клетку закрасит команда после кц. В коридоре из 9 клеток та же программа сделает 8 шагов.
Тема целиком: Алгоритм для исполнителя «Робот» — теория, разобранные задания и тренажёр.
Не путай: Цикл с условием и ветвление
Ветвление «если снизу свободно то вниз все» проверяет условие один раз и выполняет команду не больше одного раза. Цикл «нц пока снизу свободно … кц» проверяет условие снова и снова и повторяет команды, пока оно верно.
Частые вопросы
Что такое цикл с условием простыми словами (для 7–9 класса)?
Цикл с условием — это цикл, который повторяет команды, пока выполняется заданное условие. Условие проверяется перед каждым повторением, и как только оно становится ложным, цикл заканчивается. Сколько будет повторений, заранее неизвестно. У Робота такой цикл записывается «нц пока <условие> … кц», в Python — while <условие>:.
Как цикл с условием выглядит на практике?
Робот стоит в верхней клетке вертикального коридора неизвестной длины. Программа: нц пока снизу свободно; закрасить; вниз; кц; закрасить. В коридоре из 5 клеток Робот сделает 4 шага вниз и остановится у стены, а нижнюю клетку закрасит команда после кц. В коридоре из 9 клеток та же программа сделает 8 шагов.
В каких заданиях ОГЭ встречается «цикл с условием»?
В заданиях на знание понятий информатики — потренируйся в тренажёре Совелия.