Analise o código da linguagem de programação R a seguir. xp...
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:
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