Questão FC331184
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 o
Linguagens de Programação
FGV · 2021
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:
- -4, 1, 2;
- -4, 2, 2;
- -4, 0, 4;
- 4, -1, 1;
- 4, 2, 2.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A alternativa correta usa a = -4, b = 2 e c = 2. Em Python, a função range(start, stop) gera valores de start até stop - 1, com passo padrão 1.
Logo, range(-4, 2) produz a sequência: -4, -3, -2, -1, 0, 1. Cada valor é atribuído a k no laço.
O operador ** é exponenciação; com c = 2 calcula-se \(k^2\) para cada k. Aplicando aos termos, obtemos: \( (-4)^2 = 16,\; (-3)^2 = 9,\; (-2)^2 = 4,\; (-1)^2 = 1,\; 0^2 = 0,\; 1^2 = 1.\)
Portanto, a chamada F(-4, 2, 2) imprime exatamente a sequência 16, 9, 4, 1, 0, 1, coincidindo com o enunciado.
Conteúdo do catálogo FC Concursos · Atualizado em