Descreva um algoritmo em pseudocódigo que, dado n variáveis booleanas (dados de entrada), gere todas as 2^n…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Descreva um algoritmo em pseudocódigo que, dado n variáveis booleanas (dados de entrada), gere todas as 2^n combinações possíveis e explique a complexidade temporal e espacial do algoritmo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e análise): Iterativo por contagem binária: 1. Para i de 0 até 2^n - 1: 2. Para j de 0 até n-1: 3. bit[j] ? (i >> j) & 1 4. Emitir bit[0..n-1] Recursivo (backtracking): função gerar(pos, prefixo): se pos == n: emitir prefixo; retornar prefixo[pos] = 0; gerar(pos+1, prefixo) prefixo[pos] = 1; gerar(pos+1, prefixo) Complexidade: - Tempo: O(n · 2^n) porque geramos 2^n combinações e cada combinação leva T(n) para construir/emitir. - Espaço: O(n) adicional para o vetor corrente; se armazenarmos todas as combinações, espaço total O(n · 2^n). Observações: escolha entre iteração e recursão depende de restrições de pilha; ambas produzem o mesmo crescimento assintótico.
Explicação
O pseudocódigo apresentado gera todas as combinações de variáveis booleanas de forma eficiente, utilizando tanto uma abordagem iterativa quanto uma recursiva. A análise de complexidade temporal e espacial demonstra que, independentemente da abordagem escolhida, o crescimento das combinações é exponencial em relação ao número de variáveis, refletindo a natureza do problema. A escolha entre iteração e recursão permite flexibilidade na implementação, dependendo das limitações do ambiente de execução.
Raio-X da questão
algoritmo e complexidade
avaliacao
variáveis booleanas · pseudocódigo
Revisar conceitos de algoritmos e análise de complexidade.
O aluno pode confundir a quantidade de combinações possíveis, não considerando que cada variável pode ser verdadeira ou falsa, resultando em 2^n combinações.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Elabore um algoritmo em pseudocódigo que, dadas três variáveis booleanas A, B e C, verifique todas as oito combinações…
- Descreva em pseudocódigo e em linguagem natural um algoritmo que receba um vetor de variáveis booleanas (dados de…
- Escreva um algoritmo em pseudocódigo que receba três variáveis booleanas A, B e C e retorne verdadeiro se exatamente…
- Projete um algoritmo em pseudocódigo que receba três variáveis booleanas A, B e C e retorne verdadeiro quando o número…
- Elabore um algoritmo em pseudocódigo que receba três variáveis booleanas A, B e C e retorne verdadeiro se (a) pelo menos…
- Descreva um algoritmo em pseudocódigo que receba quatro variáveis booleanas P (permissão), B (backup), C (condição…
🔎 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
