Documente Academic
Documente Profesional
Documente Cultură
DARE DE SEAMĂ
LA DISCIPLINA:INFORMATICĂ.
LA LUCRAREA DE LABORATOR №5
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 <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 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:
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.