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

Projete um algoritmo em pseudocódigo e justifique a escolha de tipos de dado para representar a frequência…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo e justifique a escolha de tipos de dado para representar a frequência (presente/ausente) em N aulas por aluno: compare usar um array de booleanos com usar um inteiro como bitmask, cite vantagens, limitações e inclua um exemplo de pseudocódigo para cada abordagem.

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

Resposta esperada

Abordagem 1 — array de booleanos: - Tipo: array<bool> freq[0..N-1] - Vantagens: leitura e atualização direta, legível, sem operações bitwise. - Limitações: ocupa mais memória por elemento. Pseudocódigo: para i de 0 até N-1: se entrada[i] == 'P' então freq[i] := true senão freq[i] := false contagem := 0 para i de 0 até N-1: se freq[i] então contagem := contagem + 1 Retorna contagem Abordagem 2 — bitmask (inteiro): - Tipo: inteiro sem sinal (ou vários inteiros se N > tamanho da palavra) - Vantagens: muito eficiente em memória e operações vetoriais (bitwise), bom para transmitir ou armazenar compactado. - Limitações: menos legível, operações de teste/atualização exigem bitwise, limite pelo tamanho da palavra (32/64 bits) ou necessidade de estrutura adicional. Pseudocódigo (N = bits de inteiro): bitmask := 0 para i de 0 até N-1: se entrada[i] == 'P' então bitmask := bitmask OR (1 << i) contagem := 0 para i de 0 até N-1: se (bitmask AND (1 << i)) ? 0 então contagem := contagem + 1 Retorna contagem Recomendação: use array de booleanos quando a prioridade for clareza e operações frequentes por posição; use bitmask quando for crítico reduzir memória ou melhorar performance em operações bitwise e N couber na representação ou puder ser segmentado em blocos.

Explicação

A resposta apresenta duas abordagens distintas para representar a frequência de alunos em aulas, detalhando as vantagens e limitações de cada uma, o que permite ao leitor entender as implicações de cada escolha. O uso de pseudocódigo para ambas as abordagens ilustra claramente como implementar as soluções, facilitando a compreensão prática. A recomendação final ajuda a direcionar a escolha da abordagem mais adequada com base nas necessidades específicas do problema.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
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

tipos de dados em algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

tipos de dados em algoritmos · lógica de programação

📚 Reveja

Revisar conceitos de arrays e bitmasks em programação.

⚠️ Erro mais comum

O aluno pode confundir a utilização de arrays com bitmasks, não reconhecendo as limitações de cada abordagem em termos de eficiência e clareza.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

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