Documente Academic
Documente Profesional
Documente Cultură
PROGRAMAO DE SISTEMAS
INFORMTICOS
Modulo 5
Record
Pessoa
Nome
Idade
Altura
de nascimento, etc.
como varivel
Como tipo de dados
Exemplos
Representao de uma pessoa:
type
Pessoa = record
Nome : String;
Idade: Integer;
Altura: Real
end;
var
X, Y: Pessoa;
Exemplos
type
Data = record
Dia : 1 . . 31;
Mes : (Jan,Fev,Mar,Abr,Mai,Jun,
Jul,Ago,Set,Out,Nov,Dez);
Ano : integer
end;
Exemplo
type
Brinquedo = record
Tipo : (Bola, Jogo, Boneca);
Custo : real;
Estado : (Bom, Avariado);
end;
Exemplos
Informaes de um funcionrio
type
Ficha = record
Nome : string [20];
Codigo : 1..999;
Salario : real;
end;
var
Funcionario1 : Ficha;
Record - Denotao
Acesso
Pessoa
Nome
Idade
Altura
Record - Abreviao
with Funcionario do
begin
write (Qual o nome do Funcionrio: );
readln (Nome);
write (Qual o cdigo do Funcionrio: );
readln (Codigo);
write (Qual o salrio do Funcionrio: );
readln (Salario);
end;
Comparao:
Normal:
Abreviado:
begin
with Funcionario do
write (Qual o nome do
begin
Funcionrio: );
write (Qual o nome do
readln (Funcionario.Nome);
Funcionrio: );
write (Qual o cdigo do
readln (Nome);
Funcionrio: );
write (Qual o cdigo do
readln
Funcionrio: );
(Funcionario.Codigo);
write (Qual o salrio do
readln (Codigo);
Funcionrio: );
write (Qual o salrio do
readln
Funcionrio: );
(Funcionario.Salario);
readln (Salario);
end;
end;
Record Abreviao
Outro exemplo
Hierarquia de Registro
Acesso aos Campos
Type
. . .
Registo = record
Codigo : 1 . . 1000;
Nome : string [40];
DtNasc : TData;
Salario : real;
Endereco : TEnder;
end;
Var
R, S: Registo;
Begin
R.Codigo:= 5;
R.DtNasc.dia:= 13;
R.Salario:= 3333.33;
R.Endereco.Rua:= Rua de baixo da ponte da barra;
R.Endereco.Cidade:= Aveiro;
S:= R;
End.
Outros exemplos:
Crie um registo de cliente, sabendo que esse contm
os seguintes campos:
Nmero do cliente que do tipo integer;
Uma designao do tipo de conta do cliente que do
tipo char;
O saldo do cliente que do tipo Real.
Com base nesses dados crie o registo de cliente?
EXERCICIOS
1 Elaborar um programa que solicita os dados de
um aluno e no final mostra os dados introduzidos.
Os dados a pedir so o nome, morada e telemvel.
Exerccio:
Necessitamos de:
Introduzir os dados dos 4 elementos
Verificar se masculino ou feminino
Somar as idades por sexo e por fim calcular a sua
mdia.
Begin
writeln (Introduo dos nomes);
for i:=1 to 10 do
begin
writeln (Digite o ,i, nome);
readln (nome[i]);
end;
122
Abel Simes
12:00
134
102
Rodrigo Vidal
13:30
123
905
Margarida Soares
01:45
1234
45
Tiago Aveiro
17:30
43
234
Isabel Marques
22:10
56
34
Rui Quintas
15:00
672
Tab
Temp
Temp
3
Tab [1]
Tab[2]
For i:=1 to 9 do
Begin
for j:=i+1 to 10 do
begin
if (tab[i].cod>tab[j].cod) then
begin
temp:=tab[i];
tab[i]:=tab[j];
tab[j]:=temp;
end;
end;
End;
Exerccio
Elabore um programa que pede 4 notas de 8 alunos,
no final apresenta os dados ordenados. A ordenao
ser feita com base no nome do aluno.
Nota: Utilize registos com arrays
Crie um procedimento para entrada de dados, outro
para ordenao dos dados e por ultimo um para
mostrar os dados.