На Горох
Информатика

Циклический алгоритм

"Информатика (в 2 частях)", Нателаури Н.К., Маранин С.С.

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Виды циклов и особенности их выполнения

Вид циклаКогда проверяется условиеИзвестно ли число повторений заранееМинимальное число выполнений телаКогда применять
Цикл с известным числом повторенийПо счётчику или заданной границеДаЗависит от заданного количества, обычно 0 или 1Когда число шагов известно заранее
Цикл с предусловиемДо выполнения телаНет0Когда повторение зависит от начальных данных
Цикл с постусловиемПосле выполнения телаНет1Когда действие нужно выполнить хотя бы один раз

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

Разбор задач

Вывод числа несколько раз

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

  1. Зададим счётчик i = 1, потому что это будет номер первого вывода.
  2. Пока i ≤ 4, выводим число 5, а затем увеличиваем i на 1.
  3. После четвёртого вывода счётчик станет равен 5, условие i ≤ 4 окажется ложным, и цикл завершится.

Ответ: тело цикла должно содержать вывод 5 и выполняться для i = 1, 2, 3, 4. Число будет выведено ровно четыре раза.

Увеличение накопителя

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

  1. Обозначим накопитель переменной a и проверим условие a ≤ 20.
  2. Если условие истинно, прибавим к a число 3 и снова проверим условие.
  3. Повторяем шаги, пока после очередного увеличения значение не станет больше 20, затем выводим a.

Ответ: точное значение зависит от начального числа. Например, при a = 8 получатся значения 11, 14, 17, 20 и 23, после чего будет выведено 23.

Сумма чисел до нуля

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

  1. Обнулим сумму s = 0 и введём первое число x.
  2. Если x ≠ 0, прибавим его к s, затем введём следующее число.
  3. Повторяем проверку, пока x не станет равным 0; ноль в сумму не добавляем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это происходит, если условие завершения никогда не становится истинным. Частая причина — переменная или счётчик, от которых зависит условие, не изменяются.

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

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

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

Циклический алгоритм

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Нателаури Н.К., Маранин С.С.