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
- “Quando dois barcos chegam juntos, preciso consultar os horários previstos, a quantidade de pescado e o espaço livre em…
- Pesquisadores acompanham a catalogação digital de objetos de um centro cultural. Para reduzir registros duplicados, o…
- Durante uma feira de produtos da agricultura familiar, uma estudante utiliza uma planilha digital para registrar os…
- Considere três instâncias de um mesmo problema de cálculo de imposto municipal sobre venda: instância A (região urbana…
- Projete a assinatura de um algoritmo que calcula o desvio padrão de uma coleção de dados numéricos e aceite uma variável…
- Dadas três instâncias do problema de distribuição de kits de informática a escolas (A:10 kits, rede lenta, técnico…
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
