В чем разница между счетчиком и аккумулятором?

Я не уверен, в чем разница, но вот проблемы.

Написать оператор присваивания, который обновляет переменную счетчика с именем numStudents на 1.
будет ли это:

numStudents = numStudents + 1

?
Моя другая проблема

Напишите оператор присваивания, который обновляет переменную аккумулятора с именем total на значение в переменной sales.
было бы идентично, как:

итого = итого + продажи

?

6

Решение

На ваш вопрос нет однозначного, однозначного и однозначного ответа.

Можно сказать, что счетчик переменная, которая увеличивается каждый раз при проверке данного события (например, при итерации массива каждый раз, когда вы встречаете число 5, вы можете увеличивать счетчик на 1).

Понятие может быть обобщено, потому что на каждом шаге есть счетчики, которые увеличиваются на 2 или 3, или на любое значение, которое вы хотите; однако семантика счетчика обычно теряет смысл, если шаг не всегда одно и то же В конечном итоге это зависит от логики вашей программы: если вы отслеживаете одноместные и двухместные номера в отеле, ваш numGuests Счетчик может быть увеличен с шагом 1 а также 2 в зависимости от комнат, которые вы обрабатываете в данный момент, однако можно утверждать, что в конце это просто для ясности или краткости, потому что результат такой же, как увеличение его на 1, дважды!

аккумулятор вместо этого это переменная, которая, например, хранит сумму элементов массива (т.е. у вас нет фиксированного шага, но приращение изменяется в зависимости от элементов, с которыми вы сталкиваетесь).

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

Если у вас есть аккумулятор по имени total с начальным значением 0 и массив, который содержит продажи за 12 месяцев года, применяя это определение с + (дополнение) как наш f, доберусь до п-й шаг продаж для первого N месяцы года.

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

6

Другие решения

«Счетчик» и «аккумулятор» означают разные вещи для разных людей. Что они значат для вашего профессора, может сказать только ваш профессор.

Тем не менее, очень часто, когда кто-то ссылается на счетчик, он имеет в виду «посчитайте, сколько вещей [которые соответствуют этим критериям]».

С другой стороны, часто, когда люди говорят, что вы должны что-то накапливать, они имеют в виду «сложить общую стоимость всех этих вещей [которые соответствуют этим критериям]»

Вот пример. Предположим, у вас есть множество учеников, и эти ученики имеют возраст:

{16, 17, 16, 19}

Посчитайте, сколько учеников 17 лет или старше? Ответ 2.
Назовите общий возраст учащихся в возрасте 17 лет и старше? Ответ 19 + 16 = 35.

3

По моему опыту, программисты используют «счетчик» для обозначения чего-то, что считает вещи по одному или иногда фиксированный интервал за раз. То же самое не обязательно относится к «аккумулятору», хотя это не значит, что что-то учитывается по одному не аккумулятор.

2