|
MINISTERUL EDUCA?IEI AL REPUBLICII MOLDOVA
UNIVERSITATEA DE STAT DIN MOLDOVA
FACULTATEA MATEMATIC? ?I INFORMATIC?
DARE DE SEAM?
LA DISCIPLINA:INFORMATIC?.
LA LUCRAREA DE LABORATOR ?5
TEMA:TIPURI DE DATE STRUCTURATE. TIPUL DE DATE ARTICOL
(RECORD) .
A EFECTUAT STUDENTUL
GRUPEI G4: LEAHU IGOR.
A VERIFICAT LECTORUL:
RUSU CAROLINA.
CHI?IN?U 2003
ENUN?UL PROBLEMEI:
Se consider? informa?ia despre elevii unei clase: num?rul de ordine( tip integer ), numele ?i
prenumele( tip string ), anul na?terii( 1970-2000 ), luna na?terii( 1-12 ), ziua na?terii( 1-31 ). S? se afi?eze lista elevilor n?scu?i în luna februarie, prenumele c?rora începe cu litera „A”.
PARTEA TEORETIC?:
Mul?imea de valori ale unui tip de date record este constituit? din articole( înregistr?ri ).Artico-
lele sînt formate din componente, denumite câmpuri. Spre deosebire de componentele unui tablou, câmpurile pot fi de tipuri diferite. Fiecare câmp are un nume ( identificator de câmp ).
Un tip de date articol se define?te printr-o structur? de forma
type = record
: T1;
: T2;
. . . . . . . . . . . . . . . . . .
: 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 imbricante.
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 numeleva-
riabilei ?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.
PROBLEMA REZOLVAT?:
program lucr5;
uses
crt;
type
Elev=record
Nr_Ord:integer;
Nume,Prenume:string;
An:1970..2000;
Luna:1..12;
Zi:1..31;
end;
ListaElevilor=array[1..40] of Elev;
var
E:Elev;
LE:ListaElevilor;
i:integer;
n:1..40;
sir:string;
begin
clrscr;
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].nume);
write('Prenumele: ');readln(le[i].prenume);
write('Anul nasterii: ');readln(le[i].an_nast);
write('Luna nasterii: ');readln(le[i].luna_nast);
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].LunaNastere=2)and(LE[i].Prenume[1]='A') then
with LE[i] do
writeln(Nr_Ord,' ',Nume,' ',Prenume,' ',zi,' ',luna,' ',an'.')
end;
readkey
end.
REZULTATUL PROGRAMULUI:
Introduceti numarul de elevi ai clasei:
n=4
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: 2
Numele: Apopii
Prenumele: Alexandru
Anul nasterii: 1983
Luna nasterii: 2
Ziua nasterii: 16
Introduceti datele elevului 3
Numarul de ordine din catalog: 3
Numele: Ababii
Prenumele: Andrei
Anul nasterii: 1986
Luna nasterii: 2
Ziua nasterii: 23
Introduceti datele elevului 4
Numarul de ordine din catalog: 4
Numele: Profir
Prenumele: Arcadii
Anul nasterii: 1987
Luna nasterii: 3
Ziua nasterii: 21
Elevii nascuti in februarie, prenumele carora incepe cu “A” sint:
Nr: 2 Numele: Apopii Prenumele: Alexandru Data nasterii: 16 2 1983
Nr: 3 Numele: Ababii Prenumele: Arcadii Data nasterii: 23 2 1986
CONCLUZII:
Utilizarea tipului de date structurat articol( record ) permite lucrul cu o cantitate mai mare de date în compara?ie cu alte tipuri de date structurate studiate pân? acum. Un avantaj mare pentru tipul articol reprezint? faptul c? el poate fi utilizat aproximativ ca un tablou, dar câmpurile sale, spre deo-
sebire de elementele tabloului, pot fi de tipuri total diferite.
|