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

§ 35. Циклические алгоритмы

"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 35. Циклические алгоритмы

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сравнение циклов с параметром и с условием

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

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

Разбор задач

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

Нужно вывести пять чисел в порядке возрастания, поэтому число повторений известно заранее. Подойдёт цикл с параметром, который примет значения от 1 до 5. В теле достаточно вывести текущее значение параметра.

  1. Задаём параметру начальное значение 1, а конечное — 5.
  2. На каждом повторении выводим текущее значение параметра.
  3. После вывода переходим к следующему значению и завершаем цикл после обработки 5.

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

Найти сумму целых чисел от 1 до n

Нужно сложить все целые числа от 1 до заданного n, значит, каждое число диапазона следует обработать по одному разу. Для этого используем цикл с параметром, а сумму будем накапливать в отдельной переменной. Начальное значение суммы выбираем равным 0, потому что до сложения слагаемых результат ещё не накоплен.

  1. Задаём сумму равной 0 и параметру значения от 1 до n.
  2. Для каждого значения прибавляем его к сумме: сумма становится равна прежней сумме плюс параметр.
  3. После завершения цикла выводим накопленную сумму.

Ответ: результат равен 1 + 2 + … + n. Например, при n = 4 получаем 0 + 1 + 2 + 3 + 4 = 10. Проверка начального значения и границ важна: если не включить n или начать с 0 вместо 1, набор слагаемых изменится.

Посчитать числа, введённые до нуля

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

  1. Создаём счётчик со значением 0 и вводим первое число.
  2. Пока введённое число не равно 0, увеличиваем счётчик на 1 и вводим следующее число.
  3. Когда введён 0, завершаем цикл и выводим счётчик.

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

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

Можно неправильно посчитать повторения цикла с параметром, перепутав начальное и конечное значения или не учтя, что границы входят в диапазон. Это часто происходит, когда считают расстояние между границами, а не сами значения. Проверьте первый и последний шаги и перечислите значения параметра; например, от 1 до 5 включительно — пять повторений.

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

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

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

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

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

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

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

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

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

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

Когда лучше использовать цикл с параметром, а когда цикл с условием?

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

Что называют телом цикла?

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

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

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

Выполняются ли команды после цикла при каждом повторении?

Нет, команды после цикла выполняются один раз — после его завершения. При каждом повторении исполняются только команды, входящие в тело цикла.

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

§ 35. Циклические алгоритмы

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

Учебник

Оглавление →
Предмет
Информатика
Класс
7 класс
Учебник
"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.