Durante uma feira de ciências, equipes de estudantes mostraram dois algoritmos escritos em linguagem de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Durante uma feira de ciências, equipes de estudantes mostraram dois algoritmos escritos em linguagem de pseudocódigo para calcular a soma de elementos em diferentes listas de números. O primeiro algoritmo define uma variável soma e atribui 0, depois percorre cada número da lista A, adicionando-o à soma e retorna o resultado. O segundo algoritmo cria somaB com valor 0, percorre cada valor em lista B, verifica se o valor é maior que 10 antes de somá-lo, e então retorna somaB. Essas duas instâncias resolvem problemas de soma de listas com critérios distintos. Compare as duas instâncias e identifique qual ação é indispensável antes de iniciar a repetição que acumula valores.
- A) Retornar o valor acumulado antes de entrar no laço de repetição
- B) Comparar cada elemento ao valor zero dentro do laço de repetição
- C) Declarar uma variável temporária antes do laço sem atribuir valor inicial
- D) Inicializar a variável que acumula os valores com zero antes do laço de repetição
- E) Atribuir o primeiro elemento da lista à variável acumuladora antes do laço
✅ Resposta correta: alternativa D
Resolução passo a passo
- Observe o que os dois algoritmos têm em comum. Ambos declaram uma variável acumuladora (soma e somaB) e a iniciam com 0 antes de qualquer repetição. Só depois percorrem a lista e somam os valores. Essa é a etapa que deve ser feita antes do laço.
- Pense no que acontece sem essa inicialização. A variável acumuladora ainda não tem valor conhecido, e a primeira soma usaria um valor indefinido ou o resultado de execuções anteriores. Por isso, zerar o acumulador antes do laço é indispensável para que a soma comece do ponto correto, que é zero.
- Verifique cada alternativa. A alternativa D descreve exatamente essa ação: inicializar a variável acumuladora com zero antes do laço. A alternativa A está errada porque o valor acumulado ainda não existe antes do laço, e retornar o resultado só faz sentido no final. A alternativa B está errada porque comparar cada elemento com zero não prepara o acumulador; no segundo algoritmo, a comparação é com 10 e acontece dentro do laço. A alternativa C está errada porque declarar sem atribuir valor deixa a variável indefinida, o que quebra o acúmulo. A alternativa E está errada porque começar pelo primeiro elemento não é necessário e não faz parte dos dois algoritmos, que começam com 0.
- Conclusão. A ação indispensável antes do laço que acumula valores é inicializar o acumulador com zero, alternativa D, que coincide com o gabarito oficial.
💡 Dica: Observe como a variável acumuladora é inicializada antes do laço.
Alternativa por alternativa
O aluno imagina que o resultado precisa estar pronto antes da repetição, confundindo o momento de retornar o valor com o de preparar a variável. Ele não percebe que o acumulado só existe depois de o laço rodar.
O aluno associa a inicialização à comparação com zero, talvez porque o zero aparece nos algoritmos. Ele não percebe que a comparação do segundo algoritmo é com 10 e ocorre dentro do laço, não antes dele.
O aluno acha que declarar a variável já basta, sem dar a ela um valor inicial. Ele não percebe que uma variável sem valor não pode ser usada corretamente para acumular somas.
Por que engana: O aluno pode esquecer de inicializar a variável acumuladora, causando erro na soma dos valores.
Ambos pseudocódigos definem o acumulador como zero antes do laço para garantir a soma correta de todos os elementos.
O aluno acredita que o acumulador deve começar com o primeiro elemento da lista. Essa ideia até funciona em outras versões do algoritmo, mas não é a ação indispensável nem a usada pelos dois algoritmos, que começam em 0.
Raio-X da questão
inicialização de variável acumuladora
diagnostico
variáveis e atribuições · estruturas de repetição
Estude a importância de inicializar variáveis antes de usar em laços de repetição.
O aluno pode esquecer de inicializar a variável acumuladora, causando erro na soma dos valores.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Experimento curto para observar diferentes formas de somar números de uma lista: siga os passos 1) crie a lista…
- Ao decompor um algoritmo que soma valores de uma lista em uma variável acumuladora, qual ação deve ocorrer antes de…
- Escreva um pseudocódigo que, dada uma lista A de n inteiros, percorra pares ordenados (i,j) com i<j usando loops…
- Em um experimento de programação, um grupo de alunos deve calcular a soma de números. Se eles utilizarem um algoritmo…
- Em uma escola, uma equipe está desenvolvendo um programa para auxiliar estudantes em atividades de Matemática. O…
- Descreva o processo de criação de um programa que calcula a soma de todos os elementos de uma lista de números inteiros…
Todas as questões de Estratégias de solução de problemas - Generalização
🔎 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
