Questão nº 27

Questão de Economia de Energia · FGV EPE 2024 (nº 27)

FGV2024Analista de Pesquisa Energética - Economia de EnergiaEconomia de Energia
Gabarito: Bver comentário ↓

Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3).

<1> import numpy as np

<2> x = np.arange(1,30,2).reshape(3,5)

<3> y = x[[1,2]]

<4> y[0,:]=0

<5> z = x[0,2]

Assinale a opção que indica o valor que z recebe na linha <5>.

Resposta comentada

Gabarito Alternativa B

NumPy é uma biblioteca para trabalhar com arrays (matrizes) e, ao fatiar (selecionar partes) um array, é crucial saber se você está criando uma cópia (independente) ou uma view (referência à memória original).

Contexto do código:

  1. x = np.arange(1,30,2).reshape(3,5) cria o array x:
    [[ 1,  3,  5,  7,  9],
     [11, 13, 15, 17, 19],
     [21, 23, 25, 27, 29]]
    
  2. y = x[[1,2]] usa indexação avançada (com uma lista de índices [1,2]). Isso cria uma cópia das linhas 1 e 2 de x.
    y = [[11, 13, 15, 17, 19],
         [21, 23, 25, 27, 29]]
    
  3. y[0,:]=0 modifica a primeira linha de y para zeros. Como y é uma cópia, x não é alterado.
    y = [[ 0,  0,  0,  0,  0],
         [21, 23, 25, 27, 29]]
    
    x continua sendo:
    [[ 1,  3,  5,  7,  9],
     [11, 13, 15, 17, 19],
     [21, 23, 25, 27, 29]]
    
  4. z = x[0,2] acessa o elemento na linha 0, coluna 2 do array x (que não foi modificado).

(A) Incorreta: Esta seria a resposta se y = x[[1,2]] criasse uma view e a modificação em y afetasse x. No entanto, a indexação avançada em NumPy cria uma cópia, não uma view.
(B) Correta: O valor de z é 5 porque x[0,2] se refere ao elemento na primeira linha (índice 0) e terceira coluna (índice 2) do array x original, que é 5. As operações em y não alteraram x porque y era uma cópia.
(C) Incorreta: Este é o valor da primeira linha de y após a modificação, mas z recebe um único valor escalar de x, não um array.
(D) Incorreta: Este é um subconjunto de x, mas não é o valor de z, que é um único elemento escalar.
(E) Incorreta: Este é um subconjunto de x, mas não é o valor de z, que é um único elemento escalar.

Fonte: FGV EPE 2024 Analista de Pesquisa Energética - Economia de Energia (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