Facebook - konwersja
  • promocja

Język C++. Owoce programowania. Wydanie IX - ebook

Wydawnictwo:
Data wydania:
23 kwietnia 2019
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Język C++. Owoce programowania. Wydanie IX - ebook

C++ powstał w 1979 roku. Od tej pory cały czas się rozwija. Mimo że wymaga od programisty pewnej dyscypliny i staranności w pracy, jest chętnie wykorzystywany, daje bowiem ogromne możliwości i cechuje się elastycznością. W języku tym zaimplementowano mechanizmy programowania obiektowego. Opanowanie C++ nie tylko pozwala programistom tworzyć aplikacje dla praktycznie wszystkich platform, komputerów, serwerów i urządzeń mobilnych, ale również ułatwia naukę innych języków programowania. Aby w pełni skorzystać z tych zalet, trzeba od początku przykładać się do nauki pisania kodu z poszanowaniem dobrych praktyk.

To kolejne wydanie lubianego podręcznika programowania w języku C++; książka przeznaczona dla osób, które dopiero rozpoczynają naukę kodowania, i tych, które mają już doświadczenie z innymi językami. Znalazło się tu przystępne wyjaśnienie podstaw działania komputera oraz wprowadzenie do samego języka, a także mnóstwo pożytecznych wskazówek dla początkujących. Bardziej zaawansowani programiści docenią szczegółowe opisy niuansów, zawiłości i źródeł możliwych problemów. Książka jest napisana prostym, zrozumiałym językiem i zawiera wiele świetnie dobranych przykładów ilustrujących nie tylko funkcje i konstrukcje języka C++, ale również przypadki i sposoby ich użycia.

Najważniejsze zagadnienia:

  • przystępne wprowadzenie do C++
  • funkcje i klasy, tablice i wektory
  • wyrażenia lambda, wskaźniki i przeciążanie operatorów
  • dziedziczenie i polimorfizm
  • stosy, kolejki i rekurencja
  • - drzewa binarne: tworzenie i operacje na drzewach

Idź i programuj w C++!

Spis treści

 

Przedmowa 15

 

Rozdział 1. Wprowadzenie do komputerów i programowania 29

  • 1.1. Dlaczego tworzymy oprogramowanie? 29
  • 1.2. Systemy komputerowe: sprzęt i oprogramowanie 31
  • 1.3. Programy i języki programowania 37
  • 1.4. Z czego składa się program? 43
  • 1.5. Przyjmowanie danych, ich przetwarzanie i wynik 47
  • 1.6. Proces programowania 48
  • 1.7. Programowanie proceduralne i obiektowe 52
  • Pytania i ćwiczenia kontrolne 54

Rozdział 2. Wprowadzenie do języka C++ 57

  • 2.1. Elementy programu w języku C++ 57
  • 2.2. Obiekt cout 61
  • 2.3. Dyrektywa #include 66
  • 2.4. Zmienne, literały i wyrażenia przypisania 67
  • 2.5. Identyfikatory 71
  • 2.6. Typy danych liczb całkowitych 73
  • 2.7. Typ char 78
  • 2.8. Klasa string w C++ 82
  • 2.9. Typy danych liczb zmiennoprzecinkowych 84
  • 2.10. Typ danych bool 87
  • 2.11. Określanie rozmiaru typu danych 88
  • 2.12. Więcej o inicjowaniu zmiennych i przypisywaniu wartości 90
  • 2.13. Zasięg zmiennych 92
  • 2.14. Operatory arytmetyczne 93
  • 2.15. Komentarze 100
  • 2.16. Stałe nazwane 102
  • 2.17. Styl programowania 105
  • Pytania i ćwiczenia kontrolne 107
  • Wyzwania programistyczne 111

Rozdział 3. Wyrażenia i interaktywność 115

  • 3.1. Obiekt cin 115
  • 3.2. Wyrażenia matematyczne 121
  • 3.3. Gdy pomylisz jabłka z pomarańczami: konwersja typów 129
  • 3.4. Przepełnienie i zaniżenie 132
  • 3.5. Rzutowanie typów 133
  • 3.6. Wielokrotne przypisania i przypisania łączone 136
  • 3.7. Formatowanie wyjścia 140
  • 3.8. Operacje na znakach i obiekcie string 149
  • 3.9. Więcej matematycznych funkcji bibliotecznych 155
  • 3.10. Rzecz o debugowaniu: ręczne śledzenie programu 161
  • 3.11. Rozwiązywanie problemu: analiza przypadku 162
  • Pytania i ćwiczenia kontrolne 166
  • Wyzwania programistyczne 172

Rozdział 4. Podejmowanie decyzji 181

  • 4.1. Operatory relacji 181
  • 4.2. Instrukcja if 186
  • 4.3. Rozszerzanie instrukcji if 194
  • 4.4. Instrukcja if/else 197
  • 4.5. Zagnieżdżone struktury warunkowe 200
  • 4.6. Instrukcja if/else if 207
  • 4.7. Flagi 212
  • 4.8. Operatory logiczne 213
  • 4.9. Sprawdzanie przedziału liczbowego za pomocą operatorów logicznych 220
  • 4.10. Menu 222
  • 4.11. Rzecz o inżynierii oprogramowania: walidacja wejścia użytkownika 224
  • 4.12. Porównywanie typów char i string 226
  • 4.13. Operator warunkowy 230
  • 4.14. Instrukcja switch 233
  • 4.15. Więcej o blokach i zasięgu zmiennych 241
  • Pytania i ćwiczenia kontrolne 244
  • Wyzwania programistyczne 250

Rozdział 5. Pętle i pliki 261

  • 5.1. Operatory inkrementacji i dekrementacji 261
  • 5.2. Wprowadzenie do pętli: pętla while 266
  • 5.3. Walidacja wejścia za pomocą pętli while 273
  • 5.4. Liczniki 275
  • 5.5. Pętla do-while 276
  • 5.6. Pętla for 281
  • 5.7. Obliczanie sumy bieżącej 291
  • 5.8. Wartownik 293
  • 5.9. Rzecz o inżynierii oprogramowania: której pętli użyć? 295
  • 5.10. Pętle zagnieżdżone 296
  • 5.11. Zastosowanie plików do przechowywania danych 298
  • 5.12. Temat dodatkowy: przerywanie i kontynuowanie pętli 318
  • Pytania i ćwiczenia kontrolne 322
  • Wyzwania programistyczne 327

Rozdział 6. Funkcje 335

  • 6.1. Rzecz o inżynierii oprogramowania: programowanie modułowe 335
  • 6.2. Definicja i wywoływanie funkcji 336
  • 6.3. Prototypy funkcji 344
  • 6.4. Przekazywanie danych do funkcji 346
  • 6.5. Przekazywanie danych przez wartość 350
  • 6.6. Rzecz o inżynierii oprogramowania: zastosowanie funkcji w programie sterowanym przez menu 352
  • 6.7. Instrukcja return 356
  • 6.8. Zwracanie wartości z funkcji 357
  • 6.9. Zwracanie wartości boolowskiej 365
  • 6.10. Zmienne lokalne i globalne 367
  • 6.11. Statyczne zmienne lokalne 374
  • 6.12. Argumenty domyślne 378
  • 6.13. Zastosowanie wskaźników jako parametrów 381
  • 6.14. Przeciążanie funkcji 386
  • 6.15. Funkcja exit() 390
  • 6.16. Funkcje wirtualne i sterowniki 392
  • Pytania i ćwiczenia kontrolne 394
  • Wyzwania programistyczne 398
  • Projekt grupowy 406

Rozdział 7. Tablice i wektory 409

  • 7.1. Tablica jako zbiór wartości 409
  • 7.2. Dostęp do elementów tablicy 411
  • 7.3. Brak kontroli zakresów w języku C++ 422
  • 7.4. Zakresowa pętla for 425
  • 7.5. Przetwarzanie zawartości tablicy 429
  • 7.6. Rozwiązywanie problemu i projektowanie programu: tablice równoległe 437
  • 7.7. Tablice w argumentach funkcji 440
  • 7.8. Tablice dwuwymiarowe 450
  • 7.9. Tablice o trzech i większej liczbie wymiarów 457
  • 7.10. Rozwiązywanie problemu i projektowanie programu: analiza przypadku 459
  • 7.11. Wprowadzenie do typu STL vector 461
  • Pytania i ćwiczenia kontrolne 474
  • Wyzwania programistyczne 480

Rozdział 8. Przeszukiwanie i sortowanie tablic 489

  • 8.1. Rozwiązywanie problemu i projektowanie programu: wprowadzenie do algorytmów wyszukiwania danych 489
  • 8.2. Rozwiązywanie problemu i projektowanie programu: analiza przypadku 496
  • 8.3. Rozwiązywanie problemu i projektowanie programu: wprowadzenie do algorytmów sortowania 502
  • 8.4. Rozwiązywanie problemu i projektowanie programu: analiza przypadku 512
  • 8.5. Sortowanie i przeszukiwanie wektorów (kontynuacja podrozdziału 7.11) 520
  • Pytania i ćwiczenia kontrolne 523
  • Wyzwania programistyczne 524

Rozdział 9. Wskaźniki 529

  • 9.1. Uzyskiwanie adresu zmiennej 529
  • 9.2. Zmienne wskaźnikowe 531
  • 9.3. Relacja pomiędzy tablicą a wskaźnikiem 538
  • 9.4. Działania na wskaźnikach 542
  • 9.5. Inicjowanie wskaźników 543
  • 9.6. Porównywanie wskaźników 545
  • 9.7. Wskaźniki jako argumenty funkcji 546
  • 9.8. Dynamiczne przydzielanie pamięci 554
  • 9.9. Wskaźniki jako wyniki funkcji 558
  • 9.10. Inteligentne wskaźniki i zapobieganie wyciekom pamięci 565
  • 9.11. Rozwiązywanie problemu i projektowanie programu: analiza przypadku 569
  • Pytania i ćwiczenia kontrolne 574
  • Wyzwania programistyczne 578

Rozdział 10. O znakach, C-ciągach i więcej o klasie string 581

  • 10.1. Sprawdzanie znaków 581
  • 10.2. Zmiana wielkości liter 585
  • 10.3. C-ciągi 588
  • 10.4. Standardowe funkcje przetwarzające C-ciągi 592
  • 10.5. Funkcje konwertujące ciągi i liczby 602
  • 10.6. Rozwiązywanie problemu i projektowanie programu: tworzenie własnych funkcji przetwarzających C-ciągi 609
  • 10.7. Więcej o klasie string 614
  • 10.8. Rozwiązywanie problemu i projektowanie programu: analiza przypadku 627
  • Pytania i ćwiczenia kontrolne 628
  • Wyzwania programistyczne 631

Rozdział 11. Dane strukturalne 637

  • 11.1. Typy abstrakcyjne 637
  • 11.2. Struktury 639
  • 11.3. Dostęp do składników struktury 642
  • 11.4. Inicjowanie struktury 645
  • 11.5. Tablice struktur 648
  • 11.6. Inżynieria oprogramowania: struktury zagnieżdżone 651
  • 11.7. Struktury jako argumenty funkcji 654
  • 11.8. Struktury jako wyniki funkcji 657
  • 11.9. Wskaźniki do struktur 659
  • 11.10. Inżynieria oprogramowania: kiedy stosować kropkę, strzałkę i gwiazdkę? 662
  • 11.11. Typy wyliczeniowe 664
  • Pytania i ćwiczenia kontrolne 675
  • Wyzwania programistyczne 680

Rozdział 12. Zaawansowane operacje na plikach 687

  • 12.1. Operacje na plikach 687
  • 12.2. Formatowanie danych wyjściowych 693
  • 12.3. Umieszczanie obiektów plikowych w argumentach funkcji 695
  • 12.4. Dokładniejsze sprawdzanie błędów 697
  • 12.5. Funkcje do odczytywania i zapisywania danych 700
  • 12.6. Inżynieria oprogramowania: praca z wieloma plikami 707
  • 12.7. Pliki binarne 709
  • 12.8. Tworzenie rekordów danych za pomocą struktur 714
  • 12.9. Swobodny dostęp do plików 718
  • 12.10. Otwieranie pliku w trybach wejściowym i wyjściowym jednocześnie 725
  • Pytania i ćwiczenia kontrolne 730
  • Wyzwania programistyczne 734

Rozdział 13. Wprowadzenie do klas 739

  • 13.1. Programowanie proceduralne i obiektowe 739
  • 13.2. Wprowadzenie do klas 746
  • 13.3. Definiowanie instancji klasy 751
  • 13.4. Po co są prywatne elementy? 763
  • 13.5. Inżynieria oprogramowania: rozdzielenie specyfikacji i implementacji klasy 764
  • 13.6. Metody śródwierszowe 770
  • 13.7. Konstruktory 772
  • 13.8. Umieszczanie wartości w argumentach konstruktorów 778
  • 13.9. Destruktory 784
  • 13.10. Przeciążanie konstruktora 788
  • 13.11. Metody prywatne 793
  • 13.12. Tablice obiektów 794
  • 13.13. Rozwiązywanie problemu i projektowanie programu: przykład programowania obiektowego 798
  • 13.14. Programowanie obiektowe: symulowanie rzutów kostką za pomocą obiektów 805
  • 13.15. Projektowanie kodu obiektowego: język UML 808
  • 13.16. Projektowanie kodu obiektowego: dobór klas i określanie ich przeznaczenia 811
  • Pytania i ćwiczenia kontrolne 820
  • Wyzwania programistyczne 825

Rozdział 14. Więcej o klasach 837

  • 14.1. Instancje klasy i statyczne elementy członkowskie 837
  • 14.2. Klasy zaprzyjaźnione 844
  • 14.3. Przypisanie obiektowe 849
  • 14.4. Konstruktor kopiujący 850
  • 14.5. Przeciążanie operatorów 856
  • 14.6. Konwersja typów 882
  • 14.7. Agregacja obiektów 884
  • 14.8. Projektowanie kodu obiektowego: współpraca klas 889
  • 14.9. Programowanie obiektowe: symulacja gry Cho-Han 893
  • 14.10. Referencje do r-wartości i przenoszenie danych 903
  • Pytania i ćwiczenia kontrolne 912
  • Wyzwania programistyczne 917

Rozdział 15. Dziedziczenie klas, polimorfizm i funkcje wirtualne 925

  • 15.1. Co to jest dziedziczenie klas? 925
  • 15.2. Chronione elementy członkowskie i dostęp do klasy 933
  • 15.3. Konstruktory i destruktory w klasach bazowych i pochodnych 940
  • 15.4. Redefiniowanie funkcji klasy bazowej 952
  • 15.5. Hierarchia klas 956
  • 15.6. Polimorfizm i metody wirtualne 962
  • 15.7. Abstrakcyjne klasy bazowe i funkcje czysto wirtualne 977
  • 15.8. Wielodziedziczenie klas 984
  • Pytania i ćwiczenia kontrolne 990
  • Wyzwania programistyczne 995

Rozdział 16. Wyjątki i szablony 1003

  • 16.1. Wyjątki 1003
  • 16.2. Szablony funkcji 1021
  • 16.3. Inżynieria oprogramowania: od czego zacząć definiowanie szablonów funkcji? 1027
  • 16.4. Szablony klas 1027
  • Pytania i ćwiczenia kontrolne 1036
  • Wyzwania programistyczne 1039

Rozdział 17. Biblioteka STL 1041

  • 17.1. Wprowadzenie do biblioteki STL 1041
  • 17.2. Podstawowe informacje o kontenerach i iteratorach STL 1042
  • 17.3. Klasa vector 1053
  • 17.4. Klasy map, multimap i unordered_map 1066
  • 17.5. Klasy set, multiset i unordered_set 1091
  • 17.6. Algorytmy 1099
  • 17.7. Wprowadzenie do obiektów funkcyjnych i wyrażeń lambda 1120
  • Pytania i ćwiczenia kontrolne 1126
  • Wyzwania programistyczne 1131

Rozdział 18.Listy łączone 1137

  • 18.1. Wprowadzenie do list łączonych 1137
  • 18.2. Operacje na listach łączonych 1139
  • 18.3. Szablon listy łączonej 1155
  • 18.4. Odmiany listy łączonej 1166
  • 18.5. Standardowe kontenery list i forward_list 1166
  • Pytania i ćwiczenia kontrolne 1172
  • Wyzwania programistyczne 1174

Rozdział 19. Stosy i kolejki 1177

  • 19.1. Wprowadzenie do stosów 1177
  • 19.2. Stosy dynamiczne 1193
  • 19.3. Kontener stack 1203
  • 19.4. Wprowadzenie do kolejek 1205
  • 19.5. Kolejki dynamiczne 1216
  • 19.6. Kontenery deque i queue 1223
  • Pytania i ćwiczenia kontrolne 1226
  • Wyzwania programistyczne 1228

Rozdział 20. Rekurencja 1231

  • 20.1. Wprowadzenie do rekurencji 1231
  • 20.2. Rozwiązywanie problemów za pomocą rekurencji 1235
  • 20.3. Rozwiązywanie problemu i projektowanie programu: rekurencyjna funkcja gcd() 1242
  • 20.4. Rozwiązywanie problemu i projektowanie programu: zadania rekurencyjne 1243
  • 20.5. Rozwiązywanie problemu i projektowanie programu: rekurencyjne operacje na listach łączonych 1245
  • 20.6. Rozwiązywanie problemu i projektowanie programu: rekurencyjna funkcja wyszukiwania binarnego 1248
  • 20.7. Rozwiązywanie problemu i projektowanie programu: Wieże Hanoi 1250
  • 20.8. Rozwiązywanie problemu i projektowanie programu: algorytm sortowania szybkiego 1254
  • 20.9. Rozwiązywanie problemu i projektowanie programu: algorytm wyszukiwania wyczerpującego 1258
  • 20.10. Rozwiązywanie problemu i projektowanie programu: rekurencja a iteracja 1260
  • Pytania i ćwiczenia kontrolne 1261
  • Wyzwania programistyczne 1263

Rozdział 21. Drzewa binarne 1265

  • 21.1. Definicja i zastosowanie drzew binarnych 1265
  • 21.2. Operacje przeszukiwania drzewa binarnego 1269
  • 21.3. Szablon klasy do obsługi drzewa binarnego 1285
  • Pytania i ćwiczenia kontrolne 1290
  • Wyzwania programistyczne 1291

Dodatek A. Zestaw znaków ASCII 1295

Dodatek B. Hierarchia operatorów 1299

Dodatek C. Odpowiedzi do punktów kontrolnych 1307

Dodatek D. Odpowiedzi do pytań i ćwiczeń kontrolnych 1343

Skorowidz 1397

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-4681-9
Rozmiar pliku: 10 MB

BESTSELLERY

Kategorie: