Em pseudocódigo, descreva um algoritmo que recebe na variável 'imagem' uma matriz 8x8 de pixels binários e…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Compreender e utilizar diferentes formas de armazenar, manipular, compactar e recuperar arquivos, documentos e metadados.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em pseudocódigo, descreva um algoritmo que recebe na variável 'imagem' uma matriz 8x8 de pixels binários e produz (a) a codificação direta em bitmap e (b) uma codificação por run-length encoding (RLE). Explique também o procedimento de decodificação e compare, com exemplo numérico, o tamanho em bits das duas codificações para um caso favorável à RLE.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta-modelo (pseudocódigo e justificativa): Função encodeBitmap(imagem): // Bitmap: armazenar bits na ordem linha-major bits ? '' para i de 0 até 7: para j de 0 até 7: bits ? bits + str(imagem[i][j]) retornar bits // 64 bits Função encodeRLE(imagem): runs ? lista vazia atual ? imagem[0][0] contador ? 1 para k de 1 até 63: // percorrer em linha-major como índice linear i ? k // 8; j ? k % 8 pixel ? imagem[i][j] se pixel == atual então contador ? contador + 1 senao runs.adicionar((atual, contador)) atual ? pixel contador ? 1 runs.adicionar((atual, contador)) retornar runs // lista de pares (valor, contagem) Função decodeRLE(runs): reconstruida ? matriz 8x8 vazia pos ? 0 para cada (valor, contagem) em runs: para t de 1 até contagem: i ? pos // 8; j ? pos % 8 reconstruida[i][j] ? valor pos ? pos + 1 retornar reconstruida Representação e comparação de tamanhos (exemplo favorável): - Bitmap armazena sempre 64 bits. - RLE: representar cada par (valor, contagem) usando 1 bit para valor + 7 bits para contagem (um byte por run, suficiente para contagens até 127). Então cada run = 8 bits. - Exemplo favorável: imagem com todas as linhas iguais a 0 (todos os 64 pixels = 0). RLE produz um único run (0,64) ? 8 bits. Bitmap = 64 bits, RLE = 8 bits ? economia de 56 bits. Observações: em padrões muito alternados (por exemplo, checkerboard) o número de runs pode chegar a 64, fazendo RLE ocupar 64 bytes (512 bits) se usar 8 bits por run, portanto RLE é vantajoso quando há runs longos de pixels iguais; o algoritmo deve escolher formato de contagem adequado ao domínio para otimizar armazenamento.
Explicação
O pseudocódigo apresentado define claramente duas funções para codificação de uma matriz de pixels, utilizando bitmap e RLE, além de uma função para decodificação da RLE. A comparação de tamanhos entre as duas codificações ilustra a eficiência da RLE em situações onde há repetição de valores, destacando a economia de bits em casos favoráveis. A análise do exemplo numérico reforça a aplicação prática do algoritmo, evidenciando a vantagem do uso de RLE em imagens com longas sequências de pixels iguais.
Raio-X da questão
codificação de imagem
avaliacao
matrizes e arrays · codificação de dados
Revisar algoritmos de codificação e decodificação de dados.
O aluno pode confundir os conceitos de codificação bitmap e RLE, apresentando apenas um tipo de codificação ou explicando incorretamente o processo de decodificação.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Descreva um algoritmo em pseudocódigo que codifique uma imagem colorida de 2×2 pixels usando representação RGB com 8…
- Descreva em pseudocódigo um algoritmo que recebe na variável 'dados' uma sequência de bytes ASCII e produz na saída…
- Descreva um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes) e aplique codificação por…
- Escreva um algoritmo em pseudocódigo que receba uma string (entrada) e devolva sua codificação por run-length encoding…
- Desenhe um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes ASCII) e produza duas saídas…
- Descreva um algoritmo em pseudocódigo que receba uma imagem RGB M×N (cada canal com 8 bits) e quantize cada canal para 5…
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
