No contexto da linguagem de programação R, analise o código a seguir. x <- c(4, NA) x <- 2 x^2 A saída (output) da última linha será:
- A)[1] 16;
Errada, porque 16 seria o resultado de 4^2, mas o valor 4 foi substituído antes da última operação.
- B)[1] 4;
Certa, porque x é reatribuído para 2 e, portanto, x^2 resulta em [1] 4.
- C)[1] 16 4;
Errada, porque a expressão final não usa o vetor antigo c(4, NA), já que x foi sobrescrito.
- D)[1] NA;
Errada, porque NA só apareceria se ainda existisse um valor ausente na variável usada no cálculo final.
- E)[1] 16 NA.
Errada, porque o objeto x não guarda mais dois elementos na última linha, ele passou a valer apenas 2.
Gabarito: B
Em R, a leitura do código depende muito da ordem das atribuições. Quando voce escreve x <- c(4, NA), cria um vetor com dois elementos: 4 e NA. Mas, logo em seguida, voce reatribui x <- 2, isto apaga o valor anterior e faz x passar a ser apenas um número inteiro simples. Ou seja, o conteúdo anterior deixa de existir para a variável x. A linha x^2 então eleva esse novo valor ao quadrado. Como x agora vale 2, o resultado é 4, e o R mostra isso como [1] 4. Em provas, esse tipo de questão explora bem a ideia de sobrescrita de variável: a última atribuição manda no jogo. O detalhe do NA é uma isca clássica. Se ele continuasse em x, poderia aparecer propagando um valor ausente na operação. Mas aqui ele foi substituído antes da conta final. Então não há mistério nem drama: o segundo comando redefine x e a potência usa apenas esse novo valor. Por isso, o gabarito B está correto: a saída da última linha é [1] 4.