Aula 15: Variáveis Compostas Heterogêneas

  1. 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);


    Aula Anterior | Índice | Próxima Aula