Programowanie Obiektowe - Informatyka sem. III

Aktualności

Program przedmiotu


Program przedmiotu obejmuje programowanie obiektowe na przykładzie języka C++.
Zagadnienia omawiane na wykładzie:
  1. Ogólne spojrzenie na język C++
  2. Klasy
  3. Pola i metody
  4. Przeciążenie operatora
  5. Dziedziczenie
  6. Funkcje wirtualne
  7. Wzorce
  8. Obsługa wyjątków
  9. Hierarchie klas
  10. Biblioteka standardowa C++ (STL)

Wymagania wstępne


Umiejętność programowania w języku ANSI C i znajomość biblioteki standardowej języka C.

Literatura


Obowiązkowa


  1. B. W. Kernighan, D. M. Ritchie, "Język ANSI C", WNT, Warszawa 1994
  2. B. Stroustrup, "Język C++", WNT, Warszawa 1995

Uzupelniajaca


  1. S. Meyers, "Język C++ bardziej efektywny",WNT, Warszawa 1998
  2. A. Drozdek, D. Simon, "Struktury danych w języku C", WNT, Warszawa 1996
  3. Jasmin Blanchette, Mark Summerfield, "C++ GUI Programming with QT4"

Zaliczenie

Ocena z zaliczenia wystawiana jest na podstawie oceny kolejnych cwiczen w trakcie laboratorium (65%) i trzech kolokwiow przeprowadzanych w trakcie laboratoriow (35%)

Kolokwium

Część pierwsza (5 tydzien, 10%) składa sie z nastepujących zadań: Czesc druga (7 tydzien, 5%) obejmuje znalezienie błędu logicznego lub podanie rezultatu wykonania krótkiego fragmentu programu.
Część trzecia (13 tydzien, 20%) zawiera polecenie zdefiniowania prostej klasy, na podstawie opisu i przykładu zastosowania.
Przykładowe pytania na kolokwium można znależć tutaj .


Zaliczenie laboratorium


Program laboratorium


Przegląd procesu kompilacji na przykładzie programu Hello world.

  • preprocesor,
  • kompilacja,
  • asemblacja,
  • konsolidacja.

1h

Wskaźniki, dynamiczna alokacja pamięci.

2h

Program implementujący stos liczb całkowitych w języku C

  • implementacja w postaci oddzielnego modułu ze statyczną rezerwacją pamięci (tablica),
  • implementacja w postaci oddzielnego modułu z dynamiczną alokacją pamięci,
  • implementacja obiektowa z zastosowaniem struktur i dynamicznej alokacji pamięci.

3h

Programowanie obiektowe w języku C++ - klasa stosu.

2h

Klasa Complex implementująca liczby zespolone, z zastosowaniem operatorów.

2h

Klasa String implementująca łańcuchy tekstowe, z zastosowaniem dynamicznej alokacji pamięci i obsługą wyjątków.

  • prosta,
  • z zastosowaniem zliczania odwołań (ang. reference counting).

4h

Klasa macierzy liczb rzeczywistych z operacjami matematycznymi z zastosowaniem dynamicznej alokacji pamięci, operatorów i wyjątków.

4h

Tablica asocjacyjna liczb całkowitych (indeksowana łańcuchem tekstowym) w oparciu o funkcje wirtualne (funkcja porównująca)

  • z rozróżnianiem małych i wielkich liter,
  • bez rozróżniania małych i wielkich liter.

4h

Wzorzec tablicy asocjacyjnej dla dowolnego typu.

2h

Użycie wzorca STL map<T> do implementacji tablicy asocjacyjnej.

2h


Materiały pomocnicze