GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO03Média⏱ medio

Ao projetar um registro com várias variáveis booleanas 'flags', qual técnica reduz o uso de memória e como…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO03

Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao projetar um registro com várias variáveis booleanas 'flags', qual técnica reduz o uso de memória e como testar, ativar e desativar a k-ésima flag?

  1. A) Usar uma lista de booleanos para as flags
  2. B) Usar uma máscara de bits (inteiro): testar com (mask & (1<<k)) != 0; ativar com mask |= (1<<k); desativar com mask &= ~(1<<k).
  3. C) Ativar com mask &= (1<<k)
  4. D) Desativar com mask |= (1<<k)
  5. E) Testar com (mask == (1<<k))

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. A questão pergunta qual técnica reduz o uso de memória ao guardar várias variáveis booleanas (flags) e como testar, ativar e desativar a k-ésima flag. Pense em cada flag como um único bit dentro de um inteiro, em vez de ocupar um byte ou uma posição de lista por flag.
  2. Para testar o bit k, faz-se a operação E bit a bit com a máscara (1<<k), que vale 1 apenas na posição k. Se o resultado for diferente de zero, o bit está ligado: (mask & (1<<k)) != 0.
  3. Para ativar o bit k sem alterar os demais, usa-se OU bit a bit: mask |= (1<<k). Isso força o bit k para 1 e mantém os outros.
  4. Para desativar o bit k, usa-se E bit a bit com o complemento da máscara: mask &= ~(1<<k). O til inverte todos os bits, deixando zero somente na posição k.
  5. Resolvendo por conta própria, a alternativa B é a única que descreve a técnica de máscara de bits e as três operações corretamente, e o gabarito oficial B está correto.
  6. Por que as outras estão erradas: A) uma lista de booleanos é a alternativa ingênua, que usa mais memória, não a técnica de redução pedida; C) mask &= (1<<k) zera todos os bits exceto o k, destruindo as demais flags, e não ativa nada; D) mask |= (1<<k) ativa o bit em vez de desativá-lo; E) mask == (1<<k) testa se a máscara inteira é igual a apenas aquele bit, não se o bit k está ligado.

💡 Dica: Considere como as flags são representadas em binário.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno acredita que usar uma lista de booleanos já é uma forma de economizar memória, confundindo estrutura organizada com compactação. Não percebe que cada elemento da lista ocupa muito mais espaço que um único bit.

Por que engana: Confundir o uso de uma lista de booleanos com a técnica de máscara de bits, que é mais eficiente em termos de memória.

B Correta

Uma bitmask armazena várias flags em um único inteiro, economizando espaço; operações bitwise permitem testar e alterar bits de forma eficiente.

C Erradaerro: Procedimental

O aluno confunde a operação de ativar com a de E bit a bit, achando que &= com (1<<k) liga o bit k. Não percebe que o E zera todos os outros bits.

D Erradaerro: Procedimental

O aluno inverte o significado dos operadores, associando o OU bit a bit à desativação de um bit. Na verdade o OU força o bit para 1, ou seja, ativa.

E Erradaerro: Conceitual

O aluno pensa que testar uma flag é comparar a máscara inteira com (1<<k) por igualdade. Isso só é verdadeiro quando todas as outras flags estão desligadas, então não testa apenas o bit k.

Raio-X da questão

Dificuldade Média
Bloom Analisar
Leitura alto
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

variáveis booleanas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

variáveis booleanas · operações bit a bit

📚 Reveja

Revisar como utilizar variáveis booleanas e operações bit a bit.

⚠️ Erro mais comum

Confundir o uso de uma lista de booleanos com a técnica de máscara de bits, que é mais eficiente em termos de memória.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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