Em uma função recursiva que busca o maior número em uma lista, o que acontece se não houver uma condição de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Em uma função recursiva que busca o maior número em uma lista, o que acontece se não houver uma condição de parada?
- A) A função retornará o primeiro número.
- B) Um erro de estouro de pilha pode ocorrer.
- C) A lista será ordenada automaticamente.
- D) A função terminará sem resultado.
- E) O último número da lista será considerado.
✅ Resposta correta: alternativa B
Resolução passo a passo
- Na recursão, uma função chama a si mesma com um subproblema menor. A condição de parada (caso base) é o que interrompe essas chamadas e permite devolver um valor. Passo 2: Sem condição de parada, a função nunca deixa de se chamar. Cada chamada ocupa espaço na pilha de execução (registro de ativação), e essa pilha acaba se esgotando. Passo 3: Quando a memória da pilha se esgota, ocorre um erro de estouro de pilha (stack overflow), que é a alternativa B, correta. Passo 4: A alternativa A está errada porque a função nunca chega ao caso base que devolveria algum valor, então nenhum número é retornado. Passo 5: A alternativa C está errada porque a recursão não ordena a lista; a ordenação não decorre da ausência de condição de parada. Passo 6: A alternativa D está errada porque o problema justamente é que a função não termina, então ela não chega a produzir um resultado sem erro. Passo 7: A alternativa E está errada porque nenhum número é selecionado como resultado sem caso base, já que a execução não percorre a lista até um término. Passo 8: Minha resolução coincide com o gabarito oficial, B.
💡 Dica: Considere o que ocorre em uma chamada recursiva sem limite.
Alternativa por alternativa
Acredita que a recursão sempre devolve o primeiro elemento como valor padrão quando não há parada. Confunde o comportamento da recursão com o de uma busca linear que inicializa o máximo com o primeiro item.
Esse erro acontece se a função não tiver uma condição de parada.
Imagina que a recursão reorganiza os dados da lista, confundindo o funcionamento de uma função recursiva com o de um algoritmo de ordenação.
Entende que a função apenas para silenciosamente sem devolver nada. Não percebe que, sem caso base, a execução não termina e gera erro, em vez de terminar sem resultado.
Supõe que a função, ao final da lista, toma o último elemento como resultado. Confunde a parada natural de um laço iterativo com a ausência de condição de parada em uma recursão.
Por que engana: Achar que a função retorna um valor válido sem condição de parada, ignorando o risco de estouro de pilha.
Raio-X da questão
função recursiva
diagnostico
função recursiva · condição de parada em recursão
Revisar conceitos de recursão e condições de parada em funções.
Achar que a função retorna um valor válido sem condição de parada, ignorando o risco de estouro de pilha.
pensamento_critico
abstrato
Questões parecidas com resolução
- Os aplicativos de mapa, como o GPS, ajudam o carro de entregas a chegar à casa do cliente. O aplicativo compara dois…
- Lia organiza carrinhos, bonecas e blocos separando cada tipo, colocando-os em caixas e guardando as caixas na…
- Em um jogo, uma personagem controlada por IA precisa chegar a um tesouro sem bater nas paredes. Qual instrução ajuda a…
- Desenhe um algoritmo em pseudocódigo que, dada uma matriz M[N][M] com 0 (livre) e 1 (bloqueado), identifique todas as…
- Em um programa, Substring(codigo, início, quantidade) pega letras do texto a partir da posição indicada, e…
- Projete um algoritmo em pseudocódigo que, dadas as variáveis temperatura (inteiro ºC), ocupacao (inteiro, número de…
🔎 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
