Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre módulos, qual prática é mais adequada?
- A) Usar variáveis fixas em todas as funções sem parâmetros.
- B) Ignorar a passagem de dados entre funções para reduzir complexidade.
- C) Aumentar o número de variáveis globais para simplificar tudo.
- D) Globalizar todas as variáveis para facilitar o acesso.
- E) Encapsular variáveis como parâmetros e retornos de funções, mantendo dados locais aos módulos.
✅ Resposta correta: alternativa E
Resolução passo a passo
- A questão pergunta qual prática, ao aplicar decomposição para reduzir acoplamento entre módulos de um algoritmo que usa variáveis globais, é mais adequada. Acoplamento é o grau de dependência entre módulos: quanto mais um módulo depende de detalhes internos ou de dados compartilhados de outro, mais acoplado ele está.
- Para reduzir esse acoplamento, o caminho clássico é diminuir o compartilhamento de estado global. Os dados devem ser passados explicitamente entre funções por meio de parâmetros e retornos, e cada módulo deve manter seus dados locais. Isso torna cada módulo independente e fácil de testar.
- A alternativa E descreve exatamente essa prática: encapsular variáveis como parâmetros e retornos de funções e manter dados locais aos módulos. Por isso ela está correta, e coincide com o gabarito oficial.
- Por que as outras estão erradas:
- A) Variáveis fixas em todas as funções sem parâmetros criam dependência de valores fixos e não resolvem o acoplamento, além de tornar o algoritmo inflexível.
- B) Ignorar a passagem de dados entre funções impede a comunicação entre módulos, o que quebra o algoritmo em vez de simplificá-lo.
- C) Aumentar o número de variáveis globais intensifica o acoplamento, pois mais módulos passam a depender do mesmo estado compartilhado.
- D) Globalizar todas as variáveis é justamente a causa do acoplamento excessivo, sendo a prática oposta à desejada.
- Conclusão: a boa decomposição minimiza o estado global e deixa a comunicação entre módulos explícita por meio de parâmetros e retornos.
💡 Dica: Considere as práticas de programação modular.
Alternativa por alternativa
O aluno acredita que fixar valores dentro de todas as funções, sem parâmetros, isola os módulos. Na verdade, isso embute dados rígidos no código e impede reutilização.
O aluno entende que menos troca de dados entre funções significa menos complexidade. Mas sem passagem de dados os módulos não conseguem cooperar, e o acoplamento não cai de verdade.
O aluno confunde simplificar com centralizar: acha que concentrar tudo em variáveis globais elimina dependências. Na prática, cada global nova é um ponto de acoplamento adicional.
O aluno associa facilidade de acesso ao código limpo, a intuição do dia a dia de que tudo ao alcance simplifica. Mas tornar tudo global é exatamente o que cria o acoplamento que se quer reduzir.
Por que engana: Confundir o uso de variáveis globais com a prática de encapsulamento, levando a um acoplamento excessivo entre módulos.
Parâmetros e retornos tornam dependências explícitas; variáveis locais evitam efeitos colaterais, reduzindo acoplamento e facilitando testes e manutenção.
Raio-X da questão
decomposição em algoritmos
avaliacao
decomposição em algoritmos · variáveis em programação
Revisar práticas de programação modular e acoplamento.
Confundir o uso de variáveis globais com a prática de encapsulamento, levando a um acoplamento excessivo entre módulos.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Ao decompor um programa que usa várias variáveis para operação de sensores, qual prática reduz o acoplamento entre…
- Ao decompor um algoritmo que atualiza a mesma variável de estado em várias subtarefas, que estratégia reduz efeitos…
- Ao decompor um algoritmo complexo em módulos, qual é o principal risco relacionado ao uso de variáveis globais entre…
- Qual é a finalidade principal de decompor um algoritmo em subtarefas ao projetar uma solução que utiliza variáveis…
- Qual vantagem direta de transformar uma variável global em parâmetro de função ao decompor um algoritmo que manipula…
- Para tornar um algoritmo reutilizável e seguro para execução paralela, qual prática relacionada a variáveis e efeitos…
🔎 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
