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

Projete um algoritmo em pseudocódigo que, dado um dado string com texto, conte a frequência de letras sem…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO03

Utilizar algoritmos clássicos de manipulação sobre listas.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que, dado um dado string com texto, conte a frequência de letras sem distinguir maiúsculas/minúsculas e retorne as três letras mais frequentes em ordem decrescente. Descreva também as variáveis e a complexidade temporal.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Pseudocódigo: entrada s:string s <- lower(s) contagens <- dicionário vazio (char -> inteiro) para c em s: se c é letra: contagens[c] <- contagens.get(c,0)+1 lista <- ordenar pares(contagens) por valor decrescente retornar primeiros 3 chaves(lista) Variáveis: s (string de entrada), contagens (map de char->int), lista (array de pares). Complexidade: percorrer s é O(n); ordenar m pares custa O(m log m), onde m = 26; portanto custo prático O(n) para alfabeto fixo. Espaço O(m).

Explicação

O pseudocódigo apresentado utiliza uma abordagem eficiente para contar a frequência das letras, convertendo a string para minúsculas e utilizando um dicionário para armazenar as contagens, o que permite acesso rápido e atualização das frequências. A ordenação dos pares de frequência garante que as três letras mais frequentes sejam retornadas em ordem decrescente. A análise de complexidade temporal demonstra que o algoritmo é eficiente, especialmente considerando o alfabeto fixo, resultando em um desempenho prático de O(n).

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
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

frequência de letras

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos e pseudocódigo · contagem de elementos

📚 Reveja

Revisar algoritmos de contagem e análise de complexidade.

⚠️ Erro mais comum

O aluno pode confundir a contagem de letras com a contagem de palavras, focando em palavras em vez de letras individuais.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Algoritmos clássicos

🔎 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.