Tipul de date Record.
Mulţimea de valori ale unui tip de date record este constituită din articole( înregistrări ). Articolele sînt formate din componente, denumite câmpuri. Fiecare câmp are un nume ( identificator de câmp). Spre deosebire de componentele unui tablou, câmpurile pot fi de tipuri diferite. Un tip de date articol se defineşte printr-o structură de forma:
type <nume tip> = record
<nume câmp 1> : T1;
<nume câmp 2> : T2;
. . .
<nume câmp n> : Tn;
end;
unde T1,T2,…,Tn specifică tipul câmpurilor respective. Tipul unui nume de câmp este arbitrar, astfel un câmp poate să fie la rândul său tot de tip articol. Prin urmare, se pot defini tipuri imbricate. Fiind date două variabile de tip articol de acelaşi tip, numele variabilelor pot apărea într-o instrucţiune de atribuire. Această atribuire înseamnă copierea tuturor câmpurilor din membrul drept în membrul stâng. Fiecare componentă a unei variabile de tip record poate fi specificată explicit, prin numelevariabilei şi denumirile de câmpuri, separate prin puncte.
Problema:
Se dau doua date calendaristice,
reprezentind zilele de nastere a doi prieteni, Radu si Mihai.Sa se afiseze
numele celui mai mare.
Rezolvare:
Program: Record;
Uses Crt;
Var R, M: record
zi:1…31;
luna:1…12;
an: Word;
end;
Begin
ClrScr;
{Citim data
nasterii lui Radu}
repeat
write ( ‘ Introdu
ziua, luna, anul nasterii lui Radu: ‘);
readln ( zi, luna, an );
until ( zi in [1…31] ) and ( luna in [1…12] )
and ( an<2000);
{Determinam
cine e mai mare}
if (r.an>m.an) or ( (r.an=m.an) and ( r.luna>m.luna) ) or
( ( r.an=m.an ) and (
r.luna=m.luna ) and ( r.zi>m.zi) ) then
write ( ‘ Mihai ’ );
if (m.an>r.an) or ( (m.an=r.an) and ( m.luna>r.luna) ) or
( ( m.an=r.an ) and ( m.luna=r.luna
) and ( m.zi>r.zi) ) then
write ( ‘ Radu ‘ );
if (m.an=r.an)
and ( (m.luna=r.luna) and ( m.lzi=r.zi) ) then
write ( ‘ Sint nascuti in aceeasi zi ’ );
End.
Комментариев нет:
Отправить комментарий