Descreva um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes) e aplique…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Codificar a informação de diferentes formas, entendendo a importância desta codificação para o armazenamento, manipulação e transmissão em dispositivos computacionais.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes) e aplique codificação por comprimento de repetições (RLE) para compactar sequências consecutivas de bytes idênticos. Explique quando essa codificação reduz o tamanho dos dados e quando pode aumentar, considerando armazenamento e transmissão em rede.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e justificativa): Pseudocódigo: saida ? lista vazia i ? 0 n ? comprimento(texto) while i < n: valor ? texto[i] cont ? 1 while i+cont < n and texto[i+cont] = valor and cont < 255: cont ? cont + 1 append(saida, cont) // byte de contagem append(saida, valor) // byte do valor repetido i ? i + cont return saida Observações e justificativa: - A codificação grava pares (contagem, valor); limite a 255 para caber em um byte; runs maiores são divididos em blocos. - Vantagem: reduz tamanho quando o dado contém longas sequências repetidas (por exemplo, faixas sólidas em imagens ou arquivos RLE-friendly), diminuindo bytes transmitidos e exigência de armazenamento. - Desvantagem: para dados sem repetições (texto aleatório ou imagens com muito ruído) há overhead de um byte extra por símbolo, podendo aumentar o tamanho. Por isso, antes da transmissão é útil medir a taxa de compressão e escolher enviar RLE apenas se for eficiente. - Para transmissão em rede considere incluir cabeçalho com tamanho original e método de escape para distinguir dados de controle; RLE é simples e de baixo custo computacional, mas nem sempre é a melhor opção para fluxos heterogêneos.
Explicação
O pseudocódigo apresentado implementa a codificação RLE de forma eficiente, agrupando bytes idênticos e armazenando a contagem e o valor em pares, o que é ideal para dados com sequências longas de repetições. A explicação sobre quando a compressão é vantajosa ou desvantajosa destaca a importância de avaliar o tipo de dado antes de aplicar a técnica, considerando o potencial aumento de tamanho em dados sem repetições. Além disso, menciona a necessidade de um cabeçalho para transmissão em rede, o que demonstra uma compreensão abrangente da aplicação prática do algoritmo.
Raio-X da questão
codificação RLE
avaliacao
algoritmos e pseudocódigo · codificação de dados
Revisar conceitos de algoritmos e compressão de dados.
O aluno pode descrever um algoritmo que não considera corretamente as sequências de bytes, resultando em uma codificação ineficiente.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Desenhe um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes ASCII) e produza duas saídas…
- Descreva em pseudocódigo um algoritmo que recebe na variável 'dados' uma sequência de bytes ASCII e produz na saída…
- Escreva um algoritmo em pseudocódigo que receba uma string (entrada) e devolva sua codificação por run-length encoding…
- Quando o algoritmo de compactação Run-Length Encoding (RLE) é eficiente para reduzir o tamanho de um arquivo e por quê?
- Em pseudocódigo, descreva um algoritmo que recebe na variável 'imagem' uma matriz 8x8 de pixels binários e produz (a) a…
- Elabore um algoritmo em pseudocódigo que recebe a variável 'texto' (sequência de caracteres Unicode) e produz a…
🔎 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
