Projete um algoritmo em pseudocódigo que, dada uma lista de strings representando endereços de e-mail, filtre…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo que, dada uma lista de strings representando endereços de e-mail, filtre os endereços válidos por regras simples (exatamente um '@', parte local não vazia, domínio com ao menos um '.') , normalize para minúsculas e retorne uma tabela de contagem por domínio. Descreva as estruturas de dado utilizadas e a complexidade.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Função contar_por_dominio(lista): mapa <- dicionário vazio // hashmap: domínio -> contador para cada s em lista: t <- trim(lowercase(s)) se ' ' em t: continuar se contar_ocorrências(t,'@') != 1: continuar local, dom <- split(t,'@') se local == '' ou '.' não em dom: continuar mapa[dom] <- mapa.get(dom,0) + 1 retornar mapa Estruturas: usar um dicionário/hashtable para contar domínios (acesso/atualização O(1) médio). Normalização com lowercase/trim evita duplicatas por caixa/espaces. Regras simples garantem filtragem básica sem regex complexa. Complexidade: O(N * L) tempo (N = quantidade de endereços, L = comprimento médio da string) e O(D) espaço (D = número de domínios distintos).
Explicação
O algoritmo utiliza um dicionário para contar a ocorrência de domínios, permitindo acesso e atualização eficientes. As regras de validação garantem que apenas endereços de e-mail válidos sejam considerados, enquanto a normalização para minúsculas e a remoção de espaços evitam contagens duplicadas. A análise de complexidade demonstra que o tempo e o espaço utilizados são proporcionais ao número de endereços e domínios distintos, assegurando eficiência na execução.
Raio-X da questão
filtragem de e-mails
avaliacao
estrutura de dados · algoritmos de filtragem
Revisar as regras de validação de endereços de e-mail.
O aluno pode confundir a validação de e-mails com a formatação, não aplicando corretamente as regras de filtragem.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Em um algoritmo que valida endereços de e-mail em uma lista de dados, proponha uma subtarefa da decomposição que use uma…
- Projete um algoritmo em pseudocódigo que, dado um dado string com texto, conte a frequência de letras sem distinguir…
- Projete um algoritmo em pseudocódigo que remova duplicatas de uma lista de registros usando uma tabela hash; descreva a…
- Escreva um algoritmo em pseudocódigo que receba uma string de texto e devolva uma tabela (map) com a frequência de cada…
- Projete em pseudocódigo um algoritmo que receba um texto (dado) e retorne as 5 palavras mais frequentes após tokenização…
- Projete um algoritmo em pseudocódigo que receba uma lista de nomes (strings) como dado de entrada e devolva uma lista de…
Todas as questões de Programação - Programação com listas e recursã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
