TIPUL DE DATE ARTICOL(RECORD). PARTEA TEORETICĂ: Mulţimea de




![Exemplu: program p1; type student=record NP:string[20]; AN:integer; NM:real; end; var a:student; begin a.np:=’Moraru Iurie'; Exemplu: program p1; type student=record NP:string[20]; AN:integer; NM:real; end; var a:student; begin a.np:=’Moraru Iurie';](https://present5.com/customparser/61430924_437837334 --- tipul_de_date_record.ppt/slide_4.jpg)
![program p2; type Elev=record Nr_Ord:integer; N,P:string; An_nast:1970..2000; L_n:1..12; Zi_nast:1..31; end; ListaElevilor=array[1..40] of Elev; var program p2; type Elev=record Nr_Ord:integer; N,P:string; An_nast:1970..2000; L_n:1..12; Zi_nast:1..31; end; ListaElevilor=array[1..40] of Elev; var](https://present5.com/customparser/61430924_437837334 --- tipul_de_date_record.ppt/slide_5.jpg)









tipul_de_date_record.ppt
- Количество слайдов: 13
TIPUL DE DATE ARTICOL(RECORD).
PARTEA TEORETICĂ: 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
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 ins- trucţ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. Asupra componentelor datelor de tip articol se pot efectua toate operaţiile admise de tipul câm- pului respectiv. Orice tip de date articol poate servi ca tip de bază pentru formarea altor tipuri structurate.
Exemplu: program p1; type student=record NP:string[20]; AN:integer; NM:real; end; var a:student; begin a.np:=’Moraru Iurie'; a.an:=1986; a.nm:=8.6; writeln('Studentul:',a.np); writeln('Anul nasterii:',a.an:5); writeln('Are nota medie:',a.nm:5:2); readln; end. Studentul: Moraru Iurie Anul nasterii: 1986 Are nota medie: 8.60 Moraru Iurie 1986 8.6
program p2; type Elev=record Nr_Ord:integer; N,P:string; An_nast:1970..2000; L_n:1..12; Zi_nast:1..31; end; ListaElevilor=array[1..40] of Elev; var E:Elev; LE:ListaElevilor; i:integer; n:1..40; sir:string;
begin writeln('Introduceti numarul de elevi ai clasei:'); write('n= '); readln(n); for i:=1 to n do begin LE[i].Nr_Ord:=i; writeln('Introduceti datele elevului cu numarul de ordine ',i); write('Numarul de ordine in catalog: ');readln(le[i].nr_ord); write('Numele: ');readln(le[i].n); write('Prenumele: ');readln(le[i].p); write('Anul nasterii: ');readln(le[i].an_nast); write('Luna nasterii: ');readln(le[i].l_n); write('Ziua nasterii: ');readln(le[i].zi_nast) end;
writeln('Elevii nascuti in februarie, prenumele carora incepe cu "A" sint:'); for i:=1 to n do begin if (LE[i].Luna_Nast=2)and(LE[i].Prenume[1]='A') then with LE[i] do writeln(Nr_Ord,’ ’,Nume,’ ’,Prenume,’ ’,zi_nast,’ ’,luna_nast, ‘ ’,an_nast,’.’); end; readkey; end.
Introduceti numarul de elevi ai clasei: n= 2 Introduceti datele elevului 1 Numarul de ordine din catalog: 1 Numele: Leahu Prenumele: Igor Anul nasterii: 1984 Luna nasterii: 12 Ziua nasterii: 17 Introduceti datele elevului 2 Numarul de ordine din catalog: Numele: Prenumele: Anul nasterii: Luna nasterii: Ziua nasterii: 2 Apopii Alexandru 1983 2 12 Elevii nascuti in februarie, prenumele carora incepe cu "A" sint: Apopii Prenumele: Alexandru Data nasterii: 16 2 1983
Program p3; uses crt; type data=record z:1..31; l:1..12; a:integer; end; persoana=record np:string; dn:data; end; lista=array[1..50] of persoana;
var n,i,z:integer; lp:lista; begin clrscr; Write('Introdu numarul persoanelor: '); readln(n); for i:=1 to n do with lp[i] do begin writeln; writeln('Introdu datele persoanei: ',i); write('Nume Prenume: '); readln(np); write('data nasterii: '); readln(dn.z); write('luna nasterii: '); readln(dn.l); write('anul nasterii: '); readln(dn.a); end;
Partea, deja introdusa, a programului are rolul de citrea datelor introduse de la tastatura, iar partea care va urma doar afiseaza datele de pe o linie indicata de utilizator. clrscr; begin write('Introdu numar linei pe care doresti sa o vizualizezi: '); readln(i); writeln(lp[i].np,' ',lp[i].dn.z,’/',lp[i].dn.l,’/',lp[i].dn.a); end; readln; end.
Introdu numarul persoanelor: 2 Introdu datele persoanei: 1 Nume Prenume: Sircu Dumitru data nasterii: 14 luna nasterii: 10 anul nasterii: 1985 Introdu datele persoanei: 2 Nume Prenume: Secher Ecaterina data nasterii: 15 luna nasterii: 05 anul nasterii: 1983
Introdu numarul liniei pe care doresti sa o vizualizezi: 1 Sircu Dumitru 14/10/1985