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

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

Habilidade BNCC EF08CO02

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

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

filtragem de e-mails

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · algoritmos de filtragem

📚 Reveja

Revisar as regras de validação de endereços de e-mail.

⚠️ Erro mais comum

O aluno pode confundir a validação de e-mails com a formatação, não aplicando corretamente as regras de filtragem.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

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

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.