Escreva em pseudocódigo um algoritmo que, dada uma matriz 'clientes' onde cada linha é um registro [id, nome…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Escreva em pseudocódigo um algoritmo que, dada uma matriz 'clientes' onde cada linha é um registro [id, nome, telefone], detecte registros duplicados usando nome normalizado (remover espaços e minúsculas) e telefone normalizado (apenas dígitos), e una duplicatas mantendo o menor id e combinando campos não vazios. Explique o raciocínio e a complexidade.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Função normalizaNome(s): retorna lower(trim espaços extras) e remove múltiplos espaços. Função normalizaTel(t): retorna apenas dígitos. Pseudocódigo: mapa = dicionário chave->registro para cada r em clientes: chave = (normalizaNome(r.nome), normalizaTel(r.telefone)) se chave não em mapa: mapa[chave] = r senão: existente = mapa[chave] existente.id = min(existente.id, r.id) se existente.nome vazio então existente.nome = r.nome se existente.telefone vazio então existente.telefone = r.telefone resultado = lista dos valores de mapa Complexidade: O(n) em tempo médio usando dicionário; O(n) espaço. Raciocínio: normalizar garante correspondência robusta; dicionário permite detecção e merge em única passagem. Tratar casos especiais: telefone ausente ou nomes homônimos requer regras adicionais (ex.: confirmação manual).
Explicação
A solução utiliza funções de normalização para garantir que nomes e telefones sejam comparáveis, evitando problemas com formatações diferentes. O uso de um dicionário permite que os registros sejam verificados e combinados em uma única passagem, otimizando o desempenho. A complexidade linear em relação ao número de registros é alcançada por meio da eficiência das operações de inserção e busca no dicionário.
Raio-X da questão
detecção de duplicatas
avaliacao
normalização de dados · estruturas de dados
Revisar conceitos de normalização de dados e estruturas de dados.
O aluno pode confundir a normalização de nomes e telefones, não aplicando corretamente as regras de remoção de espaços e conversão para minúsculas.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Um sistema de uma estufa analisa cinco leituras de umidade do solo: 19, 22, 24, 27 e 20. O algoritmo conta as leituras…
- Na montagem de um boletim digital da escola, as seções estão nesta ordem: capa, entrevista, fotos e agenda. A equipe…
- Em um aplicativo da escola, a lista de representantes da turma aparece nesta ordem: Ana, Bia, Caio, Davi e Elisa. Caio…
- Enquanto agentes de manutenção acompanham pedidos de reparo de bicicletas públicas, o painel registra os chamados em uma…
- — O livro de Marina Souza está disponível? — perguntou uma visitante ao balcão da biblioteca municipal. No computador…
- — O kit 47 já foi devolvido? — perguntou a técnica responsável pela campanha itinerante de vacinação. Antes do uso 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
