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

Projete em pseudocódigo uma função recursiva merge_sorted(L1,L2) que recebe duas listas ordenadas nã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

Projete em pseudocódigo uma função recursiva merge_sorted(L1,L2) que recebe duas listas ordenadas não decrescentes de inteiros e retorna uma lista ordenada não decrescente contendo todos os elementos; não use estruturas iterativas e preserve a ordem relativa (estabilidade).

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

Resposta esperada

funcao merge_sorted(L1, L2): se L1 == [] entao retorne L2 se L2 == [] entao retorne L1 se L1[0] <= L2[0] entao retorne concatenar([L1[0]], merge_sorted(L1[1:], L2)) senao retorne concatenar([L2[0]], merge_sorted(L1, L2[1:])) Observações: - A comparação com <= preserva estabilidade (elementos iguais de L1 mantêm-se antes dos de L2). - Complexidade de tempo: O(n+m), onde n e m são os tamanhos de L1 e L2; cada elemento é processado uma vez. - Espaço: O(n+m) para a lista resultante e profundidade de recursão O(n+m) no pior caso.

Explicação

A solução apresentada utiliza recursão para combinar duas listas ordenadas, garantindo que a ordem relativa dos elementos seja preservada ao comparar os primeiros elementos de cada lista. A função retorna a lista resultante de forma eficiente, processando cada elemento uma única vez, o que resulta em uma complexidade de tempo linear. Além disso, a abordagem recursiva permite que a profundidade da pilha de chamadas se mantenha dentro dos limites, evitando iterações que poderiam complicar a implementação.

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✍️ interpretativa🧩 desafio
🎯 Conceito central

função recursiva

📌 Objetivo

avaliacao

🧱 Pré-requisitos

funções recursivas · listas ordenadas

📚 Reveja

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

⚠️ Erro mais comum

O aluno pode confundir a lógica de mesclagem, não mantendo a ordem relativa dos elementos das listas originais.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

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