Questão nº 47
Questão de Tecnologia da Informação · FGV BANESTES 2021 (nº 47)
Considere o código Python a seguir.
```
def F(a, b, c):
for k in range(a,b):
print k ** c
```
Dado que uma execução da função F exibiu os números
16, 9, 4, 1, 0, 1,
é correto afirmar que os valores dos parâmetros a, b, c empregados foram, respectivamente:
- A-4, 1, 2;
- B-4, 2, 2; (alternativa correta)
- C-4, 0, 4;
- D4, -1, 1;
- E4, 2, 2.
Resposta comentada
Gabarito Alternativa B
Conceito-chave: A função range(a, b) gera números inteiros de a até b-1 (não inclui b), e k ** c é a potência de k elevado a c. O laço imprime cada resultado na ordem crescente de k.
- (A) Incorreta: Com
a=-4, b=1, c=2,range(-4,1)gera-4,-3,-2,-1,0, cujos quadrados são16,9,4,1,0, mas faltaria o último1(pois1não está no range, poisb=1exclui o1). - (B) Correta: Com
a=-4, b=2, c=2,range(-4,2)gera-4,-3,-2,-1,0,1; elevando cada um ao quadrado (c=2), obtemos exatamente16,9,4,1,0,1na ordem impressa. - (C) Incorreta: Com
a=-4, b=0, c=4,range(-4,0)gera-4,-3,-2,-1; elevando à quarta potência, os resultados seriam256,81,16,1, não batendo com a sequência. - (D) Incorreta: Com
a=4, b=-1, c=1,range(4,-1)é vazio (poisa > bsem passo negativo), então nada seria impresso. - (E) Incorreta: Com
a=4, b=2, c=2,range(4,2)também é vazio, então nada seria impresso.
Armadilha da banca: O distrator mais tentador é a letra A, pois parece gerar 16,9,4,1,0 e o aluno esquece que range(a,b) não inclui b — por isso o 1 final exige que b=2, não b=1. A pegadinha está em confundir o limite superior exclusivo do range.
Fonte: FGV BANESTES 2021 Analista em Tecnologia da Informação - Segurança da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.