Num algoritmo que percorre uma lista chamada dados e atualiza uma variável 'contador' a cada iteração, onde a…
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
Num algoritmo que percorre uma lista chamada dados e atualiza uma variável 'contador' a cada iteração, onde a variável 'contador' deve ser declarada para acumular corretamente o total entre iterações?
- A) Declarada na função principal, sem acesso ao laço que atualiza.
- B) Declarada fora do laço, em escopo que persista entre as iterações (antes do loop).
- C) Declarada como uma constante para evitar alterações indesejadas.
- D) Declarada como um vetor para manter múltiplos contadores.
- E) Declarada dentro do laço, pois facilita a contagem a cada iteração.
✅ Resposta correta: alternativa B
Resolução passo a passo
- Analise o problema. Um algoritmo percorre a lista dados e precisa acumular um total ao longo das iterações, usando uma variável chamada contador.
- Entenda o que acumular significa. Para acumular, o valor atual precisa sobreviver de uma iteração para a próxima. Se a variável for recriada a cada volta do laço, ela perde o valor anterior e o total nunca cresce de forma correta.
- Identifique o escopo adequado. A variável deve ser inicializada antes do laço, em um escopo que persista durante todas as iterações. Assim, cada volta soma sobre o valor já acumulado, por exemplo contador = 0 antes do laço e contador = contador + 1 dentro dele.
- Verifique as alternativas. A alternativa B descreve exatamente essa solução e está correta.
- Explique por que as outras estão erradas. A: o acesso ao laço é o que importa, e uma variável sem acesso ao laço não pode ser atualizada por ele. C: uma constante não pode ser alterada, então não acumula nada. D: um vetor de múltiplos contadores não é necessário para um único total e não corresponde ao enunciado. E: declarar dentro do laço reinicia a variável a cada iteração, impedindo o acúmulo.
💡 Dica: Pense na inicialização da variável antes do loop.
Alternativa por alternativa
Acredita que o problema é a visibilidade da variável na função principal, sem perceber que ela precisa estar acessível e persistir ao longo do laço que a atualiza.
Se declarada dentro do laço, 'contador' será reatribuída a cada iteração; declarando-a antes do loop mantém seu valor acumulado ao longo das iterações devido ao escopo.
Confunde a necessidade de proteger um valor com a de acumular; uma constante não pode ser reatribuída, portanto não serve para somar a cada iteração.
Supõe que acumular exige múltiplos contadores armazenados em vetor, quando um único total basta para somar os valores percorridos.
Imagina que declarar a variável dentro do laço facilita a contagem, sem perceber que ela é reinicializada em cada iteração e perde o total anterior.
Por que engana: O aluno pode confundir o escopo da variável, declarando-a dentro do laço e perdendo o valor acumulado a cada iteração.
Raio-X da questão
variáveis em algoritmos
avaliacao
variáveis em algoritmos · escopo de variáveis
Revisar como declarar e inicializar variáveis em algoritmos.
O aluno pode confundir o escopo da variável, declarando-a dentro do laço e perdendo o valor acumulado a cada iteração.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Num algoritmo que percorre uma lista de dados, qual operação deve ser aplicada a uma variável contador cada vez que um…
- Num algoritmo que percorre listas para somar valores, onde deve ser declarada a variável contadora do loop para evitar…
- Em um algoritmo que acumula ocorrências dentro de um loop, onde deve ser declarada a variável 'contador' para que ela…
- Em pseudocódigo, qual tipo de dado é mais adequado para a variável 'contador' que incrementa de 1 em 1 ao percorrer um…
- Em pseudocódigo, ao declarar uma variável chamada 'contador' para acumular o número de ocorrências de um dado, qual tipo…
- Em um algoritmo que calcula a soma dos elementos de uma lista usando um laço for, onde a variável 'total' deve ser…
🔎 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
