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

Escreva em pseudocódigo um algoritmo que, dadas duas listas ordenadas de números (listaA e listaB), retorne…

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

Escreva em pseudocódigo um algoritmo que, dadas duas listas ordenadas de números (listaA e listaB), retorne uma lista ordenada contendo todos os elementos sem duplicatas.

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

Resposta esperada

// Entrada: listaA[1..n], listaB[1..m] função mergeSemDuplicatas(listaA, listaB) i <- 1; j <- 1 resultado <- [] enquanto i <= comprimento(listaA) e j <= comprimento(listaB) faça se listaA[i] < listaB[j] então se vazio(resultado) ou resultado[ultimo] != listaA[i] então anexar(resultado, listaA[i]) fimse i <- i + 1 senão se listaA[i] > listaB[j] então se vazio(resultado) ou resultado[ultimo] != listaB[j] então anexar(resultado, listaB[j]) fimse j <- j + 1 senão // iguais se vazio(resultado) ou resultado[ultimo] != listaA[i] então anexar(resultado, listaA[i]) fimse i <- i + 1; j <- j + 1 fimse fimEnquanto enquanto i <= comprimento(listaA) faça se resultado[vazio] ou resultado[ultimo] != listaA[i] então anexar(resultado, listaA[i]) fimse i <- i + 1 fimEnquanto enquanto j <= comprimento(listaB) faça se resultado[vazio] ou resultado[ultimo] != listaB[j] então anexar(resultado, listaB[j]) fimse j <- j + 1 fimEnquanto retornar resultado fimFunção Explicação: o algoritmo faz o passo de fusão (merge) percorrendo ambas as listas com dois índices e evita duplicatas checando o último elemento anexado. Complexidade O(n+m).

Explicação

O algoritmo utiliza a técnica de mesclagem para percorrer simultaneamente as duas listas ordenadas, garantindo que todos os elementos sejam considerados. A verificação do último elemento anexado evita a inclusão de duplicatas, mantendo a lista resultado única. A complexidade O(n+m) é eficiente, pois cada lista é percorrida 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✍️ interpretativa🧩 desafio
🎯 Conceito central

listas ordenadas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

listas e arrays · algoritmos de ordenação

📚 Reveja

Revisar como manipular listas e algoritmos de ordenação.

⚠️ Erro mais comum

O aluno pode confundir a lógica de mesclar listas com a de ordenar elementos, resultando em duplicatas na lista final.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

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