Módulo 9 - Repetir ENQUANTO for preciso

O acumulador: o cofrinho do algoritmo

8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026

O que você vai aprender

  • Entender o que é um acumulador e quando usá-lo.
  • Diferenciar contador (soma sempre 1) de acumulador (soma o valor da vez).
  • Escrever a receita: total nasce com 0 antes do laço e cresce dentro dele.
  • Evitar o erro clássico de inicializar o acumulador dentro do laço.

Moeda a moeda: a ideia do acumulador

Pegue um cofrinho vazio e passe um mês jogando dentro dele toda moeda que sobrar no bolso. Um dia entram cinquenta centavos, no outro um real, no outro nada. No fim do mês, o cofrinho guarda a soma de tudo, sem que você tenha anotado parcela por parcela. Esse é o acumulador: uma variável que começa vazia (zero) e vai engordando com o valor de cada volta. O caixa do mercado faz isso na sua frente: cada bip da esteira soma o preço do produto ao total da compra, e o visor mostra o bolo crescendo.

Duas caixas de variável lado a lado ao longo de três voltas de um laço: a caixa do contador recebe sempre mais um e vai de 0 a 3; a caixa do acumulador recebe os valores 5, 12 e 8 e vai de 0 a 25. Setas mostram o valor de cada volta entrando em cada caixa.
Mesmo laço, dois destinos: o contador cresce de 1 em 1; o acumulador cresce do valor da vez.

A comparação com o contador esclarece tudo. Os dois são variáveis, os dois nascem zerados antes do laço, os dois crescem dentro dele. A diferença está no tamanho do passo: o contador dá sempre o mesmo passo, +1, porque responde “quantas vezes?”. O acumulador dá um passo diferente a cada volta, o valor daquela volta, porque responde “quanto ao todo?”. Na compra do mercado, o contador diria 12 itens; o acumulador diria 187 reais e 40 centavos. Perguntas diferentes, mesmo esqueleto.

Contador e acumulador lado a lado

total <- 0
itens <- 0
enquanto houver produto na esteira faça
  leia(preco)
  total <- total + preco
  itens <- itens + 1
fim
escreva(itens, " itens, total de R$ ", total)
// para os preços 5, 12 e 8, a tela mostra: 3 itens, total de R$ 25

Os dois padrões no mesmo laço: itens conta as voltas, total acumula os preços.

O exemplo acima mostra os dois padrões convivendo no mesmo laço, que é o cenário mais comum na prática. E abre a porta para um truque clássico: com o total e a quantidade em mãos, a média da compra é uma divisão, total / itens. É assim que um professor calcula a média da turma, que um aplicativo de corrida calcula seu ritmo médio e que o boletim fecha a sua nota: um laço, um acumulador, um contador e uma divisão no final. Três aulas de curso, metade dos relatórios do mundo.

🎮 Jogo da aula

Contador ou acumulador?

Para cada tarefa, decida qual padrão resolve: contar as ocorrências ou juntar os valores.

Uma dica de leitura para os laços que você encontrar por aí: olhe para a linha de crescimento. Se o que entra na soma é um valor fixo 1, é contador. Se o que entra é uma variável que muda a cada volta (preco, nota, distancia), é acumulador. Essa distinção de um segundo diz na hora qual pergunta o laço está respondendo, antes mesmo de você ler o resto do programa.

O detalhe que derruba iniciantes: inicializar no lugar certo

Agora o alerta mais importante da aula. Se a linha total <- 0 escorregar para DENTRO do laço, o programa continua rodando sem nenhuma mensagem de erro, mas o resultado apodrece em silêncio: a cada volta, o total é rezerado antes de receber o preço da vez. No fim, em vez da soma da compra inteira, a variável guarda só o preço do último produto. O caixa cobraria 8 reais por uma compra de 25. Erro sem estrondo é o pior tipo de erro, porque ninguém percebe até o prejuízo aparecer.

Vale registrar um caso especial para não virar surpresa mais adiante: nem todo acumulador começa em zero. Se em vez de somar você for MULTIPLICAR os valores (algo que aparece em juros compostos e em fatoriais), o ponto de partida é 1, porque qualquer coisa multiplicada por zero morre em zero. O princípio geral é o mesmo: o valor inicial é o elemento neutro da operação, aquele que não estraga a primeira volta. Para a soma, 0; para a multiplicação, 1.

Teste rápido

Um programa soma os preços de 4 produtos (10, 20, 30 e 40), mas a linha total <- 0 ficou DENTRO do laço. O que aparece no fim?

Perguntas frequentes

Qual é a diferença entre contador e acumulador, em uma frase?
O contador soma sempre 1 e responde “quantas vezes aconteceu?”; o acumulador soma o valor da vez e responde “quanto deu ao todo?”. Os dois seguem a mesma receita: nascem zerados antes do laço, crescem dentro dele e entregam o resultado depois.
O acumulador sempre começa em zero?
Para somas, sim: zero é o valor que não atrapalha a primeira adição. Para multiplicações, o início é 1, pelo mesmo motivo. A regra geral é começar pelo elemento neutro da operação, o valor que deixa a primeira volta passar ilesa.
Posso ter contador e acumulador no mesmo laço?
Pode, e essa dupla é a base de um cálculo famoso: a média. O acumulador junta as notas, o contador conta quantas foram, e a divisão de um pelo outro no fim do laço entrega a média da turma, do mês de gastos ou do ritmo de corrida.
O que acontece se eu esquecer de inicializar o acumulador?
No pseudocódigo do curso, somar em uma variável que nunca recebeu valor é um erro de lógica: não existe “valor atual” para a primeira soma. Linguagens reais reagem de formas diferentes (erro na hora ou resultado sem sentido), então o hábito de inicializar antes do laço vale ouro em qualquer uma.
Acumulador só funciona com números?
A ideia se estende a textos: dá para começar com um texto vazio e ir emendando um pedaço a cada volta, montando uma mensagem ou um relatório linha a linha. O padrão é o mesmo, muda a operação: em vez de somar, juntar.
Onde os acumuladores aparecem na vida real?
Em todo lugar onde existe um total que cresce aos poucos: o subtotal do carrinho de compras, o odômetro do carro, o consumo do mês na conta de luz, o total de horas de estudo no painel deste curso. Se um número agrega muitos valores ao longo do tempo, há um acumulador por trás.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.