Faça Sua Pesquisa.

sábado, 18 de fevereiro de 2012

Variáveis Compostas Homogêneas Multidimensionais Pascal



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:
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.

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]
Exemplo 4.2:
program matrizes;
{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;
begin

{ preenche a matriz notas2, linha a linha (aluno) }
    for i:= 1 to 10 do
      for j:= 1 to 5 do
        read(notas2[i,j]);
{ calculando as médias das notas dos alunos}
    for i:= 1 to 10 do
      begin
        soma := 0; for j:= 1 to 5 do
          soma := soma + notas2[i,j];
        media := soma/5; media_aluno[i] := media;
      end;
{ 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];
        media := soma/10; media_disc[j] := media;
      end;
{ Imprimindo os resultados }
    writeln('Média das notas dos alunos:'); for i:= 1 to 10 do
      writeln('Aluno[', i:2, '] = ', media_aluno[i]:3:2);
    writeln('Média das notas em cada disciplina:'); for j:= 1 to 5 do
      writeln('Disciplina[', j:2, '] = ', media_disc[j]:3:2);
end.

0 comentários:

Postar um comentário

TecCodigos Copyright © 2011 | Template created by O Pregador | Powered by Blogger