Índice de Aulas  Próxima Aula  Aula Anterior  Página Principal

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.



Índice de Aulas  Próxima Aula  Aula Anterior  Página Principal