Qual é a finalidade principal de decompor um algoritmo em subtarefas ao projetar uma solução que utiliza…
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 é a finalidade principal de decompor um algoritmo em subtarefas ao projetar uma solução que utiliza variáveis locais para gerenciar estado?
- A) A ideia é criar um algoritmo mais longo, onde cada subtarefa está embutida em outras.
- B) A finalidade é eliminar o uso de variáveis locais para evitar gerenciamento de estado.
- C) Reduzir a complexidade tornando cada subtarefa mais simples de entender, implementar e testar, isolando o estado em variáveis locais.
- D) O objetivo é aumentar a complexidade, misturando várias tarefas em uma função única.
- E) Facilitar a comunicação entre usuários sobre o funcionamento do algoritmo em tempo real.
✅ Resposta correta: alternativa C
Resolução passo a passo
- A questão pergunta a finalidade principal de decompor um algoritmo em subtarefas quando a solução usa variáveis locais para controlar estado.
- Decompor significa dividir um problema grande em partes menores e mais simples. Cada subtarefa pode ser entendida, implementada e testada separadamente, o que reduz a complexidade geral da solução.
- Quando cada subtarefa usa suas próprias variáveis locais, o estado fica isolado dentro dela e não se espalha por todo o algoritmo, o que facilita o controle e a manutenção.
- Assim, a alternativa C descreve corretamente a finalidade: reduzir a complexidade, tornando as partes mais simples, com estado isolado em variáveis locais.
- A alternativa A está errada, pois decompor não significa embutir subtarefas umas dentro das outras nem criar um algoritmo mais longo sem necessidade.
- A alternativa B está errada, pois variáveis locais são justamente uma ferramenta para organizar o estado, não algo a ser eliminado.
- A alternativa D está errada, pois a decomposição busca diminuir a complexidade, e não misturar tarefas em uma função única.
- A alternativa E está errada, pois a decomposição é uma técnica de projeto de solução, não um meio de comunicação entre usuários.
- Resposta: C, coincidindo com o gabarito oficial.
💡 Dica: Pense na organização e eficiência do algoritmo.
Alternativa por alternativa
Confunde decomposição com aninhamento: acredita que dividir em subtarefas significa embutir uma tarefa dentro da outra e alongar o algoritmo.
Entende que o gerenciamento de estado é um problema a ser evitado a qualquer custo, por isso imagina que eliminar variáveis locais seria o objetivo da decomposição.
Por que engana: Confundir a decomposição como um meio de aumentar a complexidade em vez de simplificá-la, levando a uma implementação confusa.
A decomposição separa responsabilidades, facilitando a implementação e o teste; variáveis locais limitam o escopo do estado, evitando efeitos colaterais entre módulos e simplificando a depuração.
Interpreta a decomposição como o oposto do que ela é, supondo que juntar tarefas numa única função seja uma forma de organizar a solução.
Associa a palavra 'decompor' à comunicação ou documentação do algoritmo, sem perceber que se trata de uma técnica de projeto da solução.
Raio-X da questão
decomposição de algoritmos
avaliacao
decomposição de algoritmos · variáveis locais
Revisar os conceitos de algoritmos e variáveis locais.
Confundir a decomposição como um meio de aumentar a complexidade em vez de simplificá-la, levando a uma implementação confusa.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Uma equipe precisa gerar cem relatórios com a mesma estrutura, mudando apenas os valores das turmas e das notas. — Qual…
- No fim de semana da feira de ciências do bairro, a equipe de organização percebeu um problema repetido: dezenas de…
- Projete um algoritmo guloso em pseudocódigo que, dado um vetor de n intervalos [inicio, fim], selecione o maior conjunto…
- Projete em pseudocódigo uma função recursiva quicksort(L) que ordena uma lista L de inteiros em ordem não crescente…
- Projete uma função recursiva em pseudocódigo flatten(L) que recebe uma lista L que pode conter inteiros e sublistas…
- Em um algoritmo, uma função recebe um vetor chamado dados que não deve ser alterado. Para garantir que a variável…
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
