Analise o código da linguagem de programação R a seguir.  xp...

Próximas questões
Com base no mesmo assunto
Q1933595 Programação
Analise o código da linguagem de programação R a seguir. 

xpto <- array(c(1:24), dim = c(4, 3, 2)) print (xpto[3, 2, 1])

Na execução desse código, o print produz o valor: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B - 7

O código R apresentado na questão cria um array tridimensional com a função array(). Os elementos desse array são os números inteiros de 1 a 24, e as dimensões são definidas pelo parâmetro dim = c(4, 3, 2). Isso significa que teremos um array com 4 linhas, 3 colunas e 2 "camadas".

Para entender a resposta, é essencial saber como os elementos são distribuídos dentro do array. O R preenche o array de maneira que a primeira dimensão (linhas) varia mais rapidamente, seguida pela segunda dimensão (colunas) e, por último, a terceira dimensão (camadas). Assim, o array ficaria organizado da seguinte forma:

Camada 1:      Camada 2:
1  5  9        13 17 21
2  6  10       14 18 22
3  7  11       15 19 23
4  8  12       16 20 24

A questão pede para imprimir o valor na posição [3, 2, 1], que corresponde à terceira linha, segunda coluna e primeira camada do array. Portanto, o valor procurado é 7, conforme podemos verificar na organização acima.

Entender como se dá o acesso aos elementos de um array e como os dados são armazenados é crucial para programação e análise de dados, e essa questão testa exatamente esse conhecimento no contexto da linguagem R.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

letra B

xpto é criado como um array tridimensional, com valores indo de 1 a 24, numa matriz 3d com 4 linhas, 3 colunas e profundidade 2.

Visualizando cada camada da matriz, temos uma primeira face com

1 2 3 4

5 6 7 8

9 10 11 12

E uma segunda camada com

13 14 15 16

17 18 19 20

21 22 23 24

Logo, queremos o número na posição 3,2,1, ou seja, terceira coluna, segunda linha, primeira camada. (lembrando que o R não usa o zero para indexar o primeiro elemento).

1 2 3 4

5 6 7 8

9 10 11 12

Esse número é o 7.

Algo de errado não está certo.

Fiz na mão e não bateu com o gabarito do professor.

dim= c(4,3,2) ----> 4 LINHAS, 3 COLUNAS e 2 DIMENSÕES (não 3 linhas e 4 colunas)

Executando o código no R o resultado é o seguinte:

1ª dimensão: (perceba que os valores vão obedecendo a ordem vertical e não horizontal)

   [,1] [,2] [,3]

[1,]  1  5  9

[2,]  2  6  10

[3,]  3  7  11

[4,]  4  8  12

2ª dimensão:

   [,1] [,2] [,3]

[1,]  13  17  21

[2,]  14  18  22

[3,]  15  19  23

[4,]  16  20  24

Logo,

> print(xpto[3,2,1]) (3ª linha, 2ª coluna, 1ª dimensão)

[1] 7

Gab: B

A representação em R de uma matriz é na forma A[m,n], sendo m a linha e n a coluna.

Por ex: A[2,3] é uma matriz de 2 linhas e 3 colunas.

No exercício em questão são 4 linhas, 3 colunas e 2 matrizes, preenchendo as colunas da direita pra esquerda.

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

Como pede o elemento da linha 3, coluna 2 da matriz 1, já achamos a resposta.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo