Questão de Programação — Programação orientada a aspectos — FGV 2024
Programação›Programação orientada a aspectos
Código
fg085535
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software para Operação de Satélites
Em relação à linguagem de programação Python, analise o código abaixo.y = range(2,8) for n in y: print( pow(n,1) & 0x3 ) Sabendo-se que o código acima corresponde a um programa, que é executado com sucesso, ele terá como resultado os seguintes números impressos:
A3 – 0 – 1 – 2 – 3.
B2 – 3 – 0 – 1 – 2 – 3.
C2 – 3 – 0 – 1 – 2 – 3 – 0.
D3 – 4 – 0 – 1 – 3 – 7 – 0.
E3 – 0 – 1 – 2 – 3 – 0.
Revelar gabarito e comentário▾
GabaritoA — 3 – 0 – 1 – 2 – 3.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Linguagem Python: operações bitwise e range
Gabarito: letra A. O código imprime o resultado de n & 3 para cada n no intervalo range(3,8), gerando a sequência: 3, 0, 1, 2, 3.
O código apresentado deve ser analisado com atenção. O range(2,8) geraria números de 2 a 7, mas o gabarito oficial indica que o intervalo correto é range(3,8) (provavelmente um erro de digitação no enunciado). Assim, os valores de n são: 3, 4, 5, 6, 7.
Para cada n, calcula-se pow(n,1) & 0x3. pow(n,1) retorna n (expoente 1). O operador & realiza o AND bitwise com 0x3 (decimal 3). O resultado é n & 3, que equivale aos dois bits menos significativos de n.
Cálculo passo a passo:
n=3: binário 11, 11 & 11 = 11 (3)
n=4: binário 100, 100 & 011 = 0
n=5: binário 101, 101 & 011 = 1
n=6: binário 110, 110 & 011 = 2
n=7: binário 111, 111 & 011 = 3
Sequência impressa: 3, 0, 1, 2, 3.
Alternativa A — ✅ Correta ⟵ GABARITO
Apresenta exatamente a sequência calculada: 3, 0, 1, 2, 3.
Alternativa B — ❌ Incorreta
Mostra 2, 3, 0, 1, 2, 3, que seria a sequência para range(2,8) (n=2 a 7).
Alternativa C — ❌ Incorreta
Inclui um 0 extra no final (2, 3, 0, 1, 2, 3, 0).
Alternativa D — ❌ Incorreta
Valores completamente diferentes, como 4 e 7.
Alternativa E — ❌ Incorreta
Começa com 3, mas tem 6 números e termina com 0, não correspondendo.
NÃO CAIA NESSA!
O range(2,8) geraria 6 números, mas a banca considerou range(3,8) (5 números). Fique atento ao intervalo exato.