Questão 47 · Informática: Programação e algoritmos
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;
- C) -4, 0, 4;
- D) 4, -1, 1;
- E) 4, 2, 2.
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca FGV (BANESTES 2021).
Comentário
Gabarito: B.
A função F percorre k em range(a, b), que inclui a e exclui b, e exibe k elevado a c. Para exibir 16, 9, 4, 1, 0, 1, a sequência de k deve ser -4, -3, -2, -1, 0, 1. Portanto, a = -4 e b = 2 (range para antes de 2). Com c = 2, os quadrados são 16, 9, 4, 1, 0 e 1, exatamente a saída do enunciado.
Por que as outras estão erradas:
- (A) com a = -4 e b = 1, o laço vai de -4 a 0 e exibe só cinco números (16, 9, 4, 1, 0), faltando o último 1.
- (C) com a = -4, b = 0 e c = 4, os valores seriam 256, 81, 16 e 1, e não a sequência do enunciado.
- (D) com a = 4 e b = -1, range(4, -1) é vazio, e nada seria exibido.
- (E) com a = 4 e b = 2, range(4, 2) também é vazio.
Dica: range exclui o limite final. Para descobrir os parâmetros a partir da saída, comece pela quantidade de valores e pelo primeiro valor exibido.
Fundamentos: função range e limites exclusivos em Python · potenciação com o operador ** · rastreamento de saídas de funções
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV BANESTES 2021 (Segurança da Informação), questão 47, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.