*_*

quinta-feira, 8 de dezembro de 2011

Matrizes - Pascal


Vamos imaginar que queremos rescrever o programa das notas do aluno, agora
mantendo o controle para cinco alunos ao invés de apenas um. Com os conhecimentos

adquiridos até agora seria necessário criar cinco vetores (matrizes unidimensionais), um
para cada aluno. Esta é uma solução, e funciona, porém, torna nosso trabalho mais
cansativo.
Para facilitar o trabalho com estruturas deste porte, existem as chamadas
matrizes (ou matrizes multidimensionais, se você pensar que vetores são matrizes
unidimensionais).A mais comum é a matriz de duas dimensões.
Uma matriz de duas dimensões estará sempre fazendo menção a linhas e colunas
e será representada por seu nome e seu tamanho.
Sintaxe:

<matriz> : array [dimensão_linha,dimensão_coluna] of <tipo_de_dado>;


onde: matriz é o nome atribuído à matriz, dimensão_linha é o tamanho da matriz
em número de linhas, dimensão_coluna é o tamanho da matriz em número de colunas e
tipo_de_dado é o tipo do elemento armazenado(inteiros, reais...).


Ex.:
X: Vetor de String <nome: array[1..5] of string; >
X: Matriz                <notas: array[1..5,1..4] of real; >
X: Vetor de real     <media: array[1..5] of real; >


  Vetor                      Matriz                   Vetor
Marcus 2,4 3,6 8 9 5,7
Zeca 10 4 6,8 5,7 6,6
J J 6 6 6 6 6
Pedro 3,6 7 7 8 6,4
Sheila 10 10 10 10 10


program NOTA_ALUNO;
var
NOTAS : array[1..5,1..4] of real;
I, J: integer;
begin
    writeln('Leitura e Apresentacao da Notas');
    writeln;
        for I := 1 to 5 do
            begin
                writeln;
                writeln('Informe as notas do ',I, 'o. aluno: ');        
                for J:= 1 to 4 do
                    begin
                        write('Nota',J,': ');
                        readln(NOTAS[I, J]);
                    end;
            end;
    writeln;
        for I:= 1 to 5 do
            begin
                write('As notas do aluno ', I:2, ' sao: ');
                for J := 1 to 4 do
                    write(NOTAS[I, J]:2:2, ' ');
                    writeln;
                end;
            writeln;
        writeln('Tecle <ENTER> para encerrar: ');
        readln;
end.


Exercício

Categories: ,

0 comentários:

Postar um comentário