Projete em pseudocódigo um algoritmo que receba um texto (dado) e retorne as 5 palavras mais frequentes após…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidimensionais para descrever suas informações e automatizá-las usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete em pseudocódigo um algoritmo que receba um texto (dado) e retorne as 5 palavras mais frequentes após tokenização e normalização; descreva as estruturas de dados, as variáveis principais e a complexidade computacional.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo: tokens = tokenize(lowercase(remove_punct(text))) freq = map<string,int> for t in tokens: freq[t] += 1 heap = min-heap tamanho 5 for (w,c) in freq: if heap.size<5 push (c,w) else if c>heap.min replace_min((c,w)) return ordenar_desc(heap) Estruturas: mapa (freq) para contagem e min-heap de tamanho k=5 para manter topK. Variáveis principais: tokens, freq, heap. Complexidade: tokenização O(n), preenchimento do mapa O(n), seleção topK O(m log k) ? total O(n + m log k) onde n = número de tokens, m = palavras distintas, k=5.
Explicação
O pseudocódigo apresentado utiliza uma abordagem eficiente para contar a frequência das palavras, empregando um mapa para armazenar as contagens e um min-heap para manter as cinco palavras mais frequentes. A tokenização e a normalização do texto garantem que as palavras sejam comparadas de forma consistente, enquanto a estrutura de dados escolhida permite uma seleção eficiente das palavras mais frequentes. A análise da complexidade computacional demonstra que o algoritmo é escalável, lidando de forma adequada com o tamanho do texto e a quantidade de palavras distintas.
Raio-X da questão
tokenização e normalização
avaliacao
tokenização e normalização · estruturas de dados
Revisar conceitos de algoritmos e estruturas de dados.
O aluno pode falhar ao não considerar a normalização das palavras, resultando em contagens incorretas de frequência.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que, dado um dado string com texto, conte a frequência de letras sem distinguir…
- Desenvolva um algoritmo que conte quantas vezes uma determinada palavra aparece em um texto. Apresente a lógica…
- Escreva um algoritmo em pseudocódigo que receba uma string de texto e devolva uma tabela (map) com a frequência de cada…
- Proponha uma decomposição em subtarefas e escreva um esboço de pseudocódigo para um algoritmo que recebe uma lista de…
- Em pseudocódigo, descreva um algoritmo que recebe um texto com relatos de observações da natureza na escola e verifica…
- Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e produza duas…
Todas as questões de Programação - Programação usando registros e matrizes
🔎 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
