Различие счётчика и сумматора в цикле
💻 Информатика · 8 класс
Два разных накопителя
При обработке последовательности данных в цикле часто заводят вспомогательную переменную-накопитель, в которой постепенно собирается результат. Важно чётко различать две её разновидности: счётчик и сумматор. Внешне они устроены похоже, но решают совершенно разные задачи, и путать их нельзя — иначе ответ получится неверным.
Счётчик подсчитывает количество подходящих элементов: при каждом совпадении условия он увеличивается ровно на единицу. Сумматор накапливает сумму значений: к нему прибавляют сам элемент. То есть счётчик отвечает на вопрос «сколько штук», а сумматор — «чему равна общая сумма».
Сравнение
| Признак | Счётчик | Сумматор |
|---|---|---|
| Начальное значение | 0 | 0 |
| Что прибавляем | 1 при совпадении | значение элемента |
| Отвечает на вопрос | сколько штук | чему равна сумма |
| Единица измерения | количество | как у элементов |
Разбор примера
Дан массив чисел. Нужно найти, сколько в нём положительных чисел и какова их общая сумма. Заведём две переменные: k будет счётчиком, а s — сумматором. Обе обнулим перед началом цикла.
k = 0 (счётчик количества)
s = 0 (сумматор суммы)
для каждого a из массива:
если a > 0:
k = k + 1 (нашли ещё одно положительное)
s = s + a (добавили его к сумме)Если массив был [3, -2, 5, -1, 4], то положительных чисел три, поэтому k = 3, а их сумма равна s = 3 + 5 + 4 = 12. Обратите внимание: отрицательные числа не влияют ни на счётчик, ни на сумматор, потому что не проходят проверку условия.
Частая ошибка. Прибавлять к счётчику само значение элемента (k = k + a) вместо единицы. Тогда вместо количества получится сумма, и ответ окажется неверным. Счётчик всегда растёт ровно на 1.Среднее как комбинация
Чтобы найти среднее арифметическое подходящих элементов, нужны оба накопителя одновременно: сумму делят на количество, то есть вычисляют s / k. Перед делением обязательно проверяют, что k не равен нулю, иначе деление окажется невозможным. Если ни одного подходящего элемента не нашлось, среднее просто не определено, и об этом сообщают отдельно.
Счётчик и сумматор встречаются в огромном числе задач. Счётчик считает, сколько раз произошло событие: сколько отрицательных чисел, сколько слов длиннее пяти букв, сколько раз ученик получил пятёрку. Сумматор накапливает итог: общую стоимость покупок, суммарный путь, количество набранных очков. Иногда в одной программе работают сразу несколько счётчиков и сумматоров — по одному на каждую подсчитываемую величину, и все они независимо обнуляются перед циклом.
Важно. Накопитель обязательно задают до начала цикла. Если объявить его внутри тела цикла, он будет обнуляться на каждом шаге, и накопления не получится — итог всегда окажется равным значению последнего шага.
Кратко о главном
- Счётчик растёт на
1, а сумматор — на значение элемента. - Оба накопителя обнуляются перед началом цикла.
- Счётчик отвечает на вопрос «сколько», сумматор — «какова сумма».
- Среднее арифметическое равно сумматору, делённому на счётчик.