GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF69CO06Média⏱ medio

Ao generalizar um algoritmo que processa uma coleção e acumula resultados, qual prática relativa à variável…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO06

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

Ao generalizar um algoritmo que processa uma coleção e acumula resultados, qual prática relativa à variável acumuladora evita efeitos colaterais entre chamadas consecutivas do algoritmo?

  1. A) Usar uma única variável global para todas as funções do programa.
  2. B) Inicializar a acumuladora com um valor fixo fora do loop.
  3. C) Declarar a acumuladora como variável local inicializada dentro da função (não usar variável global).
  4. D) Declarar a acumuladora fora da função que a utiliza.
  5. E) Usar uma variável global para a acumuladora do resultado.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Resolvi a questão antes de olhar o gabarito. O problema pede a prática que impede que os valores de uma chamada do algoritmo contaminem a chamada seguinte. Passo 2: Um algoritmo que acumula resultados usa uma variável acumuladora que guarda a soma ou o total parcial. Se essa variável sobrevive entre chamadas, a segunda execução começa com o valor deixado pela primeira, o que gera efeito colateral. Passo 3: A solução é declarar a acumuladora como variável local, dentro da função, e inicializá-la ali a cada chamada. Assim, cada execução começa do zero e não depende do estado anterior. Passo 4: A alternativa C descreve exatamente essa prática, por isso é a correta, e coincide com o gabarito oficial. Passo 5: A alternativa A está errada, pois usar uma única variável global para todas as funções aumenta o acoplamento e espalha o estado compartilhado entre chamadas. Passo 6: A alternativa B está errada, pois inicializar fora do loop é uma boa prática dentro da função, mas, se a inicialização estiver fora da função, o valor persiste entre chamadas. Passo 7: A alternativa D está errada, pois declarar a acumuladora fora da função faz com que ela mantenha o valor entre chamadas consecutivas, gerando exatamente o efeito colateral que se quer evitar. Passo 8: A alternativa E está errada, pois uma variável global para o resultado persiste entre chamadas e torna o algoritmo dependente do histórico de execuções.

💡 Dica: Considere as práticas de inicialização da variável acumuladora.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno acredita que compartilhar uma única variável global entre todas as funções organiza melhor o programa e evita problemas. Ele ignora que o estado compartilhado é justamente a origem dos efeitos colaterais.

Por que engana: O aluno pode confundir o uso de variáveis globais e locais, optando por uma variável global que pode causar efeitos colaterais indesejados.

B Erradaerro: Procedimental

O aluno acha que a inicialização fora do loop é o que garante a reinicialização correta entre chamadas. Ele não percebe que a inicialização precisa estar no escopo da função, não apenas em relação ao laço.

C Correta

Variáveis locais são criadas e reinicializadas a cada chamada, evitando compartilhamento de estado e efeitos colaterais entre execuções.

D Erradaerro: Conceitual

O aluno confunde escopo com reinicialização e pensa que declarar a variável fora da função a mantém organizada. Na verdade, uma variável declarada fora da função persiste entre chamadas e acumula valores antigos.

E Erradaerro: Conceitual

O aluno supõe que, para o resultado ser acessível, a acumuladora precisa ser global. Ele não percebe que a variável global mantém o valor entre chamadas, causando o efeito colateral.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

variável acumuladora

📌 Objetivo

avaliacao

🧱 Pré-requisitos

variáveis em programação · escopo de variáveis

📚 Reveja

Revisar conceitos sobre algoritmos e variáveis acumuladoras.

⚠️ Erro mais comum

O aluno pode confundir o uso de variáveis globais e locais, optando por uma variável global que pode causar efeitos colaterais indesejados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.