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
- Recebe-se uma matriz M (m×n) de registros de alunos (nome, nota). Descreva um algoritmo em pseudocódigo para detectar e…
- Projete um algoritmo em pseudocódigo que remova duplicatas de uma lista de registros usando uma tabela hash; descreva a…
- Projete a decomposição de alto nível de um algoritmo que integra dois conjuntos de dados escolares (registros de…
- Desenvolva um algoritmo em pseudocódigo que, dada uma matriz 'agenda' de registros [dia, hora, descricao], remova…
- Descreva um algoritmo em pseudocódigo que receba uma matriz de registros 'clientes' (linhas = grupos, colunas =…
- Projete um algoritmo em pseudocódigo que, dada uma matriz M[R][C] em que cada célula contém o número de alunos de uma…
🔎 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
