Atribuição entre matrizes 3Dx3D.
O interpretador Hall aceita a atribuição global entre os elementos de matrizes do mesmo tipo. (tipo de dado e dimensão). Veja o exemplo abaixo: São declarados cinco variáveis:
- a matriz a[] e a matriz b[] ambas tridimensionais de dimensão 2:3:2
- a variável i que servirá como subscritor para as linhas dos elementos das matrizes.
- a variável j que servirá como subscritor para as colunas dos elementos das matrizes.
- a variável k que servirá como subscritor para a terceira dimensão dos elementos das matrizes.
A matriz a[] é inicializada com os valores 1,2,3,4,5,6,7,8,9,10,11,12. Na linha seguinte, é realizada uma atribuição dos valores da matriz a[] para a matriz b[]. Observe que, essa atribuição pode ser realizada em uma única linha de código pois as matrizes a[] e b[] são compatíveis (mesmo tipo e dimensão). Finalmente, são exibidos os elementos da matriz b[] para evidenciar que realmente a atribuição de valores foi realizada com sucesso. Veja o algoritmo abaixo:
Exemplo:
algoritmo()
{
// declara as variaveis
matriz inteiro a[2:3:2],b[2:3:2];
inteiro i;
inteiro j;
inteiro k;
// inicializa a matriz a[]
a[] = (1,2,3,4,5,6,7,8,9,10,11,12);
// atribui os elementos da matriz a[] para b[]
b[] = a[];
// exibe os valores de b[]
para (i:=1 ate 2 passo 1)
{
para (j:=1 ate 3 paddo 1)
{
para (k:=1 ate 2 passo 1)
{
escreva(b[i][j][k]);
}
}
}
}