Facebook - konwersja
Pobierz fragment

Nowoczesny C++. Zbiór praktycznych zadań dla przyszłych ekspertów - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
16 kwietnia 2019
Format ebooka:
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.
, 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.
, 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.
Pobierz fragment
69,00

Nowoczesny C++. Zbiór praktycznych zadań dla przyszłych ekspertów - ebook

C++ jest dojrzałym językiem programowania, od wielu lat wykorzystywanym przez profesjonalnych programistów do wielu różnych zastosowań, włączając w to pisanie gier, programowanie GUI czy tworzenie złożonych aplikacji użytkowych. Zaprojektowano go pod kątem maksymalizowania wydajności, jest więc najczęściej wybieranym językiem w sytuacjach, w których najważniejsza jest efektywność działania kodu. Aby jednak wykorzystać te zalety C++, trzeba nauczyć się nim posługiwać. A biegłość w posługiwaniu się językiem programowania przychodzi dzięki regularnym ćwiczeniom i ciągłemu testowaniu nabytych umiejętności. Innymi słowy, trzeba rozwiązywać jak najwięcej różnorodnych, rzeczywistych i praktycznych zadań problemowych.

W tej książce zawarto zestaw 100 zadań o różnym poziomie trudności, ułożonych w taki sposób, aby podczas rozwiązywania móc skorzystać z bogactwa standardowej biblioteki C++ oraz z wielu zewnętrznych bibliotek wieloplatformowych. Zadania rozmieszczono w 12 rozdziałach, z których każdy dotyczy określonego tematu. Są to problemy, których odpowiednie rozwiązanie warunkuje poprawne działanie aplikacji, takie jak bezpieczna komunikacja, szyfrowanie i autoryzacja danych, korzystanie z wątków i funkcji asynchronicznych czy implementacja algorytmów współbieżnych. Proponowane zagadnienia zostały dokładnie opisane, uwzględniono również szereg zaleceń, wyjaśnień i wskazówek. Na wypadek gdyby wykonanie któregoś zadania sprawiało trudności, do książki dołączono kod źródłowy przykładowych rozwiązań.

Ważniejsze zagadnienia ujęte w książce:

  • serializacja i deserializacja danych JSON i XML
  • praca z bazą danych SQLite
  • implementacja takich struktur jak bufor cykliczny i kolejka priorytetowa
  • usługi REST i HTTP
  • wzorce projektowe w rozwiązywaniu problemów

Oto C++. Podejmiesz wyzwanie i napiszesz kod!

Spis treści

 

O autorze 9

 

O recenzentach 10

Przedmowa 11

Rozdział 1. Zadania matematyczne 19

  • Zadania 19
    • 1. Suma liczb naturalnych podzielnych przez 3 lub 5 19
    • 2. Największy wspólny dzielnik 19
    • 3. Najmniejsza wspólna wielokrotność 19
    • 4. Największa liczba pierwsza mniejsza od podanej 19
    • 5. Liczby pierwsze szóstkowe 19
    • 6. Liczby obfite 20
    • 7. Liczby zaprzyjaźnione 20
    • 8. Liczby Armstronga 20
    • 9. Czynniki pierwsze liczby 20
    • 10. Kod Graya 20
    • 11. Przekształcanie liczb arabskich na rzymskie 20
    • 12. Najdłuższy ciąg Collatza 20
    • 13. Wyznaczanie liczby Pi 20
    • 14. Sprawdzanie numerów ISBN 20
  • Rozwiązania 21
    • 1. Suma liczb naturalnych podzielnych przez 3 lub 5 21
    • 2. Największy wspólny dzielnik 21
    • 3. Najmniejsza wspólna wielokrotność 22
    • 4. Największa liczba pierwsza mniejsza od podanej 23
    • 5. Liczby pierwsze szóstkowe 24
    • 6. Liczby obfite 24
    • 7. Liczby zaprzyjaźnione 25
    • 8. Liczby Armstronga 26
    • 9. Czynniki pierwsze liczby 27
    • 10. Kod Graya 28
    • 11. Przekształcanie liczb arabskich na rzymskie 29
    • 12. Najdłuższy ciąg Collatza 31
    • 13. Wyznaczanie liczby Pi 32
    • 14. Sprawdzanie numerów ISBN 33

Rozdział 2. Funkcje języka 35

  • Zadania 35
    • 15. Typ danych IPv4 35
    • 16. Wyliczanie zakresu adresów IPv4 35
    • 17. Utworzenie dwuwymiarowej tablicy z podstawowymi operacjami 35
    • 18. Funkcja wyznaczająca minimum dla dowolnej liczby argumentów 36
    • 19. Dodawanie zakresu wartości do kontenera 36
    • 20. Dowolny, wszystkie lub żaden argument w kontenerze 36
    • 21. Klasa opakowująca dla uchwytu systemowego 36
    • 22. Wyświetlanie różnych skal temperatur 36
  • Rozwiązania 37
    • 15. Typ danych IPv4 37
    • 16. Wyliczanie zakresu adresów IPv4 38
    • 17. Utworzenie dwuwymiarowej tablicy z podstawowymi operacjami 40
    • 18. Funkcja wyznaczająca minimum dla dowolnej liczby argumentów 42
    • 19. Dodawanie zakresu wartości do kontenera 43
    • 20. Dowolny, wszystkie lub żaden argument w kontenerze 44
    • 21. Klasa opakowująca dla uchwytu systemowego 45
    • 22. Wyświetlanie różnych skal temperatur 49

Rozdział 3. Łańcuchy i wyrażenia regularne 53

  • Zadania 53
    • 23. Zamiana typu binarnego na łańcuch 53
    • 24. Zamiana typu łańcuchowego na binarny 53
    • 25. Wielkie litery w tytule artykułu 54
    • 26. Łączenie łańcuchów oddzielanych separatorem 54
    • 27. Dzielenie łańcucha na tokeny z listą możliwych separatorów 54
    • 28. Najdłuższy podciąg palindromiczny 54
    • 29. Sprawdzanie tablic rejestracyjnych 54
    • 30. Wyodrębnianie elementów adresu URL 55
    • 31. Przekształcanie dat w łańcuchach 55
  • Rozwiązania 56
    • 23. Zamiana typu binarnego na łańcuch 56
    • 24. Zamiana typu łańcuchowego na binarny 57
    • 25. Wielkie litery w tytule artykułu 58
    • 26. Łączenie łańcuchów oddzielanych separatorem 59
    • 27. Dzielenie łańcucha na tokeny z listą możliwych separatorów 60
    • 28. Najdłuższy podciąg palindromiczny 61
    • 29. Sprawdzanie tablic rejestracyjnych 63
    • 30. Wyodrębnianie elementów adresu URL 64
    • 31. Przekształcanie dat w łańcuchach 65

Rozdział 4. Strumienie i systemy plików 67

  • Zadania 67
    • 32. Trójkąt Pascala 67
    • 33. Lista procesów w postaci tabeli 67
    • 34. Usuwanie pustych wierszy z pliku tekstowego 68
    • 35. Obliczanie rozmiaru katalogu 68
    • 36. Usuwanie plików starszych od określonej daty 68
    • 37. Wyszukiwanie w katalogu plików, które pasują do wyrażenia regularnego 68
    • 38. Tymczasowe pliki logów 68
  • Rozwiązania 69
    • 32. Trójkąt Pascala 69
    • 33. Lista procesów w postaci tabeli 70
    • 34. Usuwanie pustych wierszy z pliku tekstowego 72
    • 35. Obliczanie rozmiaru katalogu 73
    • 36. Usuwanie plików starszych od określonej daty 73
    • 37. Wyszukiwanie w katalogu plików, które pasują do wyrażenia regularnego 75
    • 38. Tymczasowe pliki logów 76

Rozdział 5. Data i czas 79

  • Zadania 79
    • 39. Pomiar czasu wykonania funkcji 79
    • 40. Liczba dni zawartych między dwiema datami 79
    • 41. Dzień tygodnia 79
    • 42. Numer dnia i tygodnia w roku 79
    • 43. Czasy spotkań dla wielu stref czasowych 80
    • 44. Kalendarz miesięczny 80
  • Rozwiązania 81
    • 39. Pomiar czasu wykonania funkcji 81
    • 40. Liczba dni zawartych między dwiema datami 82
    • 41. Dzień tygodnia 83
    • 42. Numer dnia i tygodnia w roku 83
    • 43. Czasy spotkań dla wielu stref czasowych 84
    • 44. Kalendarz miesięczny 86

Rozdział 6. Algorytmy i struktury danych 89

  • Zadania 89
    • 45. Kolejka priorytetowa 89
    • 46. Bufor cykliczny 90
    • 47. Podwójne buforowanie 90
    • 48. Najczęściej występujący element w zbiorze danych 90
    • 49. Histogram tekstu 90
    • 50. Filtrowanie listy numerów telefonów 91
    • 51. Przekształcanie listy numerów telefonów 91
    • 52. Generowanie wszystkich permutacji ciągu znaków 91
    • 53. Średnia ocena filmów 91
    • 54. Algorytm tworzenia par 91
    • 55. Algorytm scalania 92
    • 56. Algorytm wyboru 92
    • 57. Algorytm sortowania 92
    • 58. Najkrótsza ścieżka między węzłami 92
    • 59. Program Weasel 93
    • 60. Gra w życie 93
  • Rozwiązania 95
    • 45. Kolejka priorytetowa 95
    • 46. Bufor cykliczny 97
    • 47. Podwójne buforowanie 100
    • 48. Najczęściej występujący element w zbiorze danych 102
    • 49. Histogram tekstu 103
    • 50. Filtrowanie listy numerów telefonów 105
    • 51. Przekształcanie listy numerów telefonów 106
    • 52. Generowanie wszystkich permutacji ciągu znaków 107
    • 53. Średnia ocena filmów 109
    • 54. Algorytm tworzenia par 110
    • 55. Algorytm scalania 111
    • 56. Algorytm wyboru 112
    • 57. Algorytm sortowania 113
    • 58. Najkrótsza ścieżka między węzłami 116
    • 59. Program Weasel 120
    • 60. Gra w życie 122

Rozdział 7. Współbieżność 127

  • Zadania 127
    • 61. Algorytm przekształcania współbieżnego 127
    • 62. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu wątków 127
    • 63. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu funkcji asynchronicznych 128
    • 64. Algorytm sortowania współbieżnego 128
    • 65. Wyświetlanie komunikatów w konsoli w sposób bezpieczny dla wątków 128
    • 66. System obsługi klienta 128
  • Rozwiązania 129
    • 61. Algorytm przekształcania współbieżnego 129
    • 62. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu wątków 130
    • 63. Algorytmy wyszukiwania współbieżnego minimalnych i maksymalnych elementów w zbiorze przy użyciu funkcji asynchronicznych 132
    • 64. Algorytm sortowania współbieżnego 134
    • 65. Wyświetlanie komunikatów w konsoli w sposób bezpieczny dla wątków 136
    • 66. System obsługi klienta 137

Rozdział 8. Wzorce projektowe 141

  • Zadania 141
    • 67. Sprawdzanie poprawności haseł 141
    • 68. Generowanie losowych haseł 141
    • 69. Generowanie numerów ubezpieczenia socjalnego 141
    • 70. System zatwierdzania 142
    • 71. Obserwowany kontener typu wektorowego 142
    • 72. Obliczanie ceny zamówienia z rabatami 143
  • Rozwiązania 144
    • 67. Sprawdzanie poprawności haseł 144
    • 68. Generowanie losowych haseł 147
    • 69. Generowanie numerów ubezpieczenia socjalnego 151
    • 70. System zatwierdzania 155
    • 71. Obserwowany kontener typu wektorowego 158
    • 72. Obliczanie ceny zamówienia z rabatami 163

Rozdział 9. Serializacja danych 169

  • Zadania 169
    • 73. Serializacja danych do pliku XML i deserializacja ich z niego 169
    • 74. Pobieranie danych z pliku XML przy użyciu języka XPath 170
    • 75. Serializacja danych do formatu JSON 170
    • 76. Deserializacja danych z formatu JSON 170
    • 77. Tworzenie pliku PDF z listą filmów 171
    • 78. Tworzenie pliku PDF na podstawie zbioru obrazów 171
  • Rozwiązania 172
    • 73. Serializacja danych do pliku XML i deserializacja ich z niego 172
    • 74. Pobieranie danych z pliku XML przy użyciu języka XPath 175
    • 75. Serializacja danych do formatu JSON 177
    • 76. Deserializacja danych z formatu JSON 178
    • 77. Tworzenie pliku PDF z listą filmów 180
    • 78. Tworzenie pliku PDF na podstawie zbioru obrazów 183

Rozdział 10. Archiwa, obrazy i bazy danych 187

  • Zadania 187
    • 79. Wyszukiwanie plików w archiwum ZIP 187
    • 80. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum 187
    • 81. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum z zastosowaniem hasła 188
    • 82. Tworzenie pliku PNG z flagą narodową 188
    • 83. Tworzenie obrazu PNG zawierającego tekst weryfikacyjny 188
    • 84. Generator kodów kreskowych EAN-13 189
    • 85. Odczytywanie informacji o filmach z bazy SQLite 189
    • 86. Wstawianie w sposób transakcyjny informacji o filmach do bazy danych SQLite 189
    • 87. Obsługa multimediów w bazie danych SQLite 190
  • Rozwiązania 191
    • 79. Wyszukiwanie plików w archiwum ZIP 191
    • 80. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum 192
    • 81. Pakowanie plików do archiwum ZIP i wypakowywanie ich z tego archiwum z zastosowaniem hasła 196
    • 82. Tworzenie pliku PNG z flagą narodową 198
    • 83. Tworzenie obrazu PNG zawierającego tekst weryfikacyjny 199
    • 84. Generator kodów kreskowych EAN-13 202
    • 85. Odczytywanie informacji o filmach z bazy SQLite 207
    • 86. Wstawianie w sposób transakcyjny informacji o filmach do bazy danych SQLite 212
    • 87. Obsługa multimediów w bazie danych SQLite 216

Rozdział 11. Kryptografia 225

  • Zadania 225
    • 88. Szyfr Cezara 225
    • 89. Szyfr Vigenere'a 225
    • 90. Kodowanie i dekodowanie base64 225
    • 91. Sprawdzanie poprawności uwierzytelniania użytkowników 226
    • 92. Wyznaczanie skrótów dla plików 226
    • 93. Szyfrowanie i deszyfrowanie plików 226
    • 94. Podpisywanie plików 226
  • Rozwiązania 227
    • 88. Szyfr Cezara 227
    • 89. Szyfr Vigenere'a 228
    • 90. Kodowanie i dekodowanie base64 231
    • 91. Sprawdzanie poprawności uwierzytelniania użytkowników 236
    • 92. Wyznaczanie skrótów dla plików 239
    • 93. Szyfrowanie i deszyfrowanie plików 240
    • 94. Podpisywanie plików 242

Rozdział 12. Praca w sieci i usługi 247

  • Zadania 247
    • 95. Znajdowanie adresu IP dla hosta 247
    • 96. Gra Fizz-Buzz klient-serwer 247
    • 97. Kursy wymiany bitcoinów 248
    • 98. Pobieranie wiadomości e-mailowych przy użyciu protokołu IMAP 248
    • 99. Tłumaczenie tekstu na dowolny język 248
    • 100. Wykrywanie twarzy na obrazie 248
  • Rozwiązania 249
    • 95. Znajdowanie adresu IP dla hosta 249
    • 96. Gra Fizz-Buzz klient-serwer 250
    • 97. Kursy wymiany bitcoinów 255
    • 98. Pobieranie wiadomości e-mailowych przy użyciu protokołu IMAP 258
    • 99. Tłumaczenie tekstu na dowolny język 263
    • 100. Wykrywanie twarzy na obrazie 267

Bibliografia 277

Skorowidz 281

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-5212-4
Rozmiar pliku: 2,9 MB

BESTSELLERY

Kategorie: