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

§ 43. Применение циклов

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

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приёмы применения циклов

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

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

Разбор задач

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

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

  1. Задаём счётчику начальное значение 1, потому что выводить начинаем с единицы.
  2. Пока счётчик не стал больше n, выводим его текущее значение.
  3. После вывода увеличиваем счётчик на 1, чтобы перейти к следующему числу.
  4. Проверяем границу: когда счётчик равен n, число ещё выводится; затем счётчик становится n + 1, и цикл завершается.

Ответ. Программа выводит числа 1, 2, …, n. Проверка условия «счётчик не больше n» позволяет включить последнее число. Если изменить счётчик до вывода, первое значение может быть пропущено.

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

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

  1. Присваиваем сумме 0, а счётчику — 1.
  2. Пока счётчик не больше n, прибавляем его значение к сумме.
  3. Увеличиваем счётчик на 1 и повторяем действие.
  4. Когда счётчик становится больше n, останавливаем цикл и используем накопленную сумму.

Ответ. При n = 4 шаги дают суммы 1, 3, 6, 10, поэтому результат равен 10. Последнее слагаемое — само n — должно попасть в цикл. Если начать счётчик с 0 или остановиться раньше, получится другая сумма.

Найти наименьшее натуральное число, сумма цифр которого больше s

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

  1. Начинаем с кандидата 1 и вычисляем сумму его цифр.
  2. Если сумма не больше s, увеличиваем кандидата на 1 и снова считаем сумму цифр.
  3. Если сумма больше s, завершаем поиск: более ранние натуральные числа уже были проверены.
  4. Для подсчёта цифр можно брать последнюю цифру делением с остатком на 10, прибавлять её к отдельному накопителю и убирать её целочисленным делением на 10.

Ответ. Найденный кандидат и будет наименьшим подходящим числом. Например, при s = 10 число 29 подходит, так как 2 + 9 = 11, а все меньшие числа проверяются раньше. Поиск завершится только после обновления кандидата и проверки суммы его цифр.

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

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

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

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

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

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

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

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

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

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

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

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

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

Почему сумма начинается с нуля, а произведение — с единицы?

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

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

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

Что делать, если число повторений заранее неизвестно?

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

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

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

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

§ 43. Применение циклов

Учебник

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