Descreva em pseudocódigo e em linguagem natural um algoritmo que receba um vetor de variáveis booleanas (dados…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva em pseudocódigo e em linguagem natural um algoritmo que receba um vetor de variáveis booleanas (dados de sensores) e compacte essas variáveis em um único inteiro usando bit-packing. Explique também como reconstruir as variáveis originais a partir desse inteiro.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo: func compactar(B[0..n-1]): x ? 0 for i de 0 até n-1: if B[i] then x ? x OR (1 << i) return x func descompactar(x,n): for i de 0 até n-1: B[i] ? ((x >> i) AND 1) == 1 return B Resposta modelo (linguagem natural): mapear cada variável booleana para uma posição de bit; usar deslocamento à esquerda (<<) e OR para definir bits em x; para recuperar, deslocar à direita (>>) e aplicar AND com 1 para obter cada valor original.
Explicação
O algoritmo utiliza operações de bitwise para compactar múltiplas variáveis booleanas em um único inteiro, economizando espaço. O uso de deslocamento à esquerda permite que cada bit do inteiro represente uma variável booleana específica, enquanto a operação OR garante que os bits sejam configurados corretamente. Para a descompactação, o deslocamento à direita e a operação AND recuperam os valores originais, garantindo que a informação seja restaurada de forma precisa.
Raio-X da questão
bit-packing de booleanos
avaliacao
representacao de dados · tipos de dados
Revisar conceitos de bit-packing e manipulação de bits.
O aluno pode confundir a compactação de dados com a simples soma dos valores booleanos, não utilizando a técnica de bit-packing corretamente.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Descreva um algoritmo em pseudocódigo que receba na variável 'sensores' um vetor de 16 valores booleanos e produza a…
- Você deve projetar um algoritmo em pseudocódigo que codifique as leituras de 10 sensores, cada um produzindo um valor…
- Descreva um algoritmo em etapas para codificar três respostas possíveis ("sim", "não", "talvez") em uma única variável…
- Desenvolva em pseudocódigo um algoritmo que codifique leituras inteiras de temperatura (0–127) em pacotes de 8 bits: 7…
- Descreva um algoritmo em pseudocódigo que, dado n variáveis booleanas (dados de entrada), gere todas as 2^n combinações…
- Projete um algoritmo em pseudocódigo que converta 100 leituras inteiras de temperatura (0–100) em duas codificações: (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
