Você está na página 1de 3

Prof.

AgostinhoAndrade

AEP2007/2008

10CPIG

Registos(Record)emPascal
Osregistossoumaformadeagruparvriasvariveisdiferentesnumas,umaespciede
ficha.Vamosveroseguinteexemplo:
Suponhaqueocartodoalunocontmosseguinteselementos
Nome:
Idade:Ano:Turma:
Morada:

ComoqueemPascalnspoderamosagruparnumasvarivel?
UsandoumaestruturadeprogramaochamadaRECORD.ORecordeminglspodeser
traduzidocomoRegisto,istoumaespciedefichaondenspodemosdefinirvariveis
simplestaiscomostrings,bytes
PortantoparadefinirmosumRecordfazemososeguinte(aproveitandooexemplodocarto
doaluno):

Var cartao: Record


Nome:string;
Idade:byte;
Ano: byte;
Turma: string;
Morada: string;
End;
Portanto,orecordcomeacomapalavrachaveRECORDeterminacomapalavrachaveEND
nestecasoumavariveletemonomeCARTAO.PoderamosdefinirumTYPE,istoumtipode
dadosdotipoRecordedepoisdefinirvariveisdessetipodaseguintemaneira:

Type tipo_cartao= Record


Nome:string;
Idade:byte;
Ano: byte;
Turma: string;
Morada: string;
End;
Var cartao: tipo_cartao;

Pag.1/3

Prof.AgostinhoAndrade

AEP2007/2008

10CPIG

Reparequeagora,emvezdos:usamoso=paradefinerotype.Avantagemdedefinirum
typequepodemosdefinirvriasvariveisdotypetipo_cartodeformamaissimples.

ComovamoscolocarvaloresdentrodavarivelCARTO?
Vamosverumprogramaquedefineeutilizaavarivelcarto:

Program registo;
Var cartao: Record
Nome:string;
Idade:byte;
Ano: byte;
Turma: string;
Morada: string;
End;
Begin
Writeln(Introduza o seu nome);
Readln(cartao.nome);
Writeln(Introduza a sua idade);
Readln(cartao.idade);

End.

PoderamosusarapalavrachaveWITH(quequerdizercom)esimplificarautilizaoda
varivelcartodaseguinteforma:

Program registo;
Var cartao: Record
Nome:string;
Idade:byte;
Ano: byte;
Turma: string;
Morada: string;
End;
Begin
With cartao do

Pag.2/3

Prof.AgostinhoAndrade

AEP2007/2008

10CPIG

Begin
Writeln(Introduza o seu nome);
Readln(nome);
Writeln(Introduza a sua idade);
Readln(idade);

End;
End.
ReparequecomowithmaisfcilumavariveldotipoRECORDeapartirdapodemosusar
asvariveisqueestodentrooditoRecordsemterqueestarsempreausaronomedo
Record.OWithcomeadocomumBEGINfinalizadocomumEND.
VejanoMoodleumprogramadeexemplodautilizaodosRecordscomArrayseaforma
comotudoficamaissimplesapesardejestarmosaprogramarcomestruturasmais
complexas.
ComparandooRecordcomoArraypodemosdizeroseguinte,oarrayumaformadeagrupar
dadostodosdomesmotipoutilizandoumasvarivel.ORecordporsuavezumaformade
agrupardadosdetiposdiferentesnumasvarivel.Portantonofazemamesmacoisamas
juntospodemosporexemploagruparainformaodoscartesdosalunosdeumaescola
definindoumarrayvectordotypetipo_cartao:

Record
Nome:string;
Idade:byte;
Ano: byte;
Turma: string;
Morada: string;
End;
Var alunos: array[1..600] of tipo_cartao;
Typetipo_cartao=

Nesteexemploanterior,teramosumavarivelvectorchamadaALUNOSquecontm600
fichasdotipoTIPO_CARTAOqueeafichadoaluno.Emcadacluladoarrayteramosa
informaodecadaalunodaescola.VejanoMoodleexemplosdeprogramaocomRecords.

Pag.3/3