Em um algoritmo que acumula ocorrências dentro de um loop, onde deve ser declarada a variável 'contador' para…
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
Em um algoritmo que acumula ocorrências dentro de um loop, onde deve ser declarada a variável 'contador' para que ela mantenha o valor entre iterações?
- A) Colocar a declaração de contador após o laço.
- B) Usar um vetor para armazenar contadores em vez de uma variável.
- C) Declarar contador como uma constante em vez de variável.
- D) Declarar a variável contador dentro do laço, no início da iteração.
- E) Declarar a variável contador fora do laço (escopo externo ao loop).
✅ Resposta correta: alternativa E
Resolução passo a passo
- Para acumular ocorrências dentro de um laço, a variável contador precisa guardar seu valor de uma iteração para a outra. Isso só acontece se ela existir antes do laço, com valor inicial (por exemplo, contador recebe 0), e for atualizada a cada passagem (contador recebe contador + 1 quando a ocorrência acontece).
- Quando a variável é declarada fora do laço (escopo externo), ela é criada uma única vez e continua existindo durante todas as iterações. Por isso a alternativa E é a correta e coincide com o gabarito oficial.
- Por que as outras estão erradas: a alternativa A declara a variável depois do laço, então ela não existe enquanto o laço acumula valores; a alternativa B troca a variável por um vetor, o que não é exigido pela pergunta e não responde onde declarar a variável; a alternativa C transforma o contador em constante, mas constantes não podem ser alteradas, então não há acumulação; a alternativa D declara a variável dentro do laço, o que faz ela ser recriada a cada iteração e perder o valor anterior.
- Conclusão: a variável de acumulação deve ser declarada e inicializada fora e antes do laço, na alternativa E.
💡 Dica: Considere onde as variáveis são declaradas em um loop.
Alternativa por alternativa
O aluno acha que a variável só precisa existir depois que o laço termina, como se o acúmulo fosse feito apenas no final. Ele não percebe que o laço precisa usar e atualizar a variável durante toda a execução.
O aluno acredita que é necessário trocar a variável por uma estrutura de vetor para acumular valores em laços. Ele confunde a necessidade de manter o valor entre iterações com o uso de estruturas de dados mais complexas, que não são exigidas aqui.
O aluno pensa que declarar como constante garante que o valor se mantenha entre iterações. Ele não percebe que constantes têm valor fixo e não podem ser atualizadas, o que impede a contagem.
O aluno imagina que declarar a variável no início de cada iteração organiza melhor o código. Ele não percebe que a declaração dentro do laço recria a variável a cada passagem, zerando o valor acumulado anteriormente.
Por que engana: Declarar a variável contador dentro do laço, fazendo com que seu valor seja reiniciado a cada iteração.
Se a variável for declarada dentro do laço, ela é reinicializada a cada iteração; declarada fora, preserva e acumula o valor entre iterações.
Raio-X da questão
declaração de variáveis
avaliacao
escopo de variáveis · estrutura de laços
Revisar escopo de variáveis em algoritmos.
Declarar a variável contador dentro do laço, fazendo com que seu valor seja reiniciado a cada iteração.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- 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 de repetição, como utilizamos a variável contadora?
- Num algoritmo que percorre listas para somar valores, onde deve ser declarada a variável contadora do loop para evitar…
- Em pseudocódigo, qual tipo de dado é mais adequado para a variável 'contador' que incrementa de 1 em 1 ao percorrer um…
- Considere o trecho de um algoritmo: contador <- 0; enquanto contador < 5 faça contador <- contador + 1. Nesse algoritmo…
- Em um algoritmo que contém uma função que soma elementos de uma lista e usa uma variável contador temporária dentro…
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
