Em pseudocódigo, um algoritmo acumula valores lidos em cada iteração usando a variável 'soma'. Ao executar…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em pseudocódigo, um algoritmo acumula valores lidos em cada iteração usando a variável 'soma'. Ao executar, 'soma' permanece sempre zero. Qual correção imediata do algoritmo relacionada à variável 'soma' corrige esse erro?
- A) Inicializar 'soma' após o laço (soma := 0) para começar a acumular corretamente.
- B) Remover a operação de soma dentro do laço para simplificar o algoritmo.
- C) Atualizar 'soma' apenas fora do laço para evitar somas desnecessárias.
- D) Inicializar 'soma' antes do laço (soma := 0) e atualizar dentro do laço (soma := soma + valor lido).
- E) Definir 'soma' como uma string e concatenar valores lidos a ela.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O enunciado descreve um acumulador. Para acumular valores lidos em cada iteração, a variável 'soma' precisa começar com um valor neutro (zero, para soma) e ser atualizada a cada passagem do laço, somando o valor lido ao total anterior. Se 'soma' permanece sempre zero, isso indica que ela nunca recebe o resultado da soma ou que é reinicializada a cada iteração.
- A correção imediata é inicializar 'soma := 0' antes do laço, para que o acumulador comece do zero uma única vez, e dentro do laço escrever 'soma := soma + valor lido', de modo que cada valor lido seja incorporado ao total. Essa é exatamente a alternativa D.
- Por que as outras estão erradas:
- A) Inicializar após o laço faz a soma ser zerada depois de toda a acumulação, de modo que o resultado final continua sem valor útil.
- B) Remover a soma do laço elimina justamente a operação que deveria acumular os valores, então o problema não é corrigido.
- C) Atualizar a soma apenas fora do laço impede a acumulação iterativa, pois um único valor não representa a soma de todas as leituras.
- E) Usar string e concatenação produz uma sequência de caracteres, não uma soma numérica, e não corrige o acumulador.
- Conclusão: o gabarito oficial D está correto, pois é a única alternativa que inicializa o acumulador antes do laço e o atualiza a cada iteração.
💡 Dica: Verifique como a variável 'soma' é atualizada no algoritmo.
Alternativa por alternativa
O aluno acredita que o zeramento deve ocorrer depois do laço, como se a soma pudesse ser iniciada ao final. Não percebe que o acumulador precisa estar pronto antes das iterações.
Por que engana: O aluno pode confundir a inicialização da variável 'soma' e tentar inicializá-la após o laço, o que impede a acumulação correta dos valores.
O aluno supõe que a soma é um recurso desnecessário e que retirá-la simplifica o algoritmo, sem perceber que o objetivo do algoritmo é justamente acumular os valores.
O aluno entende que atualizar a soma fora do laço evita operações repetidas, ignorando que a acumulação exige atualização a cada iteração com cada valor lido.
Sem inicialização correta e sem a operação de soma no corpo do laço, a variável não acumula os valores. A atribuição inicial define o estado; a atualização dentro do laço efetua a acumulação.
O aluno confunde soma numérica com concatenação de texto, achando que 'juntar' valores sempre equivale a somá-los. Isso ignora que o tipo da variável deve ser numérico para acumular totais.
Raio-X da questão
acumulação de valores
diagnostico
variáveis em algoritmos · laços de repetição
Revisar a lógica de acumulação em algoritmos.
O aluno pode confundir a inicialização da variável 'soma' e tentar inicializá-la após o laço, o que impede a acumulação correta dos valores.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um algoritmo que soma elementos: soma <- ?; para cada valor em lista faça soma <- soma + valor. Se a variável soma…
- Considere o pseudocódigo a seguir, que tenta somar todos os elementos de uma lista numérica chamada numeros. Ele foi…
- Durante uma aula de programação, um aluno tenta criar um programa que calcula a soma de números inteiros. Se ele…
- Lia criou um algoritmo que soma os números de uma lista. Ela quer usá-lo novamente sem misturar a soma nova com a…
- Em um algoritmo que soma notas usando uma variável acumuladora antes e dentro de um laço, por que é importante…
- Considere o pseudocódigo: soma <- 0; para i de 1 até 5: leia x; soma <- soma + x; fimPara; escreva(soma/5). Qual…
🔎 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
