Projete um algoritmo em pseudocódigo que detecte e remova registros duplicados em uma matriz de dados…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo que detecte e remova registros duplicados em uma matriz de dados escolares (cada linha é um registro). Descreva como testar o algoritmo para garantir correção e quais estruturas de dados escolher para eficiência.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e justificativa): 1) Escolha de estruturas: usar um conjunto (set) para detectar chaves vistas e uma lista/matriz de saída para registros únicos; o set fornece busca O(1) média. 2) Definir chave única por registro (ex.: concatenar CPF ou matrícula; se não houver, concatenar campos relevantes). 3) Pseudocódigo: criar set vistos vazio criar lista resultado vazia para cada linha r em matriz: chave <- gerarChave(r) se chave não está em vistos: inserir chave em vistos adicionar r a resultado fim-se fim-para retornar resultado 4) Remoção in-place (opcional): iterar e sobrescrever linhas únicas, ajustar tamanho final. 5) Testes para garantia: - caso sem duplicatas; caso todas duplicadas; duplicatas consecutivas e intercaladas; registros com campos iguais exceto ordem. - testar com dados pequenos e grandes; medir tempo e uso de memória. 6) Complexidade e trade-offs: tempo O(n) vezes custo de gerarChave; memória adicional O(n) para o set. Se memória for limitada, usar ordenação estável da matriz e remover duplicatas consecutivas (custo O(n log n) e menos memória). 7) Critérios de aceitação: nenhum registro duplicado na saída, ordem preservada se exigido, e testes automatizados cobrindo casos limites.
Explicação
A solução proposta utiliza um conjunto para identificar rapidamente duplicatas, garantindo eficiência na busca e inserção. A abordagem de gerar uma chave única para cada registro permite a comparação direta, enquanto a lista de resultados mantém os registros únicos. Os testes abrangentes garantem que o algoritmo funcione em diferentes cenários, assegurando a robustez e a correção do método.
Raio-X da questão
algoritmo de remoção de duplicados
avaliacao
estrutura de dados · pseudocódigo
Revisar conceitos de estruturas de dados e algoritmos.
O aluno pode falhar ao não considerar todos os casos de duplicidade, como registros com espaços em branco ou diferenças de capitalização.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- A turma vai criar um programa para acompanhar as mudas da horta da escola. Sempre que uma muda for observada, alguém…
- Por que algumas famílias recebem kits de higiene antes de outras após uma enchente? Em uma simulação de defesa civil…
- — Como vamos guardar os resultados sem misturar os locais e os horários? — perguntou uma voluntária durante o…
- “A estrada entre Vila Nova e Campo Alto foi liberada, mas a ligação de Pedra Branca com o abrigo central continua…
- — Tem muita gente chegando ao posto para o mutirão de vacinação — comentou o agente de saúde, olhando o painel de…
- Ao final de uma feira de ciências, um grupo de estudantes criou um aplicativo simples para registrar pedidos de…
🔎 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
