Накопление суммы и произведения в цикле
💻 Информатика · 9 класс
Накопление суммы и произведения
Накопление — это приём, при котором в отдельной переменной постепенно собирается общий результат: сумма или произведение элементов последовательности. Переменную, в которой копится результат, называют накопителем или сумматором. Это один из ключевых приёмов программирования в 9 классе: на нём строится подсчёт сумм, количеств, средних значений и факториалов.
Накопление суммы
Чтобы сложить элементы, заводят переменную и обнуляют её. Затем в цикле к ней прибавляют каждый очередной элемент. Важно, что начальное значение суммы равно нулю — это нейтральный элемент сложения, прибавление нуля ничего не меняет.
сумма = 0
для i от 1 до n:
сумма = сумма + a[i]
Команда сумма = сумма + a[i] читается так: «новое значение суммы равно прежней сумме плюс очередной элемент». Переменная как бы «растёт» с каждым шагом цикла.
Накопление произведения
Произведение копится похоже, но накопитель начинают с единицы, потому что единица — нейтральный элемент умножения. Если начать с нуля, итог всегда окажется нулём, ведь умножение на ноль обнуляет всё.
произв = 1
для i от 1 до n:
произв = произв * a[i]
| Накопитель | Начальное значение | Операция в цикле |
|---|---|---|
| сумма | 0 | прибавление элемента |
| произведение | 1 | умножение на элемент |
| количество (счётчик) | 0 | увеличение на единицу |
Связанные задачи
На основе накопления решают много задач:
- счётчик — подсчёт количества элементов с нужным свойством (например, положительных);
- среднее арифметическое — сумма, делённая на количество элементов;
- факториал — произведение всех чисел от 1 до n;
- сумма с условием — складывают только подходящие элементы.
Проследим накопление суммы для набора 3, 5, 2 по шагам:
сумма=0 → +3 → 3 → +5 → 8 → +2 → 10
Итоговое значение суммы равно 10. Если бы вместо суммы мы копили произведение, получили бы 1 * 3 * 5 * 2 = 30.
Накопление с условием
Очень часто складывают или считают не все элементы подряд, а только подходящие под условие. Тогда внутри цикла перед изменением накопителя ставят проверку. Например, чтобы найти сумму только положительных элементов, пишут:
сумма = 0
для i от 1 до n:
если a[i] > 0, то сумма = сумма + a[i]
По такому же образцу считают количество чётных чисел, сумму элементов на чётных местах или произведение ненулевых значений. Главное — накопитель задают один раз до цикла, а условие проверяют на каждом шаге.
Частые ошибки. Нельзя забывать про начальное значение накопителя. Сумму обязательно обнуляют, а произведение начинают с единицы — это самая частая ошибка. Ещё одна ошибка — обнулять накопитель внутри цикла: тогда на каждом шаге результат стирается и в конце остаётся только последний элемент. Накопитель задают один раз до начала цикла.
Кратко о главном
- Накопитель суммы начинают с нуля и прибавляют к нему элементы.
- Накопитель произведения начинают с единицы и умножают на элементы.
- Счётчик количества тоже начинают с нуля и увеличивают на единицу.
- Среднее арифметическое — это сумма, делённая на количество элементов.
- Начальное значение задают один раз до цикла, а не внутри него.