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
- Utilizando a técnica de recursão, como você solucionaria um problema que requer o cálculo de um fatorial? Descreva o…
- Como uma função recursiva pode ser utilizada para calcular o fatorial de um número?
- Descreva como a recursão pode ser utilizada para calcular o fatorial de um número e explique seu funcionamento.
- Descreva um algoritmo para calcular o fatorial de um número utilizando recursão.
- Em um programa, você precisa calcular o fatorial de um número usando recursão. Qual parte do algoritmo é crucial para…
- Elabore um algoritmo que utilize recursão para calcular o fatorial de um número. Explique o conceito de recursão e sua…
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
