Qual vantagem direta de transformar uma variável global em parâmetro de função ao decompor um algoritmo que…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Qual vantagem direta de transformar uma variável global em parâmetro de função ao decompor um algoritmo que manipula dados de cadastro?
- A) Permite que variáveis globais sejam acessadas de qualquer lugar.
- B) Aumenta a complexidade do código, tornando-o mais difícil de entender.
- C) Reduz efeitos colaterais e acoplamento entre módulos.
- D) Facilita a dependência entre módulos, já que todos compartilham a variável.
- E) Elimina a necessidade de testar funções individualmente.
✅ Resposta correta: alternativa C
Resolução passo a passo
- A questão pergunta qual é a vantagem direta de substituir uma variável global por um parâmetro de função ao decompor um algoritmo. Ao receber o dado por parâmetro, a função depende apenas do que lhe é passado, e não de um estado compartilhado que pode ser alterado por qualquer outra parte do programa.
- Quando a função lê e altera uma variável global, ela produz efeitos colaterais: qualquer outra função que use essa variável pode ser afetada sem aviso. Isso também cria acoplamento, pois os módulos ficam presos ao mesmo estado compartilhado.
- Com o parâmetro, a função recebe o valor, trabalha com ele e devolve o resultado por retorno. Assim, o comportamento fica previsível, o módulo pode ser reutilizado e testado isoladamente, e as mudanças em um ponto do código têm impacto mais localizado. Por isso a alternativa C está correta.
- Por que as demais estão erradas:
- A) Variáveis globais acessíveis de qualquer lugar são justamente o problema que se quer evitar, não uma vantagem.
- B) Aumentar a complexidade e dificultar o entendimento é o oposto do objetivo de uma boa decomposição.
- D) Maior dependência entre módulos é um efeito negativo, pois aumenta o acoplamento.
- E) A passagem por parâmetro facilita o teste das funções, mas não elimina a necessidade de testá-las.
- O gabarito C está coerente com a análise feita.
💡 Dica: Considere as implicações de escopo e reutilização de código.
Alternativa por alternativa
O aluno acredita que o acesso irrestrito a uma variável global é benefício, por tornar os dados disponíveis em qualquer ponto do programa, sem perceber que isso é a fonte do problema.
O aluno entende que código mais complexo pode ser mais robusto, ou não associa a decomposição à clareza e à organização do código.
Por que engana: Confundir a transformação de variáveis globais em parâmetros como algo que aumenta a complexidade do código, ao invés de reduzir efeitos colaterais.
Parâmetros locais evitam dependência de estado global, tornando funções mais previsíveis, fáceis de testar e reutilizar, além de reduzir bugs causados por escritas inesperadas.
O aluno confunde compartilhamento de dados com boa integração, supondo que depender de uma variável comum facilita a comunicação entre módulos, quando na verdade cria acoplamento.
O aluno acredita que, por a função receber parâmetros explícitos, os testes deixam de ser necessários; ele confunde facilitar o teste com eliminar a necessidade de testar.
Raio-X da questão
variáveis e funções
avaliacao
variáveis e funções · decomposição de algoritmos
Revisar o conceito de escopo de variáveis em programação.
Confundir a transformação de variáveis globais em parâmetros como algo que aumenta a complexidade do código, ao invés de reduzir efeitos colaterais.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Por que, ao generalizar um algoritmo para várias instâncias, é preferível passar dados via parâmetros em vez de usar…
- Considere um algoritmo que calcula a média de notas por turma. Ao aplicar decomposição, qual vantagem de usar uma…
- Qual é o principal benefício da decomposição de um algoritmo em subrotinas (funções) ao lidar com um problema complexo?
- Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre módulos…
- Quando criamos um algoritmo que utiliza parâmetros, qual é a principal vantagem que obtemos?
- Qual é a finalidade principal de decompor um algoritmo em subtarefas ao projetar uma solução que utiliza variáveis…
Todas as questões de Estratégias de solução de problemas - Decomposiçã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
