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
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?
- A) A função garante reusabilidade e modularidade ao utilizar variáveis globais.
- B) A função se torna mais rápida, pois evita passar parâmetros.
- C) A função se torna mais fácil de testar, pois todos os dados estão acessíveis.
- D) Não ocorre problema nenhum, a função funciona perfeitamente.
- 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
- 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.
- 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.
- 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.
- Por isso a alternativa E está correta, e o gabarito oficial também a indica.
- Por que as demais estão erradas:
- A) Variáveis globais reduzem a reusabilidade, pois acoplam a função a um estado externo específico.
- B) Evitar passar parâmetros não torna a função mais rápida; o problema é de design, não de desempenho.
- C) Ter todos os dados acessíveis não facilita testes; ao contrário, exige controlar o estado global antes de cada teste.
- 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
Acredita que usar variáveis globais aumenta a reusabilidade, pois a função teria acesso fácil aos dados de qualquer lugar do programa.
Associa passar parâmetros a custo computacional e supõe que evitá-los melhora o desempenho da função recursiva.
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.
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.
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
funções recursivas
diagnostico
funções recursivas · variáveis globais
Revisar o uso de variáveis globais em funções recursivas.
O aluno pode acreditar que o uso de variáveis globais melhora a modularidade e a reusabilidade da função, ignorando os efeitos colaterais.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Durante uma campanha de arrecadação, uma escola receberá alimentos e produtos de higiene para montar cestas destinadas a…
- Em um exercício de preparação para períodos de chuva intensa, uma central municipal de Defesa Civil precisa localizar…
- Em ações de fiscalização ambiental no Brasil, imagens de satélite podem ser comparadas em diferentes datas para indicar…
- Uma família criou um programa para organizar as compras do mês. O programa recebe os preços, soma os produtos e…
- — Sem conexão estável no rio, o alerta precisa aparecer no próprio tablet — afirmou a técnica que acompanha sons de aves…
- Falhas em formulários digitais de serviços públicos levaram um setor de tecnologia a testar cinco programas de análise…
🔎 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
