Aula 7
Variáveis Estruturadas Heterogêneas
( Registros )
Um registro na vida real pode guardar dados de vários tipos. Ele pode ter vários campos
Exemplo:
Cadastro de um usuário numa Locadora
Nome: ..............................
Idade: ....
Sexo:. ....
Telefone: ..........
Nome, idade, sexo, telefone, endereço são campos do registro e guardam diferentes tipos de dados: inteiros, literais, etc...
Este registro é muito útil pois, temos vários dados de diferentes tipos de um único usuário da locadora. Isto nos fornece organização. A linguaguem pascal permite criarmos variáveis que agem de forma análoga. Estas varáveis são chamadas de compostas heterogêneas ou registros.
Sintaxe:
Var
Nome_do_registro:
Record
campo1: tipo_da_variável;
campo2:tipo_da_variável;
.
.
campon:tipo_da_variável;
End;
Observações:
Nome_do_registro - é o identificador do registro
Record - indica que a variável é um registro
campon - é o identificador do n-ésimo campo do registro
End - indica o fim do registro
Tipo_da_variável - é o tipo de dado que ela vai guardar: inteiro ( integer ), literal ( string ), etc.
Se os campos possuem o mesmo tipo eles podem ser delcarodos na mesma linha separados por vírgula.
Como utilizar estas variáveis no
programa ?
No programa os registros são tratadadas da seguinte forma
Nome_do_registro.campon
Abstrato!? Calma, se liga nos exemplos
....
Exemplo1:
Program cadastro_da_locadora;
Var
{ Programa que armazena o cadastro de um cliente na memória usando uma variável de registro }
Cadastro: Record
Nome: string;
Idade, Telefone: integer;
Sexo: Char;
End;
Begin
Write(' Digite o nome do Cliente - ');
Readln( Cadastro.Nome);
Write(' Digite a idade do Cliente - ');
Readln( Cadastro.idade);
Write(' Digite o sexo do Cliente [M / F ] - ');
Readln( Cadastro.sexo);
Write(' Digite o telefone do Cliente - ');
Readln( Cadastro.telefone);
End.
Exemplo2:
Suponha que você queira guardar não 1 mas, 100 cadastros. Isto pode ser feito combinando os registros com as varáveis compostas homogêneas ( vetores e matrizes )
Program cadastro_da_locadora;
Var
{ Programa que armazena o cadastro 100 clientes na memória usando um vetor de registro }
Cadastro: Array [1..100 ] of Record
Nome: string;
Idade, Telefone: integer;
Sexo: char;
End;
I: integer;
Begin
For I:=1 to 100 Do
Begin
Write(' Digite o nome do ' ,I, ' º Cliente - ');
Readln( Cadastro[ I ].Nome);
Write(' Digite a idade do ' ,I, ' º Cliente - ');
Readln( Cadastro[ I ].idade);
Write(' Digite o sexo do ' ,I, ' º Cliente [M / F ] - ');
Readln( Cadastro[ I ].sexo);
Write(' Digite o telefone do ' ,I, ' º Cliente - ');
Readln( Cadastro[ I ].telefone);
end;
End.