segunda-feira, 10 de maio de 2010

ARRAY


Array Unidimensional

A estrutura do tipo vetor é a mais conhecida dos programadores por ser a estrutura mais simples de ser
implementada. Suas características básicas são:
É uma estrutura homogênea, isto é, formada de elementos de mesmo tipo, chamado tipo base.
Todos os elementos da estrutura são igualmente acessíveis, isto é, quer dizer que o tempo e o tipo de
procedimento para acessar qualquer um dos elementos do vetor são iguais.
Cada elemento componente da estrutura tem um nome próprio, que é o nome do vetor seguido do índice.
A declaração de um vetor pode utilizar um tipo definido pelo usuário ou simplesmente a especificação de
array para uma variável

Exemplo:

Program ex8;
uses crt;
const max = 50;
var
nomes: array[1..maximo] of string[20];
notas: array[1..maximo] of real;
soma, media: real;
i: 1..máximo;
begin
clrscr;
soma := 0;
for i:=1 to Maximo do
begin
write(‘Entre com o nome do aluno: ‘,i,’de ‘,maximo,’: ‘); readln(nomes[i]);
write(‘Entre com sua nota: ‘); readln(notas[i]);
soma := soma + notas[i]; {acumulador de notas}
end;
media := soma/Maximo; {media geral da turma}
write(‘Média geral da turma: ‘,media:5:2);
readkey;
end.

 Array multidimensional

Os tipos dos componentes de um array não precisam necessariamente ser inteiros, reais ou outro tipo de
dados simples. Na verdade, um array pode conter dados de qualquer tipo, até mesmo outros arrays. Se um
vetor contém outro vetor como tipo, ele é denominado array multidimensional ou simplesmente matriz.

type apart = array[1..10,’A’..’C’] of string[40];
var
propriet: apart;


Um elemento pode ser selecionado pela expressão geral matriz[i,j], onde matriz é uma variável do tipo
matriz, i é o índice das linhas e o j o índice das colunas.

Exemplo:
Program construir_matrizes;
uses crt;
const linhas = 2;

colunas = 4;
type matriz = array[1..linhas,1..colunas] of integer;
var
b: matriz;
i:1..linhas;
j: 1..colunas;
begin
clrscr;
for i:=1 to linhas do
for j:=1 to colunas do
begin
gotoxy(j*5,i*2);
if (i=j) then
B[i,j]:=5+2*j
else
B[i,j] := I*I-j;
end;
readkey;
end.

Nenhum comentário:

Postar um comentário