São variáveis compostas que necessitam de mais de um índice para individualização de seus elementos.
A criação desse tipo de variável é feita com a seguinte declaração:
A criação desse tipo de variável é feita com a seguinte declaração:
lista-de-identificadores : ARRAY[k] OF t;
lista-de-identificadores são os nome que serão associados às variáveis multidimensionais.
k é da forma l11..l12,l21..l22, ... ,ln1..ln2, que são limites do intervalo de variação de cada um dos n índices da variável.
t é o tipo a que pertencem os componentes do conjunto.
k é da forma l11..l12,l21..l22, ... ,ln1..ln2, que são limites do intervalo de variação de cada um dos n índices da variável.
t é o tipo a que pertencem os componentes do conjunto.
Por exemplo, para criar uma variável notas2, contendo as notas de alunos em cada disciplina, onde as linhas representam os alunos e as colunas representam as disciplinas, faz-se o seguinte
notas2 : array[1..10,1..5] of real;
Isso indica que temos 10 alunos e 5 disciplinas, ou o contrário, conforme a convenção que se adotar para linha e para coluna. Para acessar a nota do aluno 3 na disciplina 5 basta referenciá-lo por
nota2[3,5] ou nota[3][5]. Outros exemplos de acesso aos elementos neste tipo de variável são:
notas2[3,4], notas2[5,5], notas2[i,j]
ou
notas2[3][4], notas2[5][5], notas2[i][j]
nota2[3,5] ou nota[3][5]. Outros exemplos de acesso aos elementos neste tipo de variável são:
notas2[3,4], notas2[5,5], notas2[i,j]
ou
notas2[3][4], notas2[5][5], notas2[i][j]
Exemplo 4.2:
program matrizes;
{Calcular a média das notas de cada aluno e as médias das notas em cada disciplina}
{Calcular a média das notas de cada aluno e as médias das notas em cada disciplina}
var
- notas2 : array[1..10,1..5] of real;
media_aluno : array[1..10] of real;
media_disc : array[1..5] of real;
i, j : integer;
soma, media : real;
{ preenche a matriz notas2, linha a linha (aluno) }
- for i:= 1 to 10 do
- for j:= 1 to 5 do
- read(notas2[i,j]);
- for i:= 1 to 10 do
- begin
- soma := 0;
for j:= 1 to 5 do
- soma := soma + notas2[i,j];
{ calculando as médias das notas em cada disciplina }
- for j:= 1 to 5 do
- begin
- soma := 0;
for i:= 1 to 10 do
- soma := soma + notas2[i,j];
- writeln('Média das notas dos alunos:');
for i:= 1 to 10 do
- writeln('Aluno[', i:2, '] = ', media_aluno[i]:3:2);
- writeln('Disciplina[', j:2, '] = ', media_disc[j]:3:2);
0 comentários:
Postar um comentário