Em um programa, qual é o uso correto da recursão?
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
Em um programa, qual é o uso correto da recursão?
- A) Para ordenar uma lista
- B) Para somar números de forma iterativa
- C) Para calcular fatoriais
- D) Para imprimir uma lista
- E) Para acessar um elemento específico
✅ Resposta correta: alternativa C
Resolução passo a passo
- Recursão é a técnica em que uma função chama a si mesma, resolvendo um problema a partir de versões menores do mesmo problema, até chegar a um caso base que encerra as chamadas. Passo 2: O exemplo clássico é o fatorial, pois n! = n * (n-1)!, com caso base 0! = 1 ou 1! = 1. Assim, calcular fatoriais é o uso típico e mais direto da recursão, por isso C é a resposta esperada. Passo 3: A alternativa B está errada porque somar de forma iterativa usa laços de repetição (for ou while), que são o oposto de recursão. Passo 4: A alternativa E está errada porque acessar um elemento específico de uma lista ocorre diretamente pelo índice, sem necessidade de chamadas repetidas da função. Passo 5: A alternativa A e a D não são absurdas, pois ordenação (como quicksort e mergesort) e impressão de listas também podem ser feitas recursivamente. Porém, são aplicações menos típicas e costumam aparecer como exemplos mais avançados ou que podem ser resolvidos com iteração, enquanto o fatorial é o caso padrão ensinado. Passo 6: Como o enunciado não traz critério de comparação, a questão é ambígua, mas C é a melhor resposta e coincide com o gabarito oficial.
💡 Dica: Considere exemplos de funções recursivas.
Alternativa por alternativa
O aluno associa recursão apenas a algoritmos de ordenação avançados, como quicksort, e acredita que esse seria o uso correto para a técnica.
Por que engana: Confundir recursao com iteracao, usando recursao para processos que nao necessitam dela.
O aluno confunde recursão com iteração, aceitando a ideia de somar números de forma iterativa como uso da recursão, quando recursão é justamente a alternativa a laços de repetição.
O cálculo de fatoriais é um exemplo clássico de uso de recursão.
O aluno supõe que percorrer e imprimir uma lista é tarefa típica de recursão, sem perceber que a impressão costuma ser feita com um laço simples e que o exemplo canônico é o fatorial.
O aluno acredita que, para acessar um elemento específico, seria necessário chamar a função várias vezes de forma recursiva, ignorando que o acesso por índice é direto.
Raio-X da questão
uso da recursão
avaliacao
conceito de funcao · conceito de recursao
Revisar conceitos de recursão em programação.
Confundir recursao com iteracao, usando recursao para processos que nao necessitam dela.
pensamento_critico
abstrato
Questões parecidas com resolução
- Escreva um algoritmo em linguagem descritiva que, recebendo uma lista de arestas (edge list) de um grafo com V vértices…
- Ao decompor um algoritmo complexo, que documentação técnica mínima deve acompanhar cada função para permitir integração…
- Qual vantagem direta de transformar uma variável global em parâmetro de função ao decompor um algoritmo que manipula…
- Projete a decomposição de alto nível de um algoritmo que gera relatórios mensais de presença por aluno a partir de dados…
- Quais são, em ordem, as três etapas essenciais ao decompor um algoritmo complexo para facilitar sua resolução?
- Ao decompor um algoritmo que calcula estatísticas de temperatura, qual subtarefa trata de identificar e excluir outliers…
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
