Scopul lucrării: • Studierea programării prin abstractizarea datelor; • Studierea regulilor de definire şi utilizare a structurilor de date; • Crearea variabilelor de tip structură, accesarea componentelor unei structuri. Sarcina lucrarii: Varianta 7 а) Să se creeze tipul abstract de date (structura) – monitor, care are denumirea firmei producătoare, dimensiunea în inch, numărul de culori şi rezoluţie. Să se definească funcţiile de setare, de modificare a datelor, de comparare a monitoarelor. Pentru crearea cîmpurilor textuale să se utilizeze operatorul new. Să se elibereze memoria. În main să se exemplifice căutarea monitorului potrivit după dimensiune şi alte caracteristici. b) Să se creeze tipul abstract de date (structura) – vector, care are pointer spre char şi numărul de elemente. Să se definească funcţiile de iniţializare, de eliminare a vectorului, de setare/modificare a dimensiunii, de acces la elementele vectorului, de calcul a produsului elementelor negative ale vectorului. Ca exemplu, în funcţia main, să se realizeze înmulţirea a doi vectori. Indicatii teoretice: Structura – este o mulţime de date grupate, conform unei ierarhii, de obicei de tipuri diferite. Structura poate fi comparată cu tabloul, însă tabloul conţine date de un acelaşi tip, iar elementele tabloului se accesează cu ajutorul indicilor, pe cînd accesarea componentelor structurii are o formă specifică. Structura reprezintă un tip abstract de date, un tip definit de utilizator prin utilizarea tipurilor La stabilirea şi implementarea conceptelor necesare rezolvării unei probleme se realizează un proces de abstractizare care priveşte reprezentarea datelor şi prelucrarea acestora. Aceasta justifică termenul de programare prin abstractizarea datelor. Fie definiţia de structură: struct Book{ // definirea elementelor structurii char *author; char *title; int year; int pages; }; înaintea cuvîntului cheie struct uneori se adaugă cuvîntul cheie typedef. Însă această sintaxă este proprie limbajului C, şi nu C++. Elementele structurii pot fi de tip predefinit sau definit de utilizator, excepţie fiind tipul structurii date. Pentru definirea variabilelor este suficientă utilizarea numelui de structură la fel ca tipurile predefinite: Book b1, b2, bs[10], *bptr; În acest caz s-au definit două variabile de tip carte, un tablou din 10 cărţi şi un pointer spre carte. Referirea la componentele unei structuri se face utilizînd atît numele structurii cît şi a componentei respective. Aceasta se realizează printr-o construcţie de forma: b1.pages = 153; bs[i].pages = 24; În cazul pointerilor: bptr = new Book; // alocarea memoriei pentru o variabilă nouă bptr->pages = 176; Fie definiţia de structură:
Comentariul tau va fi primul
Laborator: Structura – mecanism de abstractizare Profesor: Balan Mihaela