PYTANIA NA EGZAMIN USTNY Z PRZEDMIOTU
Transkrypt
PYTANIA NA EGZAMIN USTNY Z PRZEDMIOTU
PYTANIA NA EGZAMIN USTNY Z PRZEDMIOTU PROGRAMOWANIE KOMPUTERÓW Egzamin ustny składa się z czterech pytań, po dwa z każdej części CZĘŚĆ 1. JĘZYK C 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Struktura programu. Klasy pamięci, zakres i widoczność nazw. Standardowe typy danych. Postacie stałych. Konwersje i rzutowanie typów. Typy void oraz void*. Typy tablicowe i wskaźnikowe. Tablice wielowymiarowe i tablice wskaźników. Dostęp do parametrów linii wywołania programu. Struktury i unie. Operacje na listach wykorzystujące wskaźniki na struktury. Wyrażenia. Zasady wartościowania wyrażeń. Operatory i ich priorytety. Budowa i znaczenie (semantyka) deklaracji i definicji. Zapisywanie i odczytywanie skomplikowanych deklaratorów. Inicjalizacja zmiennych prostych i strukturalnych. Instrukcje warunkowe. Instrukcja wyboru. Instrukcje iteracyjne. Instrukcje break i continue. Funkcje: prototypy, wywoływanie, przekazywanie danych i zwracanie wartości. Instrukcja return. Funkcje: przekazywanie argumentów będących danymi wskaźnikowymi, tablicowymi oraz strukturami i uniami. Preprocesor. Definicje stałych symbolicznych. Kompilacja rozdzielna i pliki nagłówkowe. Biblioteki i funkcje biblioteczne. Operacje wejścia-wyjścia. CZĘŚĆ 2. JĘZYK C++ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Programowanie obiektowe jako jeden z paradygmatów programowania. Abstrakcja danych. Języki wspierające programowanie obiektowe. Możliwości C++ w części nieobiektowej: typy referencyjne, stałe nazwane, operatory new i delete. Funkcje w C++: prototypy, przekazywanie argumentów, wartości zwracane. Funkcje inline, wartości domyślne parametrów. Funkcje przeciążone, zasady dopasowywania argumentów. Pojęcie klasy. Pola, metody, sposoby kontroli dostępu do składowych klasy, operatory dostępu do składowych klasy. Pojęcie obiektu. Konstruktory i destruktory obiektów, sposoby inicjalizowania pól. Obiekty dynamiczne. Kopiowanie i przypisywanie obiektów. Konstruktor kopiujący i operator przypisania. Przekazywanie obiektu, zwracanie obiektu. Wskaźnik this. Przekazywanie parametrów, zwracanie wartości a konstruktory kopiujące. Funkcje i klasy zaprzyjaźnione. Przeciążanie operatorów. Przykłady implementacji. Przeciążenie a wydajność. Metody generowane automatycznie. Dziedziczenie. Klasa bazowa i pochodna. Kolejność wywoływania konstruktorów i destruktorów obiektów klasy pochodnej. Konstruktor kopiujący i operator przypisania dla obiektów klasy pochodnej. Dziedziczenie wielobazowe. Wieloznaczność metod i klas bazowych. Wirtualne klasy bazowe. Polimorfizm. Wczesne i późne wiązanie. Metody wirtualne i czyste metody wirtualne. Klasy polimorficzne. Klasy abstrakcyjne. RTTI (Run-Time Type Information). Wzorce funkcji i wzorce klas. Obsługa wyjątków. Elementy biblioteki standardowej C++.