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

Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO08

Compreender e utilizar diferentes formas de armazenar, manipular, compactar e recuperar arquivos, documentos e metadados.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e produza duas codificações distintas: (A) representação binária fixa usando UTF-8 por caractere; (B) codificação por dicionário simples que substitui palavras frequentes por códigos. Forneça o pseudocódigo, explique como cada codificação impacta armazenamento, manipulação e transmissão dos dados, e discuta os trade-offs (tamanho, complexidade, compatibilidade). Justifique escolhas de estruturas de dado usadas.

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

Resposta esperada

Pseudocódigo: fun codificar(mensagem): d ? construirDicionario(palavrasFreq(mensagem)) saidaA ? concat(binUTF8(c) para c em mensagem) saidaB ? '' para t em tokenizar(mensagem): if t ? d então saidaB += codigo(d,t) else saidaB += t return (saidaA, saidaB, d) Avaliação: A é simples e compatível, facilita manipulação caractere-a-caractere e decodificação, mas geralmente ocupa mais espaço. B reduz tamanho quando há repetição de tokens; porém exige o dicionário (meta-dado) para decodificar, aumenta complexidade de codificação/decodificação e pode dificultar operações que dependem de posições por caractere. Escolha de arrays e mapas (hash) otimiza concatenação e busca de tokens.

Explicação

O pseudocódigo apresentado efetivamente aborda a codificação da mensagem em duas formas distintas, permitindo a análise de diferentes métodos de compressão. A primeira abordagem garante compatibilidade e facilidade de manipulação, enquanto a segunda otimiza o espaço ao substituir palavras frequentes, embora introduza complexidade. As estruturas de dados escolhidas, como arrays e mapas, são adequadas para as operações necessárias, maximizando eficiência em busca e concatenaçã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

codificação de dados

📌 Objetivo

avaliacao

🧱 Pré-requisitos

codificação de dados · pseudocódigo

📚 Reveja

Revisar conceitos de codificação e estruturas de dados.

⚠️ Erro mais comum

O aluno pode confundir os conceitos de codificação binária e dicionário, não explicando corretamente os impactos de cada um.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Armazenamento e Transmissão de dados - Gestão de dados

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