GeraProva GeraProva Provas com IA para professores do Brasil
Computação1º anoBNCC EF15CO02Difícil⏱ medio

Projete em pseudocódigo uma função recursiva separar_indices(L) que recebe uma lista L e retorna duas listas…

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

Projete em pseudocódigo uma função recursiva separar_indices(L) que recebe uma lista L e retorna duas listas: elementos em índices pares e elementos em índices ímpares (índice 0 é par). A solução deve usar recursão sem estruturas iterativas.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Função proposta (uso de auxiliar com índice): funcao separar_indices(L): retorne separar_aux(L, 0) funcao separar_aux(L, i): se L == [] entao retorne ([], []) senao x = primeiro(L) (pares, impares) = separar_aux(resto(L), i+1) se i % 2 == 0 entao retorne (concatenar([x], pares), impares) senao retorne (pares, concatenar([x], impares)) Explicacao: a auxiliar percorre a lista recursivamente incrementando o índice; em cada retorno reconstrói as duas listas colocando o elemento atual em pares ou impares conforme i. Complexidade O(n) e usa apenas recursão e operações de lista.

Explicação

A solução utiliza uma função auxiliar que mantém o controle do índice enquanto percorre a lista recursivamente, garantindo que cada elemento seja classificado corretamente em pares ou ímpares. A abordagem recursiva permite que a função opere sem loops, respeitando a restrição do enunciado. Além disso, a complexidade O(n) é mantida, pois cada elemento da lista é processado uma única vez.

Raio-X da questão

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

função recursiva

📌 Objetivo

fixacao

🧱 Pré-requisitos

funções recursivas · listas em programação

📚 Reveja

Revisar conceitos de recursão e manipulação de listas.

⚠️ Erro mais comum

O aluno pode tentar usar estruturas de repetição, o que contraria a proposta de usar apenas recursão.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

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