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

Projete um algoritmo em pseudocódigo que receba uma lista L de n inteiros (com repetições possíveis) e retorne…

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

Projete um algoritmo em pseudocódigo que receba uma lista L de n inteiros (com repetições possíveis) e retorne uma nova lista contendo apenas os elementos distintos na mesma ordem de ocorrência. Use uma estrutura auxiliar para obter complexidade esperada O(n). Explique escolha, pseudocódigo e análise de complexidade.

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

Resposta esperada

Escolha: usar um conjunto (hash set) como estrutura auxiliar para checagem em tempo esperado O(1). Pseudocódigo: saida <- lista vazia seen <- conjunto vazio para cada x em L faça se x ? seen então append(saida, x) inserir(seen, x) fim se fim para retornar saida Análise: cada elemento é processado uma vez => tempo esperado O(n); operações no conjunto esperadas O(1) cada; espaço extra O(n) para 'seen' e O(k) para 'saida' (k = número de distintos).

Explicação

A escolha de um conjunto como estrutura auxiliar permite a verificação rápida de elementos já vistos, garantindo que apenas os distintos sejam adicionados à lista de saída. O pseudocódigo processa cada elemento da lista original uma única vez, resultando em uma complexidade de tempo linear. A utilização do conjunto para armazenar elementos vistos requer espaço proporcional ao número de distintos, mantendo a eficiência do algoritmo.

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

algoritmo em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · pseudocódigo

📚 Reveja

Revisar conceitos de estruturas de dados e algoritmos de ordenação.

⚠️ Erro mais comum

O aluno pode confundir a lógica de remoção de duplicatas com a simples cópia da lista original, não utilizando a estrutura auxiliar corretamente.

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