Em um algoritmo que soma notas usando uma variável acumuladora antes e dentro de um laço, por que é importante…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que soma notas usando uma variável acumuladora antes e dentro de um laço, por que é importante inicializar essa variável antes do laço?
- A) Para que o acumulador mantenha o valor da última soma realizada.
- B) Para garantir que o algoritmo não retorne um erro de execução.
- C) Para garantir um valor inicial conhecido (por exemplo 0), evitando somas com valor indefinido que resultariam em cálculo incorreto.
- D) Para que a variável seja comparada durante o laço.
- E) Para evitar que o laço não execute nenhuma vez.
✅ Resposta correta: alternativa C
Resolução passo a passo
- Um acumulador é uma variável que guarda um total que vai crescendo a cada repetição do laço, por exemplo soma = soma + nota.
- Para que a primeira operação soma = soma + nota produza um resultado correto, a variável precisa já ter um valor conhecido no momento em que o laço começa. Em muitas linguagens, uma variável não inicializada tem valor indefinido (lixo de memória) ou nem pode ser usada, então a soma partiria de um valor arbitrário.
- Por isso se inicializa o acumulador com um valor neutro para a soma, normalmente 0. Assim, o total começa do zero e cada nota é adicionada corretamente.
- Analisando as demais alternativas: A está errada porque o acumulador não é 'mantido' como resultado da última soma antes da inicialização; essa propriedade vem do próprio laço e não da inicialização. B está errada porque a inicialização não serve para evitar erro de execução em geral, e sim para garantir o cálculo correto. D está errada porque a variável acumuladora não é comparada durante o laço como finalidade da inicialização. E está errada porque a inicialização não impede o laço de executar zero vezes; isso depende da condição do laço, não do valor inicial do acumulador.
- Portanto, a alternativa C é a correta e coincide com o gabarito oficial.
💡 Dica: Considere o que pode acontecer se a variável não tiver um valor inicial definido.
Alternativa por alternativa
Acredita que o acumulador guarda automaticamente a última soma e que a inicialização serve para preservar esse valor. Na prática, a inicialização define o ponto de partida do total.
Supõe que, sem inicialização, o programa apenas travaria com erro. O problema real é que a soma pode dar resultado incorreto por partir de um valor indefinido.
Por que engana: Confundir a inicialização do acumulador com a prevenção de erros de execução ou com o controle das repetições do laço.
Variáveis não inicializadas podem conter valores indeterminados; definir o acumulador em zero assegura que cada iteração some corretamente e que o resultado seja determinístico.
Confunde a função do acumulador com a de uma variável de controle ou contador de condição de parada. A inicialização não tem relação com comparações feitas no laço.
Acha que o valor inicial da variável decide se o laço executa ou não. Quem controla a quantidade de repetições é a condição do laço, não o valor do acumulador.
Raio-X da questão
Inicialização de variável acumuladora
avaliacao
Variáveis e atribuição de valores · Laços de repetição
Revise a inicialização de variáveis e o funcionamento de acumuladores em algoritmos.
Confundir a inicialização do acumulador com a prevenção de erros de execução ou com o controle das repetições do laço.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- Durante uma aula de programação, um aluno tenta criar um programa que calcula a soma de números inteiros. Se ele…
- Em um algoritmo que soma valores usando a variável acumuladora 'total', qual é a consequência se 'total' não for…
- Ao decompor um algoritmo que soma valores de uma lista em uma variável acumuladora, qual ação deve ocorrer antes de…
- Em pseudocódigo, um algoritmo acumula valores lidos em cada iteração usando a variável 'soma'. Ao executar, 'soma'…
- Em um algoritmo que calcula a soma cumulativa de uma lista de dados, qual subtarefa da decomposição prepara a variável…
- Em um algoritmo que soma elementos: soma <- ?; para cada valor em lista faça soma <- soma + valor. Se a variável soma…
🔎 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
