GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF69CO04Média⏱ curto

Em um programa, qual é o uso correto da recursão?

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO04

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?

  1. A) Para ordenar uma lista
  2. B) Para somar números de forma iterativa
  3. C) Para calcular fatoriais
  4. D) Para imprimir uma lista
  5. E) Para acessar um elemento específico

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. 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

A Erradaerro: Conceituala que mais engana

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.

B Erradaerro: Conceitual

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.

C Correta

O cálculo de fatoriais é um exemplo clássico de uso de recursão.

D Erradaerro: Conceitual

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.

E Erradaerro: Procedimental

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

Dificuldade Média
Bloom Aplicar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 consolidacao
🎯 Conceito central

uso da recursão

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de funcao · conceito de recursao

📚 Reveja

Revisar conceitos de recursão em programação.

⚠️ Erro mais comum

Confundir recursao com iteracao, usando recursao para processos que nao necessitam dela.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.