вторник, 24 мая 2016 г.

 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.

Комментариев нет:

Отправить комментарий