Em um algoritmo que calcula a soma dos elementos de uma lista usando um laço for, onde a variável 'total' deve…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que calcula a soma dos elementos de uma lista usando um laço for, onde a variável 'total' deve ser declarada para acumular corretamente sem reiniciar a cada iteração?
- A) Declarar 'total' dentro do laço para somar os elementos a cada iteração.
- B) Declarar 'total' como uma lista para acumular os valores.
- C) Usar apenas um laço while sem acumular o valor anterior de 'total'.
- D) Declarar 'total' como uma variável local de função chamada dentro do laço.
- E) Declarar 'total' fora do laço, antes da primeira iteração.
✅ Resposta correta: alternativa E
Resolução passo a passo
- A questão pergunta onde declarar a variável 'total' para que ela acumule a soma dos elementos de uma lista dentro de um laço for, sem ser reiniciada a cada iteração. Passo 2: Para acumular, a variável precisa existir antes do laço e guardar seu valor entre uma iteração e outra. Se for declarada dentro do laço, ela é recriada (ou zerada) a cada volta, e só o último elemento seria preservado. Passo 3: Por isso a alternativa correta é a E: declarar 'total' fora do laço, antes da primeira iteração, por exemplo com total = 0. Dentro do laço, a instrução total = total + elemento soma cada valor ao acumulado. Passo 4: A alternativa A está errada porque declarar 'total' dentro do laço faz com que ela seja reiniciada a cada iteração, perdendo a soma anterior. Passo 5: A alternativa B está errada porque 'total' deve guardar um número (a soma), e não uma lista; uma lista não é necessária para acumular um valor único. Passo 6: A alternativa C está errada porque a questão trata de um laço for, e a proposta de usar while sem acumular o valor anterior contradiz exatamente o objetivo de somar corretamente. Passo 7: A alternativa D está errada porque uma variável local de função chamada dentro do laço também é recriada a cada chamada, não preservando o acumulado entre iterações. Passo 8: Conclusão: o gabarito oficial E está correto.
💡 Dica: Pense na inicialização da variável 'total'.
Alternativa por alternativa
Acredita que declarar a variável dentro do laço faz a soma acumular, quando na verdade ela é recriada em cada iteração e perde o valor anterior.
Por que engana: Declarar a variável 'total' dentro do laço, fazendo com que ela reinicie a cada iteração e não acumule os valores corretamente.
Confunde a natureza do acumulador: imagina que, para somar vários valores, é preciso armazená-los em uma lista, quando basta uma variável numérica que guarde o total parcial.
Entende que o while é a solução para qualquer repetição e não percebe que a questão exige um laço for e que o acumulador é justamente o que faz a soma funcionar, não o tipo de laço.
Supõe que uma variável local de função mantém seu valor entre chamadas ou iterações, quando variáveis locais são recriadas a cada execução do bloco ou da função.
Se 'total' for declarada dentro do laço, ela será re-inicializada a cada iteração; declarada fora, mantém o valor e acumula os somatórios.
Raio-X da questão
soma de elementos
fixacao
variáveis em programação · laços de repetição
Revisar a declaração e inicialização de variáveis em algoritmos.
Declarar a variável 'total' dentro do laço, fazendo com que ela reinicie a cada iteração e não acumule os valores corretamente.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Elabore um algoritmo em pseudocódigo para somar todos os números de uma lista de inteiros.
- Em um algoritmo que soma valores usando a variável acumuladora 'total', qual é a consequência se 'total' não for…
- Em um algoritmo que soma elementos: soma <- ?; para cada valor em lista faça soma <- soma + valor. Se a variável soma…
- Num algoritmo que percorre listas para somar valores, onde deve ser declarada a variável contadora do loop para evitar…
- Ao decompor um algoritmo que soma valores de uma lista em uma variável acumuladora, qual ação deve ocorrer antes de…
- Descreva o processo de criação de um programa que calcula a soma de todos os elementos de uma lista de números inteiros…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
