P
pro·school.ru
Каталог школ

Различие счётчика и сумматора в цикле

💻 Информатика · 8 класс

Два разных накопителя

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

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

Сравнение

ПризнакСчётчикСумматор
Начальное значение00
Что прибавляем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, а сумматор — на значение элемента.
  • Оба накопителя обнуляются перед началом цикла.
  • Счётчик отвечает на вопрос «сколько», сумматор — «какова сумма».
  • Среднее арифметическое равно сумматору, делённому на счётчик.