duminică, 4 decembrie 2011

RECORD

Tipul înregistrare (articol)

Spre deosebire de tipul tablou, tipul articol este o structură neomogenă, care cuprinde un număr fix sau variabil de componente, care pot fi de tipuri diferite. Componentele articolului se numesc câmpuri. Un câmp al articolului este specificat printr-un identificator, numit selector şi prin tipul câmpului, care poate fi simplu sau structurat.
Tipul articol poate fi de două feluri:
- tipul articol fix care conţine numai o parte fixă, adică numărul componentelor este fix;
- tipul articol cu variante, care conţine o structură variabilă în ceea ce priveştye numărul componentelor sau tipul lor.
Tipul articol fix se defineşte în felul următor:

Type
Nume =Record
Selector1: tipul selectorului 1
Selector2: tipul selectorului 2
……………..
selectorn: tipul selectorului n
end

Selectorul este un identificator al câmpului. Câmpuri diferite vor avea selectori diferiţi. Un selector dintr-un articol poate avea acelaşi nume cu o variabilă din program sau cu un alt selector din altă înregistrare. Tipul selectorului este un tip simplu sau structurat.
Exemplu:
Type
data = record
zi: 1..31
luna: 1..12
an: cardinal
end
Type
persoana=record
nume: string[30]
data_nast: record
zi: 1..31
luna: 1..12
an: cardinal
end
sau
Type
persoana=record
nume: string[30]
data_nast: data
end
var
d1:data
d2:data
a,b:persoana;

Selectarea unei componente se realizează prin procedeul de calificare în felul următor:

Variabila_articol.selector

Exemple:
1. Variabilei d1 să i se atribuie valoarea 11 martie 1999
d1.zi:=11
d1.luna:=3
d1.an:=1999
2. Variabilei d2 să i se atribuie 9 mai 1945
D2.zi:=9
D2.luna:=5
D2.an:=1945
3.
a.nume:=’Ivanov’
a.data_nast.zi:=18
a.data_nast.luna:=5
a.data_nast.an:=1979

Vectori de articole
Var
Grupa: array[1..25] of persoana

Aritcole cu variante
Tipul articol cu variante reprezintă o structură care cuprinde o parte variantă, adică o parte care a cărei structură diferă de la un caz la altul. Astfel, două variabile, având acelaşi tip articol cu variante, vor putea avea structuri diferite, determinate de numărul componentelor şi/sau de tipul acestora. În general, valorile pe care le poate lua un anumit câmp din tipul articolului, numit câmp selector, vor determina variantele.

Type
Nume = record
Descrierea partea fixa
Descrierea partea variabila
End

Exemple
Type
Fel=(punct,triunghi,dreptunghi,cerc)
Figura=record
Nume: string[15]
Case f:fel of
Punct: (x:real,y:real)
Treunghi: (a,b,c:cardinal)
Dreptunghi:(a,b:cardinal)
Cerc(x,y:integer,r:cardinal)
End

Niciun comentariu:

Trimiteți un comentariu