ebook img

Zbiór zadań z programowania w języku C/C++ PDF

142 Pages·2012·0.824 MB·Polish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Zbiór zadań z programowania w języku C/C++

Zbiór zadań z programowania w języku C/C++ cz. 2 Uniwersytet Marii Curie-Skłodowskiej Wydział Matematyki, Fizyki i Informatyki Instytut Informatyki Zbiór zadań z programowania w języku C/C++ cz. 2 Jacek Krzaczkowski Lublin 2012 Instytut Informatyki UMCS Lublin 2012 Jacek Krzaczkowski Zbiór zadań z programowania w języku C/C++ cz. 2 Recenzent: Grzegorz Matecki Opracowanie techniczne: Marcin Denkowski Projekt okładki: Agnieszka Kuśmierska Praca współfinansowana ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Publikacja bezpłatna dostępna on-line na stronach Instytutu Informatyki UMCS: informatyka.umcs.lublin.pl. Wydawca Uniwersytet Marii Curie-Skłodowskiej w Lublinie Instytut Informatyki pl. Marii Curie-Skłodowskiej 1, 20-031 Lublin Redaktor serii: prof. dr hab. Paweł Mikołajczak www: informatyka.umcs.lublin.pl email: [email protected] Druk FIGARO Group Sp. z o.o. z siedziba w Rykach ul. Warszawska 10 08-500 Ryki www: www.figaro.pl ISBN: 978-83-62773-23-7 Spis treści Przedmowa vii 1 Klasy, obiekty, dziedziczenie 1 1.1. Klasy, obiekty . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Dziedziczenie . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Polimorfizm 15 3 Zaawansowane programowanie obiektowe 23 4 Przeciążanie operatorów 31 5 Szablony 39 6 STL 49 7 Wyjątki 57 8 Rozwiązania 63 8.1. Rozwiązania zadań z rozdziału 1 . . . . . . . . . . . . . . . . 64 8.2. Rozwiązania zadań z rozdziału 2 . . . . . . . . . . . . . . . . 81 8.3. Rozwiązania zadań z rozdziału 3 . . . . . . . . . . . . . . . . 85 8.4. Rozwiązania zadań z rozdziału 4 . . . . . . . . . . . . . . . . 93 8.5. Rozwiązania zadań z rozdziału 5 . . . . . . . . . . . . . . . . 102 8.6. Rozwiązania zadań z rozdziału 6 . . . . . . . . . . . . . . . . 115 8.7. Rozwiązania zadań z rozdziału 7 . . . . . . . . . . . . . . . . 121 Bibliografia 131 Przedmowa viii Przedmowa Niniejszy skrypt jest drugą częścią zbioru zadań pt. „Zadania z progra- mowania C/C++”. Pierwsza część, zawierająca zadania z programowania strukturalnego, została wydana przez Instytut Informatyki UMCS w 2011r. Po roku autor oddaje w ręce czytelnika drugą część zbioru poświęconą pro- gramowaniu obiektowemu i zaawansowanym technikom języka C++, takim jak szablony i wyjątki. W przeciwieństwie do pierwszej części przeznaczonej w równym stopniu dla uczących się języka C jak i C++, druga część zbioru zadań dotyczy niemal w całości języka C++. Wyjątkiem jest kilka zadań w rozdziale 7 „Wyjątki” ilustrujących sposoby radzenia sobie w języku C z błędami pojawiającymi się w trakcie działania programu. Język C++ jest jednym z najpopularniejszych współczesnych języków programowania. Umożliwia on programowanie zgodne z różnymi paradyg- matami programowania np: programowanie strukturalne, obiektowe czy ge- neryczne.TauniwersalnośćjęzykaC++powoduje,żeniełatwojestuwzględ- nićwksiążcewszystkieaspektyzwiązanezprogramowaniemwnim.Wwielu rozdziałach autor musiał dokonać selekcji poruszanych zagadnień, tak żeby z jednej strony zbiór nie rozrósł się zbytnio, a z drugiej strony żeby móc dać więcej niż po jednym zadaniu dotyczącym najważniejszych kwestii. Na końcu książki czytelnik znajdzie rozwiązania części zadań. Znajdują się tam rozwiązania zadań reprezentatywnych dla poszczególnych zagad- nień, jak również zadań z różnych powodów ciekawych. Układając zadania autor starał się, żeby dotyczyły one realnych proble- mów programistycznych, a ich rozwiązania były na tyle, na ile to możliwie, krótkie.Niebyłotojednakproste,szczególniewprzypadkuzadańmających za zadanie pomóc w opanowaniu bardziej zaawansowanych tematów. Przy pisaniu tego skryptu autor wielokrotnie stawał przed wyborem, czy umie- ścić w zbiorze oczywiste w danym kontekście zadanie o długim rozwiązaniu, czy zadanie może nie tak naturalne, ale za to o krótkim i ciekawym rozwią- zaniu. Autor ma nadzieję, że w większości przypadków dokonał właściwego wyboru. W trakcie pisania skryptu został opublikowany od dawna oczekiwany nowy standard języka C++. Autor stanął więc przed wyborem, czy skrypt pisać pod kątem starego czy nowego standardu. Ze względu na fakt, że znaczna część nowego standardu nie została jeszcze zaimplementowana w najpopularniejszych kompilatorach, niniejszy zbiór skupia się na starym standardzie.Jedyneodstępstwozostałozrobionewprzypadkurozdziałudo- tyczącego STL-a, w którym to rozdziale została umieszczona pewna liczbę zadań pozwalających przećwiczyć użycie nowych elementów biblioteki STL. Zadania te zostały specjalnie oznaczone. Przy niektórych zadaniach znajdują się różne oznaczenia. Poniżej znaj- dują się wyjaśnienia używanych oznaczeń: * trudne zadanie, Przedmowa ix r zadanie rozwiązane w ostatnim rozdziale, ! zadanie, którego rozwiązanie z różnych powodów jest szczególnie intere- sujące, C zadanie, które można rozwiązać także w języku C. C++11 zadanie pozwalające przećwiczyć użycie elementów wprowadzo- nych w nowym standardzie języka C++.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.