Registros em Pascal permitem agrupar diferentes tipos de dados sob um único nome. Exemplos mostram como declarar registros simples e matriciais, acessar campos de registros usando ponto, e programas completos ilustrando uso de registros para cadastro de funcionários.
1. CURSO DE BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO
UNIVERSIDADE SAGRADO CORAÇÃO – USC
BAURU/SP
ALGORITMOS E ESTRUTURAS DE DADOS
REGISTROS
Declarando registros em pascal
Sintaxe
type nome_da_variavel_registro = record
campo1 : tipo;
campo2 : tipo;
campo3 : tipo;
.....
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 registro;
Exemplo 3:
type empresa = record
nome : literal;
salario : real;
end;
var funcionario : array[1..4] of registro;
Exemplo 4:
type banco = record
numero : literal;
saldo : real;
titular : string[35];
end;
var conta : banco;
Acesso Aos Campos De Um Registro
Sintaxe
nome_da_variavel_do_tipo_registro.nome_do_campo;
Exemplos:
conta.num;
conta.nome;
conta.saldo;
conta[i].num;
conta[1].nome;
conta[2].saldo;
2. Exemplo completo 1:
program registro;
type
reg_pessoa = record
nome: string[40];
idade:integer;
cpf:integer;
end;
var
reg:reg_pessoa;
begin
writeln('Digite seu nome');
readln(reg.nome);
writeln('Digite seu cpf');
readln(reg.cpf);
writeln('Digite sua idade');
readln(reg.idade);
writeln('Seu nome eh ',reg.nome);
writeln('Seu cpf eh ',reg.cpf);
writeln('Sua idade eh ',reg.idade);
end.
Exemplo completo 2:
program empresa;
type
func_info=record
nome: string[40];
endereco:string[100];
telefone:string[7];
salario:real;
end;
fun=array[1..50] of func_info;
var
empre:fun;
procedure cadastra_func (var empresa:fun);
var
numero: integer;
begin
for numero:=1 to 50 do
begin
writeln('Digite o nome do funcionario');
readln(empresa[numero].nome);
writeln('Digite o endereco do funcion rio');
readln(empresa[numero].endereco);
writeln('Digite o telefone');
readln(empresa[numero].telefone);
writeln('Digite o salario');
readln(empresa[numero].salario);
end;
writeln('Os funcion rios foram cadastrados');
end;
procedure salario_maior(empresa:fun);
var
num:integer;
begin
for num:=1 to 50 do
begin
if empresa[num].salario>500
3. then writeln (empresa[num].nome,' ganha mais que 500');
end;
end;
begin
cadastra_func(empre);
salario_maior(empre);
writeln('fim do programa');
end.