Questão nº 47

Questão de Tecnologia da Informação · FGV BANESTES 2021 (nº 47)

FGV2021Analista em Tecnologia da Informação - Segurança da InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓

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:

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ão 16,9,4,1,0, mas faltaria o último 1 (pois 1 não está no range, pois b=1 exclui o 1).
  • (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 exatamente 16,9,4,1,0,1 na 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 seriam 256,81,16,1, não batendo com a sequência.
  • (D) Incorreta: Com a=4, b=-1, c=1, range(4,-1) é vazio (pois a > b sem 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.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho