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
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
função recursiva
fixacao
funções recursivas · listas em programação
Revisar conceitos de recursão e manipulação de listas.
O aluno pode tentar usar estruturas de repetição, o que contraria a proposta de usar apenas recursão.
ciencia_tecnologia
criatividade
abstrato
Questões parecidas com resolução
- Crie e descreva um algoritmo, em linguagem simples ou pictográfica, que ajude uma criança a decidir se deve levar um…
- Crie um algoritmo em linguagem oral ou escrita que controle a rega de um vaso por 7 dias: diariamente verificar se…
- Projete em pseudocódigo um algoritmo que reconstrua uma mensagem a partir de pacotes recebidos onde cada pacote contém…
- Elabore em pseudocódigo um algoritmo que, dado um vetor de registros 'tarefas' (descricao, duracao_horas, prioridade) e…
- Elabore em pseudocódigo um algoritmo que, dado um array de registros 'alunos' com campos (nome, notas[4]…
- Projete um algoritmo e descreva as estruturas de dados para implementar operações de desfazer/refazer (undo/redo) em um…
🔎 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
