Analise a função recursiva que calcula o fatorial de um número. Qual é a estrutura de dados mais adequada para…
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
Analise a função recursiva que calcula o fatorial de um número. Qual é a estrutura de dados mais adequada para armazenar os resultados intermediários?
- A) Fila
- B) Lista encadeada
- C) Matriz
- D) Pilha
- E) Conjunto
✅ Resposta correta: alternativa D
Resolução passo a passo
- Uma função recursiva chama a si mesma até atingir um caso base. No fatorial, fatorial(n) = n * fatorial(n-1), até chegar em fatorial(0) = 1 ou fatorial(1) = 1. Enquanto as chamadas avançam, cada uma fica pendente, esperando o resultado da chamada seguinte para concluir sua multiplicação. Passo 2: Esses valores pendentes (o n de cada chamada e o ponto em que cada uma parou) precisam ser guardados. Quando o caso base é alcançado, as chamadas são concluídas na ordem inversa à que foram abertas, ou seja, a última chamada feita é a primeira a ser resolvida. Passo 3: Essa ordem de acesso é LIFO (último a entrar, primeiro a sair), que é exatamente o comportamento de uma pilha. Na prática, a própria pilha de chamadas do sistema (call stack) faz esse papel em uma implementação recursiva. Passo 4: Por isso a pilha (alternativa D) é a estrutura mais adequada, e o gabarito está correto. Passo 5: Por que as outras estão erradas: a fila (A) retira elementos na ordem de chegada (FIFO), o que inverteria a ordem necessária; a lista encadeada (B) é apenas uma forma de armazenar sequências e não define a ordem de retorno; a matriz (C) organiza dados em linhas e colunas, sem relação com a ordem de conclusão das chamadas; o conjunto (E) não preserva ordem nem permite acesso ao último elemento inserido.
💡 Dica: Considere as características das estruturas de dados ao responder.
Alternativa por alternativa
Acredita que os resultados intermediários devem ser processados na ordem em que foram gerados, como em uma fila de atendimento (FIFO). Não percebe que, na recursão, a última chamada aberta é a primeira a ser concluída.
Associa a lista encadeada à flexibilidade de armazenamento e acha que ela basta para guardar os valores pendentes. Não percebe que o problema exige uma ordem específica de acesso, que a lista não impõe.
Por que engana: Confundir a ordem de armazenamento dos resultados intermediarios, escolhendo estruturas que nao respeitam a ordem LIFO da recursao.
Imagina que, por haver vários valores intermediários, a estrutura adequada é uma tabela com índices. Não percebe que o que importa é a ordem de acesso, e não a organização bidimensional.
A pilha é adequada pois armazena as chamadas de função em espera, suportando a lógica recursiva.
Entende que os resultados intermediários são apenas um conjunto de valores sem ordem relevante. Não percebe que a ordem de retorno das chamadas é essencial para calcular o fatorial corretamente.
Raio-X da questão
função recursiva
diagnostico
conceito de recursao · estruturas de dados basicas
Revisar conceitos de estruturas de dados e recursão.
Confundir a ordem de armazenamento dos resultados intermediarios, escolhendo estruturas que nao respeitam a ordem LIFO da recursao.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- — Se dois voluntários entregarem o mesmo aparelho, como saberemos onde ele está? — perguntou uma visitante ao chegar à…
- Monitores de um centro esportivo estão testando um placar digital para partidas de futsal, vôlei e basquete. Antes de…
- Por que duas pessoas que leem uma história na tela podem chegar a trechos diferentes? Para uma mostra comunitária…
- Caminhões recolhem livros em uma campanha fictícia para renovar bibliotecas de bairro. Em cada ponto de coleta…
- — Se chegarem novos tipos de objetos, vou precisar copiar tudo outra vez? — perguntou Joana, que ajuda no ponto de…
- — Se enviarmos as caixas sem organização, um abrigo poderá receber itens que não pediu e outro ficará sem produtos…
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
