Ao decompor um algoritmo que atualiza a mesma variável de estado em várias subtarefas, que estratégia reduz…
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
Ao decompor um algoritmo que atualiza a mesma variável de estado em várias subtarefas, que estratégia reduz efeitos colaterais e facilita o reúso das subtarefas?
- A) Tratar estados de forma independente: cada função controla seu próprio estado.
- B) Encapsular o estado: passar o valor como parâmetro às subtarefas e retornar o novo valor, evitando variáveis globais compartilhadas.
- C) Usar constante para valores de estado: não passa valores entre subtarefas.
- D) Manter variáveis globais: permite acesso rápido a estados por todas as subtarefas.
- E) Duplicar a lógica em cada subtarefa: cada uma atualiza a variável diretamente.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado pergunta qual estratégia reduz efeitos colaterais quando várias subtarefas atualizam a mesma variável de estado, e que facilita o reúso dessas subtarefas. Efeito colateral ocorre quando uma subtarefa altera algo que outra parte do programa usa sem que isso seja explícito.
- Resolvendo por conta própria, a solução clássica é controlar o estado de forma explícita: a subtarefa recebe o valor atual como parâmetro, trabalha sobre ele e devolve o novo valor. Assim, a dependência fica visível na assinatura da função, não há alteração escondida de variáveis compartilhadas, e a subtarefa pode ser reutilizada em outros contextos sem depender de um estado global específico. Isso corresponde à alternativa B.
- Por que as outras estão erradas:
- A) Estados independentes por função impedem que subtarefas compartilhem a informação necessária, o que não resolve a atualização de uma mesma variável.
- C) Constantes não podem ser atualizadas, logo não servem para representar um estado que muda.
- D) Variáveis globais são justamente a fonte de efeitos colaterais, pois qualquer subtarefa pode alterá-las sem aviso.
- E) Duplicar a lógica aumenta a manutenção e os erros, e cada cópia continua mexendo diretamente no estado, o que não reduz efeitos colaterais nem favorece o reúso.
- Conclusão: a alternativa B está correta e coincide com o gabarito oficial.
💡 Dica: Considere as práticas de programação que minimizam efeitos colaterais.
Alternativa por alternativa
O aluno acredita que isolar o estado em cada função evita conflitos, sem perceber que a variável precisa ser compartilhada e atualizada de forma coordenada entre subtarefas.
Por que engana: Confundir o uso de variáveis globais com a passagem de parâmetros, levando a efeitos colaterais indesejados nas subtarefas.
Encapsulamento e passagem explícita de parâmetros tornam as subtarefas independentes, simplificam testes e evitam conflitos de estado.
O aluno confunde estado com constante, imaginando que transformar o valor em constante elimina a necessidade de atualizá-lo entre as subtarefas.
O aluno associa acesso rápido e cômodo a boa prática, ignorando que variáveis globais permitem alterações não rastreáveis e aumentam os efeitos colaterais.
O aluno pensa que repetir a lógica em cada subtarefa deixa o código mais autônomo, sem perceber que a duplicação dificulta manutenção e reúso.
Raio-X da questão
decomposição de algoritmos
avaliacao
decomposição de algoritmos · variáveis e estados
Revisar estratégias de programação para evitar efeitos colaterais.
Confundir o uso de variáveis globais com a passagem de parâmetros, levando a efeitos colaterais indesejados nas subtarefas.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Qual é a finalidade principal de decompor um algoritmo em subtarefas ao projetar uma solução que utiliza variáveis…
- Para tornar um algoritmo reutilizável e seguro para execução paralela, qual prática relacionada a variáveis e efeitos…
- Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre módulos…
- Ao generalizar um algoritmo que processa uma coleção e acumula resultados, qual prática relativa à variável acumuladora…
- Em um algoritmo paralelo que atualiza contadores por turma, qual prática reduz a necessidade de locks ao manipular uma…
- Uma equipe dividiu um programa em várias threads para executar tarefas ao mesmo tempo. Durante os testes, duas threads…
🔎 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
