GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF69CO02Fácil⏱ medio

Em pseudocódigo, qual é o caso base adequado para um algoritmo recursivo que verifica se uma lista L é…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em pseudocódigo, qual é o caso base adequado para um algoritmo recursivo que verifica se uma lista L é palíndroma (mesma sequência lida em ambas direções)?

  1. A) O caso base deve retornar falso se a lista tiver um elemento.
  2. B) O caso base deve apenas verificar se a lista tem dois elementos.
  3. C) A lista deve ter pelo menos três elementos para ser verificada.
  4. D) Se L está vazia ou tem um elemento, retornar verdadeiro.
  5. E) O algoritmo deve sempre retornar verdadeiro independente do conteúdo da lista.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Uma lista é palíndroma quando a sequência é a mesma lida do início ao fim e do fim ao início. Passo 2: Na recursão, comparamos o primeiro e o último elementos de L; se forem iguais, repetimos o processo para a lista formada pelo miolo, isto é, L sem os extremos. Passo 3: O caso base é o ponto em que a recursão para sem precisar de novas comparações. Se L está vazia ou tem um único elemento, não existe par de extremos diferentes para comparar, então a lista é palíndroma e a função retorna verdadeiro. Passo 4: Por isso a alternativa D está correta. Passo 5: A alternativa A está errada porque uma lista com um elemento é trivialmente palíndroma, não o contrário. Passo 6: A alternativa B está errada porque exigir exatamente dois elementos deixa sem tratamento as listas vazias e as de tamanho ímpar, que chegam ao fim da recursão com um único elemento no meio. Passo 7: A alternativa C está errada porque não há exigência de três elementos; listas com zero, um ou dois elementos também devem ser tratadas corretamente. Passo 8: A alternativa E está errada porque o resultado depende do conteúdo: a lista ['a','b'] não é palíndroma, por exemplo.

💡 Dica: Considere as características de uma lista palíndroma.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que uma lista com um único elemento não pode ser palíndroma, quando na verdade ela é lida igual nos dois sentidos.

B Erradaerro: Procedimentala que mais engana

Acha que o caso base precisa ser exatamente uma lista com dois elementos, sem perceber que listas vazias e de tamanho ímpar também precisam de tratamento para encerrar a recursão.

Por que engana: O aluno pode confundir o caso base correto, acreditando que listas com um ou dois elementos não podem ser palíndromas.

C Erradaerro: Conceitual

Supõe que só listas com pelo menos três elementos fazem sentido para a verificação, quando listas menores também são casos válidos e devem ser tratadas pelo caso base.

D Correta

Listas vazias ou unitárias são palíndromos por definição; esse caso base garante término da recursão antes de comparar pares de extremos.

E Erradaerro: Interpretação

Entende que palíndromo é qualquer lista, sem ler a definição de que a sequência deve ser igual nos dois sentidos, o que faz o resultado depender do conteúdo.

Raio-X da questão

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

algoritmo recursivo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmo recursivo · estrutura de listas

📚 Reveja

Revisar os conceitos de recursão e palíndromos.

⚠️ Erro mais comum

O aluno pode confundir o caso base correto, acreditando que listas com um ou dois elementos não podem ser palíndromas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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.