Créditos FEC-Unicam

Variáveis Compostas Heterogêneas

Registros
São conjuntos de dados logicamente relacionados, mas de tipos diferentes (inteiro, real, literal, ...).

Para se utilizar estruturas desse tipo, deve-se declará-las da seguinte forma:

lista-de-identificadores :  record

componenetes
end;
lista-de-identificadores são os nomes que estão sendo associados aos registros que se deseja declarar.
componentes são declarações de variáveis, separadas por ponto-e-vírgula.

Exemplo 4.3: Para se declarar um registro com os campos abaixo, faz-se o seguinte:


Cadastro
--------------------------------------------------
|Nome |
--------------------------------------------------
|Rua | Número | CEP |
--------------------------------------------------
|RG |CPF |Nascimento |Sexo |
--------------------------------------------------
Var
cadastro : record
nome : string[30];
rua : string[40];
numero: integer;
cep: real;
rg : real;
cpf:real;
nascimento: string[10];
sexo : char;
end;
É possível também, declarar um registro como um tipo. No exemplo abaixo o registro endereco é declarado como um tipo. Na declaração das variáveis a variável cadastro (que é um registro) tem como um dos seus componentes a variável do tipo endereco, refereciado pela variável ender.
Type endereco = record

rua : string[40];
numero : integer;
CEP : real;
end;
Var

...
cadastro : record

nome : string[30];
ender : endereco;
CPF: real;
Sexo : char;
nascimento : real;
rg : real;
end;
Para se referencia a cada campo (ou componente) de um registro utiliza-se a seguinte notação:

identificador.variável

Por exemplo, do registro cadastro acima, imprimimos os valores de cada campo da seguinte forma:


writeln(cadastro.nome);
writeln(cadastro.ender.rua);
writeln(cadastro.ender.numero);
writeln(cadastro.ender.CEP);
writeln(cadastro.CPF);
writeln(cadastro.Sexo);
writeln(cadastro.nascimento);
writeln(cadastro.rg);