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

§ 15. Программирование циклов

"Информатика", Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.

Объяснение темы В оглавлении: § 15. Программирование циклов

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сравнение циклов

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

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

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

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

Разбор задач

Задача 1. Вывод чисел от 1 до 5

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

  1. Задать параметр равным 1.
  2. Пока параметр не больше 5, вывести его значение.
  3. После вывода увеличить параметр на 1 и повторить проверку.

Ответ: будут выведены числа 1, 2, 3, 4, 5. После вывода 5 параметр станет равен 6, условие нарушится, и цикл завершится.

Задача 2. Сумма чисел от 1 до N

Условие: найти сумму всех целых чисел от 1 до N. Нужна переменная-накопитель S, а параметр цикла должен перебрать каждое число диапазона. В начале S = 0, чтобы первое сложение не зависело от случайного значения.

  1. Ввести N и установить S = 0.
  2. Задать счётчик i = 1.
  3. Пока i ≤ N, прибавлять i к сумме: S = S + i.
  4. Увеличивать i на 1 после каждого сложения.
  5. После окончания цикла вывести S.

Ответ: программа накапливает результат постепенно. Например, при N = 3 значения S будут равны 1, 3 и 6, поэтому итоговая сумма равна 6.

Задача 3. Ввод до нуля

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

  1. Ввести первое число и записать его в x.
  2. Установить счётчик количества равным 0.
  3. Пока x ≠ 0, увеличить счётчик и ввести следующее число.
  4. Когда x станет равен 0, вывести счётчик.

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

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

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

Неверная граница. Знак сравнения или конечное значение дают лишнее либо недостающее повторение. Выпишите первые и последние значения параметра вручную и сравните их с требованием.

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

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

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

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

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

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

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

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

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

При простом повторении одинаковые команды приходится записывать много раз. Цикл хранит эти команды один раз и выполняет их нужное число раз или до наступления условия окончания.

Почему цикл с предусловием может не выполнить тело ни разу?

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

В каких случаях удобнее использовать цикл с постусловием?

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

Как определить, сколько раз выполнится цикл с параметром?

Нужно сравнить начальное и конечное значения параметра и учесть шаг его изменения. Затем перечисляют значения диапазона, которые параметр успеет принять.

Почему программа может зациклиться?

Зацикливание возникает, если условие никогда не становится ложным. Чаще всего переменная условия не изменяется или изменяется в неправильную сторону.

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

§ 15. Программирование циклов

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика", Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.