GeraProva GeraProva Provas com IA para professores do Brasil
Computação2º anoBNCC EF15CO02Fácil⏱ curto

Identifique qual das opções abaixo descreve uma função recursiva em programação.

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Identifique qual das opções abaixo descreve uma função recursiva em programação.

  1. A) Uma função que realiza um loop.
  2. B) Uma função que é chamada apenas uma vez.
  3. C) Uma função que se chama depois de calcular um valor.
  4. D) Uma função que chama a si mesma em sua definição.
  5. E) Uma função que usa apenas variáveis.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Uma função recursiva é aquela que, dentro da própria definição, faz uma chamada a si mesma, geralmente até atingir um caso base que encerra as chamadas.
  2. Analisando as alternativas, a que descreve exatamente essa ideia é a D: 'uma função que chama a si mesma em sua definição'.
  3. A alternativa A descreve iteração (laço de repetição), que é um recurso diferente da recursão, embora ambos repitam operações.
  4. A alternativa B descreve apenas uma função chamada uma vez, o que não tem relação com recursão, já que uma função recursiva pode ser chamada muitas vezes por si mesma.
  5. A alternativa C descreve uma função que chama outra função após um cálculo, o que caracteriza uma chamada comum, não uma auto-chamada.
  6. A alternativa E descreve uma função que apenas manipula variáveis, característica de qualquer função, sem implicar auto-referência.
  7. Portanto, a resposta correta é a D, que coincide com o gabarito oficial.

💡 Dica: Revise o conceito de função recursiva antes de responder.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno confundiu recursão com iteração, achando que repetir uma tarefa com um laço (for ou while) já define uma função recursiva.

Por que engana: Confundir função recursiva com funções que usam loops ou que são chamadas uma única vez.

B Erradaerro: Conceitual

O aluno associou recursão a uma função de uso único, sem perceber que a recursividade depende de auto-chamadas repetidas e não do número de chamadas externas.

C Erradaerro: Interpretação

O aluno interpretou a expressão 'chamar a si mesma' como qualquer chamada de função feita após um cálculo, sem notar que a função chamada precisa ser ela própria.

D Correta

Esta é a definição de uma função recursiva, chamando-se para resolver partes do problema.

E Erradaerro: Senso comum

O aluno entendeu que a recursão está ligada ao uso de variáveis, algo presente em qualquer função, e não à auto-referência da definição.

Raio-X da questão

Dificuldade Fácil
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

função recursiva

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de funcao · conceito de chamada de funcao

📚 Reveja

Estudar o conceito e exemplos de funções recursivas em programação.

⚠️ Erro mais comum

Confundir função recursiva com funções que usam loops ou que são chamadas uma única vez.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Programação com listas e recursã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.