Metode evoluate de programare | Advanced programming methods |
trul |
|||||
(Mathematics-Computer Science) |
|||||
(College of Computer Technology) |
|||||
(Mathematics Economics) |
|||||
(Computer Science) |
Cadre didactice indrumatoare | Teaching Staff in Charge |
Lect. DARVAY Zsolt, darvay@cs.ubbcluj.ro Lect. LUPEA Mihaiela, lupea@cs.ubbcluj.ro |
Obiective | Aims |
Insusirea metodelor de abstractizare a datelor si ale programarii orientate obiect. |
Acquisition of the methods of data abstractisation and object oriented programming. |
Curs 1: Introducere in limbajul C++
- Tipuri de date simple - Constante, variabile - Operatori: operatorul de atribuire, operatori aritmetici +,-,/,*,%, operatori de incrementare si decrementare ++,--, operatori logici si relationali, operatorul virgula, operatorul ternar ?, operatori la nivel de bit, operatori de atribuire combinati, operatorul sizeof si operatorul cast - Expresii: ordinea de evaluare a expresiilor, conversii de tip in expresii, clase de precedenta Curs 2: - Tipul de date tablou: operatorul de indexare, tablouri unidimensionale/multidimensionale, initializarea tablourilor - Instructiuni - instructiunea vida - instructiunea expresie - instructiunea compusa - instructiunea de decizie: if - instructiunea de selectie: switch - instructiunea de ciclare: while - instructiunea de ciclare: do while - instructiunea de ciclare: for - instructiunea break - instructiunea de continuare a unui ciclu : continue - instructiunea de salt neconditionat : go to Curs3: - Variabile de tip pointer - Variabile referinta - Operatii cu pointeri - Tablouri si pointeri - Alocarea dinamica a memoriei: operatorii new si delete - Exemplu de alocare dinamica a unei matrice Curs 4: - Tipurile de date structura si uniune - operatorul de selectie directa "." - operatorul de selectie indirecta -> - initializarea structurilor/uniunilor - Tipul de date enumerare - Definirea unui nou tip de date cu typedef Functii_I - definirea si declararea functiilor - transferul parametrilor - transferul prin valoare - transferul prin referinta - folosirea pointerilor ca parametri - parametri tablouri - instructiunea return - argumentele functiei main, valoarea returnata de functia main Curs 5: Functii_II - Functii inline/macrodefinitii - Functii cu numar variabil de parametri - Parametri cu valori implicite ai unei functii - Pointeri la functii - Supradefinirea functiilor - Functii recursive Curs 6: - Atributele datelor: tipul, clase de memorie, durata de viata, accesibiliatea, scopul - Directive de preprocesare Curs 7: Elemente fundamentale de POO - Abstractizarea datelor, nivele de abstractizare - Proiectarea operatiilor unui tip abstract de data - Clase si obiecte - Clase abstracte si clase parametrizate - Mostenire simpla si multipla - Polimorfism - Etapele de realizare a unui program orientat obiect Curs 8: POO in limbajul C++ - Clase si obiecte - Constructori: impliciti, de copiere, de conversie - Destructori - Tablouri de obiecte, initializarea tablourilor - Pointeri la obiecte, alocare dinamica de obiecte - Pointeri la functiile membre ale unei clase - Cuvantul cheie this - Membrii statici ai unei clase - Functii membre constante si obiecte constante Curs 9: Supradefinirea operatorilor - Functia operator - Functii prietene, clase prietene - Supradefinirea operatorilor folosind functii prietene - Supradefinirea operatorilor folosind functii membre - Supradefinirea operatorilor: =,[],(),<<,>> Curs 10: Conversii de tip - Conversii implicite de tip - Tipuri de conversii utilizator asupra obiectelor - conversie tip predefinit --> tip abstract - conversie tip abstract --> tip predefinit - conversie tip abstract --> tip abstract - Mecanismul template: clase si functii parametrizate Curs 11: Mostenire in limbajul C++ - Clase derivate - Drepturi de acces ale membrilor mosteniti - Constructori si destructori pentru clasa derivata - Compatibilitatea dintre o clasa derivata si una de baza - Mostenire multipla Curs 12: Polimorfism - Clase virtuale - Legare statica si legare dinamica - Functii virtuale - Interactiunea functiilor virtuale si nevirtuale - Destructori virtuali - Metode pure, clase abstracte Curs 13: Sistemul "stream" de I/E din C++ - operatii de I/E cu format - operatii de I/E fara format - utilizarea functiilor width(), precision(), fill() - utilizarea functiilor de I/E de tip "manipulator" - crearea propriilor functii de tip insertie - crearea propriilor functii de tip extractie Curs 14: Operatii de I/E cu fisiere - functiile de I/E de tip binar - accesul de tip aleator la fisiere - verificarea starii sistemului de I/E - utilizarea operatorilor de tip insertie si extractie la operatiile de I/E cu fisiere |
1. Andonie R., Garbacea I.: Algoritmi fundamentali. O perspectiva C++, Editura Libris, Cluj_Napoca, 1995.
2. Bulac C.: Initiere in Turbo C++ si Borland C, Ed.Teora, 1995. 3. Catrina O., Cojocaru I.: Turbo C++, Editura Teora, Bucuresti,1993. 4. Frentiu M., Parv B.: Elaborarea programelor, Ed. Promedia, Cluj-Napoca, 1994. 5. Gurewich O., Gurewich N.: Borland C++ Multimedia Programming, SYBEX Inc., 1994. (Bibl Britanica 005.133 GUR) 6. Holzner S.: Borland C++ for Windows Programming, ver 4.0, Brady Publishing, 1994 (Biblioteca Britanica 005.133 HOL) 7. Jurca I.: Programarea orientata pe obiecte in limbajul C++, ED. EUROBIT, Timisoara, 1992. 8. Lupea I., Lupea M.: Limbajul C. Teorie si aplicatii, Ed. Cartea Cartii de Stiinta, Cluj-Napoca, 1998. 9. Moldovan G., Cioban V., Lupea M.: Probleme pentru programare in limbajul C, Univ. Babes-Bolyai, Cluj-Napoca, 1995. 10. Muslea I.: Initiere in C++. Programare orientata pe obiecte C++, Editura Microinformatica, Cluj-Napoca, 1992. 11. Negrescu L.:Limbajul C++, Ed. Albastra,Cluj-Napoca 1996. 12. Shammas N.C: Curs rapid de Borland C++. (traducere Adrian Corbuleanu), Ed. Teora, 1996. 12. Somnea D., Turturea D.: Initiere in C++. Programarea orientata pe obiecte, Ed. Tehnica, Bucuresti, 1993. 13. Spircu C., Lopatan I.: POO Analiza, proiectarea si programarea orientate spre obiecte, Ed. Teora, 1995. 14. Stroustup B., The C++ Programming Language, Addison Wesley, 1986. 15. Tackett J., Mitchell E.: Object-oriented programming with Visual C++ 1.5, Que Corporation, 1994. (Biblioteca Britanica 005.133 TAC) |
Evaluare | Assessment |
Lucrare scrisa 40%, proba practica 40%, lucrari de laborator 20% |
Written examination 40%, practical examination 40%, laboratory exercises 20%. |