REGISTROS
Profª Ms. Engª Elaine Cecília Gatto
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
Declaração de Registros
TYPE nome_da_variavel_registro = RECORD
campo 1: tipo 1;
campo 2: tipo 2;
.....
campo N: tipo N;
END;
VAR
nome_da_variavel: nome_da_variavel_registro;
EXEMPLO 1
TYPE registro = RECORD
num : INTEGER;
nome: STRING[35];
saldo : REAL;
END;
VAR
conta: registro;
EXEMPLO 2
TYPE registro = RECORD
num : INTEGER;
nome: STRING[35];
saldo : REAL;
END;
VAR
conta : ARRAY [ 1 .. 15 ] of exemplo;
Acesso aos campos de um
registro
nome_da_variavel_do_tipo_registro.nome_do_campo
Exemplo 1: inserindo dados
TYPE banco = RECORD
numero : INTEGER;
saldo : REAL;
titular : STRING[35];
END;
.......
VAR
conta : banco;
........
writeln( ‘ Digite o número da conta: ’ );
readln( conta.numero );
writeln( ‘ Digite o número do titular da conta: ’ );
readln( conta.titular );
writeln( ‘ Digite o saldo da conta: ’ );
readln( conta.saldo );
......
Exemplo 2: inserindo dados
TYPE empresa = RECORD
nome : LITERAL;
salario: REAL;
END;
............
VAR
funcionarios : ARRAY [ 1 .. 4 ] of empresa;
............
for i : 10 to 4 do
begin
writeln( ‘ Digite o nome do funcionario ’, i, ‘ : ’ );
readln( funcionarios[i].nome );
writeln( ‘ Digite o salário do funcionario ’, i, ‘ : ’ );
readln( funcionarios[i].salario );
END;
......
Exemplo 3: apresentando
dados
TYPE empresa = RECORD
nome : LITERAL;
salario: REAL;
END;
............
VAR
funcionarios : ARRAY [ 1 .. 4 ] of empresa;
............
for i : 10 to 4 do
begin
writeln( ‘ Funcionário que ocupa a posição ’, i, ‘ no
vetor: ’ );
writeln( ‘ Nome: ’, funcionarios*i+.nome );
writeln( ‘ Salário: ’, funcionarios*i+.salario:6:2 );
END;
......

Algoritmos - Registros

  • 1.
    REGISTROS Profª Ms. EngªElaine Cecília Gatto Curso de Bacharelado em Engenharia de Computação Universidade do Sagrado Coração – USC Bauru/SP
  • 2.
    Declaração de Registros TYPEnome_da_variavel_registro = RECORD campo 1: tipo 1; campo 2: tipo 2; ..... campo N: tipo N; END; VAR nome_da_variavel: nome_da_variavel_registro;
  • 3.
    EXEMPLO 1 TYPE registro= RECORD num : INTEGER; nome: STRING[35]; saldo : REAL; END; VAR conta: registro;
  • 4.
    EXEMPLO 2 TYPE registro= RECORD num : INTEGER; nome: STRING[35]; saldo : REAL; END; VAR conta : ARRAY [ 1 .. 15 ] of exemplo;
  • 5.
    Acesso aos camposde um registro nome_da_variavel_do_tipo_registro.nome_do_campo
  • 6.
    Exemplo 1: inserindodados TYPE banco = RECORD numero : INTEGER; saldo : REAL; titular : STRING[35]; END; ....... VAR conta : banco; ........ writeln( ‘ Digite o número da conta: ’ ); readln( conta.numero ); writeln( ‘ Digite o número do titular da conta: ’ ); readln( conta.titular ); writeln( ‘ Digite o saldo da conta: ’ ); readln( conta.saldo ); ......
  • 7.
    Exemplo 2: inserindodados TYPE empresa = RECORD nome : LITERAL; salario: REAL; END; ............ VAR funcionarios : ARRAY [ 1 .. 4 ] of empresa; ............ for i : 10 to 4 do begin writeln( ‘ Digite o nome do funcionario ’, i, ‘ : ’ ); readln( funcionarios[i].nome ); writeln( ‘ Digite o salário do funcionario ’, i, ‘ : ’ ); readln( funcionarios[i].salario ); END; ......
  • 8.
    Exemplo 3: apresentando dados TYPEempresa = RECORD nome : LITERAL; salario: REAL; END; ............ VAR funcionarios : ARRAY [ 1 .. 4 ] of empresa; ............ for i : 10 to 4 do begin writeln( ‘ Funcionário que ocupa a posição ’, i, ‘ no vetor: ’ ); writeln( ‘ Nome: ’, funcionarios*i+.nome ); writeln( ‘ Salário: ’, funcionarios*i+.salario:6:2 ); END; ......