Накопитель в цикле
Накопитель в цикле — это переменная, которая на каждой итерации изменяется и сохраняет промежуточный результат. С её помощью в цикле находят сумму, произведение, количество объектов и другие итоговые значения.
Накопитель используют вместе с переменной-счётчиком или другим способом перебора данных. Для суммы начальное значение обычно равно \(0\), потому что \(0\) не изменяет результат при сложении. Для произведения начальное значение равно \(1\), потому что \(1\) не изменяет результат при умножении.
Здесь \(S\) — уже накопленный результат, а \(a_i\) — очередное значение. После выполнения команды справа новое значение \(S\) становится доступным на следующей итерации.
Сначала задаём \(S = 0\). Затем на каждой итерации прибавляем очередное число: \(S = S + i\). После пяти итераций получаем \(S = 15\).
1s = 0 2for i in range(1, 6): 3 s = s + i 4print(s)
Для суммы нельзя начинать накопитель с произвольного числа: оно войдёт в ответ. Для произведения начальное значение \(0\) использовать нельзя — тогда весь результат останется равным нулю. Кроме того, присваивание s = i не накапливает сумму, а каждый раз заменяет прежнее значение.
Какое начальное значение нужно выбрать для накопителя произведения положительных чисел?
Главное
- Накопитель хранит промежуточный результат и изменяется внутри цикла.
- Для суммы обычно используют начальное значение \(0\), для произведения — \(1\).
- Команда накопления должна использовать прежнее значение переменной: например, \(S = S + a_i\).