LUCRARE DE LABORATOR NR. 1 LA DISCIPLINA „PROGRAMAREA ÎN LIMBAJUL C++” Tema: Structura – mecanism de abstractizare 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. Noţiuni de bază 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 deja 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; Dacă structura conţine componente de tip compus, referirea elementelor este următoarea: Circle1.Center.x = 20; Circle1.Center.y = 10;
Comentariul tau va fi primul
23:44Laborator: Sarcina lucrarii de laborator nr 1 c++ Profesor: Scrob