GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO06Média⏱ medio

Qual problema principal ocorre quando uma função recursiva modifica uma variável global ao percorrer uma lista…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO06

Avaliar software levando em consideração diferentes características e métricas associadas.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Qual problema principal ocorre quando uma função recursiva modifica uma variável global ao percorrer uma lista L em vez de usar parâmetros locais?

  1. A) A função garante reusabilidade e modularidade ao utilizar variáveis globais.
  2. B) A função se torna mais rápida, pois evita passar parâmetros.
  3. C) A função se torna mais fácil de testar, pois todos os dados estão acessíveis.
  4. D) Não ocorre problema nenhum, a função funciona perfeitamente.
  5. E) A função passa a produzir efeitos colaterais, tornando-a não pura e menos previsível para testes e reutilização.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. Analise o que a questão pergunta: qual é o problema principal de uma função recursiva que altera uma variável global enquanto percorre uma lista L, em vez de trabalhar com parâmetros locais.
  2. Lembre-se do conceito de efeito colateral. Uma função pura depende apenas de seus argumentos e não altera nada fora de si. Quando ela modifica uma variável global, passa a ter efeitos colaterais: seu resultado e seu comportamento dependem do estado externo e podem mudar entre chamadas.
  3. Consequências práticas. Em recursão, cada chamada pode alterar o mesmo estado compartilhado, o que dificulta raciocinar sobre o que acontece em cada nível, torna os testes menos previsíveis (é preciso preparar o estado global antes de cada teste) e impede reutilizar a função em outros contextos sem efeitos inesperados.
  4. Por isso a alternativa E está correta, e o gabarito oficial também a indica.
  5. Por que as demais estão erradas:
  6. A) Variáveis globais reduzem a reusabilidade, pois acoplam a função a um estado externo específico.
  7. B) Evitar passar parâmetros não torna a função mais rápida; o problema é de design, não de desempenho.
  8. C) Ter todos os dados acessíveis não facilita testes; ao contrário, exige controlar o estado global antes de cada teste.
  9. D) Há problema sim: o comportamento fica dependente do estado global e a função deixa de ser previsível.

💡 Dica: Considere os efeitos de variáveis globais em funções recursivas.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que usar variáveis globais aumenta a reusabilidade, pois a função teria acesso fácil aos dados de qualquer lugar do programa.

B Erradaerro: Conceitual

Associa passar parâmetros a custo computacional e supõe que evitá-los melhora o desempenho da função recursiva.

C Erradaerro: Senso comuma que mais engana

Confunde acessibilidade dos dados com testabilidade, achando que ter tudo disponível globalmente facilita os testes, sem perceber que o estado compartilhado torna os resultados dependentes de chamadas anteriores.

Por que engana: O aluno pode acreditar que o uso de variáveis globais melhora a modularidade e a reusabilidade da função, ignorando os efeitos colaterais.

D Erradaerro: Conceitual

Acha que, como a função 'funciona' e produz o resultado esperado em um caso isolado, não há problema de design, ignorando efeitos colaterais e dependência do estado global.

E Correta

Variáveis globais introduzem dependência de estado externo: chamadas não são reentrantes, testes ficam mais difíceis e comportamentos podem variar com chamadas paralelas.

Raio-X da questão

Dificuldade Média
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✍️ direta🧩 progressao
🎯 Conceito central

funções recursivas

📌 Objetivo

diagnostico

🧱 Pré-requisitos

funções recursivas · variáveis globais

📚 Reveja

Revisar o uso de variáveis globais em funções recursivas.

⚠️ Erro mais comum

O aluno pode acreditar que o uso de variáveis globais melhora a modularidade e a reusabilidade da função, ignorando os efeitos colaterais.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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.