На Горох
Информатика, 6 класс

Свойства цикла "пока"

"Информатика", Семёнов А.Л., Рудченко Т.А.

Объяснение темы

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

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

Условие цикла — логическое выражение, которое проверяют перед каждым выполнением тела цикла. Логическое выражение принимает одно из двух значений: «истина» или «ложь». Условие нужно, чтобы алгоритм мог решить, продолжать повторения или остановиться. Например, выражение «счётчик < 3» истинно при значениях счётчика 0, 1 и 2.

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

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

Как это устроено

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

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

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

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

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

Как работает цикл «пока»

СвойствоЧто происходитСледствие
Когда проверяют условиеПеред первым выполнением тела и после каждой итерацииРешение о продолжении принимается на каждом шаге
Что происходит при истинном условииВыполняются команды телаЗатем условие проверяется снова
Что происходит при ложном условииЦикл прекращаетсяАлгоритм переходит к следующим командам
Может ли тело не выполниться ни разуДа, если условие ложно при первой проверкеИтераций не будет
От чего зависит завершение циклаОт изменения данных, влияющих на условиеУсловие должно стать ложным

Читайте таблицу сверху вниз, прослеживая путь от проверки условия к выполнению тела или остановке. Чтобы разобрать конкретный цикл, выясните, какие данные проверяются и как тело меняет их. Так можно заранее заметить, возможна ли остановка.

Разбор задач

1. Вывод слова «Привет»

Условие. Запиши цикл, который выводит слово «Привет», пока переменная-счётчик меньше 3. Счётчик нужно начать с нуля и менять внутри тела, иначе условие не поможет определить момент остановки. Проверим значения по порядку, чтобы увидеть число итераций.

  1. Запишем начальное значение: счетчик = 0.
  2. Зададим цикл: пока счетчик < 3, вывести «Привет».
  3. Внутри тела после вывода увеличим счётчик на 1.
  4. При значениях 0, 1 и 2 условие истинно; после увеличения до 3 оно становится ложным.

Ответ. Тело выполняется три раза, и слово выводится три раза. Увеличение счётчика внутри тела важно: именно оно приближает значение к моменту остановки. Если убрать эту команду, счётчик останется равным нулю, а условие будет истинным снова и снова.

2. Ложное условие до запуска

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

  1. Перед началом цикла алгоритм проверяет условие.
  2. Условие ложно, значит, повторять команды нельзя.
  3. Алгоритм пропускает тело и переходит к следующей команде после цикла.

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

3. Число не уменьшается

Условие. Цикл должен уменьшать положительное число до нуля, но внутри тела только выводит это число. Нужно понять, меняет ли тело значение, от которого зависит условие. Предположим, что цикл записан так: пока число > 0, вывести число.

  1. Если число положительное, условие истинно и тело выводит число.
  2. Команды тела не уменьшают число, поэтому после вывода оно остаётся прежним.
  3. При следующей проверке число всё ещё больше нуля; цикл повторяется.
  4. Чтобы исправить ошибку, после вывода нужно уменьшать число на 1.

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

Типичные ошибки

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

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

Если тело не меняет данные, влияющие на условие, цикл может стать бесконечным. Такую ошибку допускают, сосредоточившись на командах тела и забыв, что после них условие проверят снова. Для самопроверки спроси себя, какое значение будет при следующей проверке. Если оно не меняется и условие остаётся истинным, остановки ждать не следует.

Можно изменить данные так, что условие станет ложным раньше ожидаемого, и повторений окажется меньше. Это случается, если неверно оценить начальное значение или величину изменения переменной. Не угадывай число итераций: записывай значение перед каждой проверкой и вычисляй результат условия. Так станет видно, на каком шаге цикл остановится.

Связь с другими темами

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

Что запомнить

  • Условие цикла «пока» проверяется перед выполнением тела.
  • Тело выполняется, только если условие истинно.
  • Если условие ложно сразу, тело не выполняется ни разу.
  • После выполнения тела условие проверяется снова.
  • Чтобы цикл завершился, его тело должно влиять на условие.

Частые вопросы по теме

Почему цикл «пока» иногда не выполняется ни разу?

Условие цикла проверяют до первого выполнения тела. Если при первой проверке оно ложно, алгоритм сразу переходит к командам после цикла.

Когда именно проверяется условие цикла?

Сначала условие проверяют перед выполнением тела. Если тело выполнилось, условие проверяют ещё раз, прежде чем начинать следующую итерацию.

Что происходит после выполнения тела цикла?

Алгоритм возвращается к проверке условия. Если оно истинно, тело выполняется снова, а если ложно — цикл заканчивается.

Почему цикл может стать бесконечным?

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

Чем цикл «пока» удобен, если число повторений заранее неизвестно?

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

Спросить по теме параграфа

Свойства цикла "пока"

Учебник

Оглавление →
Предмет
Информатика
Класс
6 класс
Учебник
"Информатика", Семёнов А.Л., Рудченко Т.А.