reklama - zainteresowany?

Programowanie w j - Helion

Programowanie w j
ebook
Autor: Bogus
T艂umaczenie: Krzysztof Kapustka, Wojciech Fenrich
ISBN: 9788301229061
stron: 732, Format: ebook
Data wydania: 2023-03-15
Ksi臋garnia: Helion

Cena ksi膮偶ki: 111,20 z艂 (poprzednio: 139,00 z艂)
Oszcz臋dzasz: 20% (-27,80 z艂)

Dodaj do koszyka Programowanie w j

Wyj

Dodaj do koszyka Programowanie w j

 

Osoby kt贸re kupowa艂y "Programowanie w j", wybiera艂y tak偶e:

  • Windows Media Center. Domowe centrum rozrywki
  • Ruby on Rails. 膯wiczenia
  • DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker
  • Przyw贸dztwo w 艣wiecie VUCA. Jak by膰 skutecznym liderem w niepewnym 艣rodowisku
  • Scrum. O zwinnym zarz膮dzaniu projektami. Wydanie II rozszerzone

Dodaj do koszyka Programowanie w j

Spis tre艣ci

Programowanie w j臋zyku C++ eBook -- spis tre艣ci

  • Ok艂adka
  • Strona tytu艂owa
  • Strona redakcyjna
  • Spis tre艣ci
  • Przedmowa
  • Podzi臋kowania
  • Podzi臋kowania do wydania polskiego
  • Wykaz skr贸t贸w
  • 1. Wprowadzenie
    • 1.1. Struktura ksi膮偶ki
    • 1.2. Konwencje formatowania
    • 1.3. O kodzie i projektach
  • 2. Wprowadzenie do programowania
    • 2.1. Model sprz臋towy
    • 2.2. Ekosystem tworzenia oprogramowania
    • 2.3. Etapy tworzenia oprogramowania
    • 2.4. Reprezentacja i uruchamianie algorytm贸w
      • 2.4.1. Reprezentowanie algorytm贸w
      • 2.4.2. Korzystanie z kompilator贸w dost臋pnych w Internecie
      • 2.4.3. Struktura programu w C++
      • 2.4.4. Analiza kodu
      • 2.4.5. Budowa linuksowej postaci wykonywalnej
    • 2.5. Przyk艂adowy projekt kalkulator procentu sk艂adanego
      • 2.5.1. Analiza procentu sk艂adanego
      • 2.5.2. Implementacja kalkulatora procentu sk艂adanego
      • 2.5.3. Budowanie i uruchamianie oprogramowania
    • 2.6. Przyk艂adowy projekt zliczanie wyst膮pie艅 znak贸w w tek艣cie
      • 2.6.1. Analiza problemu i implementacja
      • 2.6.2. Uruchomienie kodu C++ za pomoc膮 kompilatora dost臋pnego w Internecie
      • 2.6.3. Kod histogramu wyja艣nienie
    • 2.7. Podsumowanie
      • Pytania i 膰wiczenia
  • 3. Podstawy C++
    • 3.1. Sta艂e i zmienne wbudowane typy danych, ich zakres oraz inicjalizacja
    • 3.2. Przyk艂adowy projekt zbieranie ocen student贸w
    • 3.3. Nasz przyjaciel debugger
    • 3.4. Podstawowa struktura danych std::vector
    • 3.5. Przyk艂adowy projekt implementowanie macierzy w postaci wektora聽wektor贸w
    • 3.6. Specjalny wektor do przechowywania tekstu std::string
    • 3.7. S艂owo kluczowe auto oraz decltype do聽automatycznej dedukcji typu
    • 3.8. Popularne algorytmy standardowe
    • 3.9. Struktury: zbieranie obiekt贸w r贸偶nego typu
    • 3.10. Tablice o sta艂ym rozmiarze
      • 3.10.1. Wielowymiarowe tablice o sta艂ym rozmiarze
    • 3.11. Referencje
    • 3.12. Wska藕niki
      • 3.12.1. Dost臋p do obiekt贸w za pomoc膮 wska藕nik贸w
    • 3.13. Instrukcje
      • 3.13.1. Bloki instrukcji oraz dost臋p do zmiennych rola nawias贸w klamrowych
      • 3.13.2. Instrukcje C++
        • 3.13.2.1. Instrukcje warunkowe
        • 3.13.2.2. Instrukcje p臋tli
        • 3.13.2.3. Instrukcje pomocnicze continue oraz break
        • 3.13.2.4. Instrukcja goto
        • 3.13.2.5. Strukturalna obs艂uga wyj膮tk贸w instrukcja try-catch
    • 3.14. Funkcje
      • 3.14.1. Anatomia funkcji w C++
      • 3.14.2. Przekazywanie argument贸w do i z funkcji
        • 3.14.2.1. Przekazywanie argument贸w przez kopi臋 (semantyka warto艣ci)
        • 3.14.2.2. Po艣rednie przekazywanie argument贸w przez referencj臋
        • 3.14.2.3. Przekazywanie przez wska藕nik
      • 3.14.3. Mechanizm wywo艂ywania funkcji i funkcje wbudowane
      • 3.14.4. Funkcje rekurencyjne i stos wywo艂a艅
      • 3.14.5. Przeci膮偶anie funkcji rozwi膮zywanie widoczno艣ci za pomoc膮 przestrzeni nazw
      • 3.14.6. Funkcje lambda
      • 3.14.7. Wi臋cej na temat funkcji lambda
      • 3.14.8. Wska藕niki do funkcji
      • 3.14.9. Funkcje w 艣rodowisku obiektowym
    • 3.15. Przyk艂adowy projekt opakowywanie obiekt贸w struktur膮 z konstruktorem
      • 3.15.1. EMatrix w 艣rodowisku obiektowym
      • 3.15.2. Podstawowe operacje z u偶yciem EMatrix
      • 3.15.3. Operacje wej艣cia i wyj艣cia na EMatrix
      • 3.15.4. Proste operacje matematyczne na macierzy EMatrix
      • 3.15.5. Organizowanie plik贸w projektu i uruchamianie aplikacji
      • 3.15.6. Rozszerzanie inicjalizacji macierzy za pomoc膮 prostego generatora liczb losowych
    • 3.16. Przyk艂adowy projekt reprezentowanie r贸wna艅 kwadratowych
      • 3.16.1. Definicja klasy do reprezentowania wielomian贸w kwadratowych
      • 3.16.2. Implementacja sk艂adowych TQuadEq
      • 3.16.3. TQuadEq w akcji
    • 3.17. Przyk艂adowy projekt krotki i powi膮zania strukturalne do konwertowania liczb rzymskich
      • 3.17.1. Wi臋cej o std::tuple i powi膮zaniu strukturalnym
      • 3.17.2. Jak napisa膰 test jednostkowy oprogramowania
      • 3.17.3. Automatyzowanie test贸w jednostkowych z u偶yciem standardowej biblioteki liczb losowych
    • 3.18. Projekt przyk艂adowy tworzenie komponentu kalkulatora walutowego
      • 3.18.1. Analiza problemu wymiany walut
      • 3.18.2. Projekt oprogramowania CurrencyCalc聽聽聽219
      • 3.18.3. Klasa TCurrency reprezentuj膮ca rekordy walut
        • 3.18.3.1. Manipulatory wej艣cia/wyj艣cia C++
      • 3.18.4. Klasa TCurrencyExchanger do wymiany walut
      • 3.18.5. 艁膮czenie wszystkiego w ca艂o艣膰 kompletny program wymiany walut
    • 3.19. Operatory
      • 3.19.1. Podsumowanie operator贸w C++
      • 3.19.2. Dalsze uwagi na temat operator贸w
    • 3.20. Podsumowanie
      • Pytania i 膰wiczenia
  • 4. Zg艂臋bianie programowania obiektowego
    • 4.1. Podstawowe regu艂y oraz filozofia projektowania i programowania obiektowego
    • 4.2. Anatomia klasy
      • 4.2.1. Konwencja nazewnictwa i samodokumentuj膮cy si臋 kod
    • 4.3. Regu艂y uzyskiwania dost臋pu do sk艂adowych klasy聽聽
    • 4.4. Przyk艂adowy projekt klasa TComplex do przeci膮偶ania operator贸w
      • 4.4.1. Definicja klasy TComplex
      • 4.4.2. Definicja sk艂adowych klasy TComplex
      • 4.4.3. Funkcje testuj膮ce dla klasy TComplex
    • 4.5. Wi臋cej o referencjach
      • 4.5.1. Referencje prawostronne i przekazywania
      • 4.5.2. Referencje kontra wska藕niki
      • 4.5.3. Pu艂apki z referencjami
    • 4.6. Przyk艂adowy projekt opanowywanie sk艂adowych klasy z u偶yciem klasy TheCube
      • 4.6.1. Automatyczna kontra jawna definicja konstruktor贸w
      • 4.6.2. Uk艂ad i semantyka obiektu TheCube
      • 4.6.3. Semantyka kopiowania p艂ytkiego i g艂臋bokiego
      • 4.6.4. Semantyka konstruktora przenosz膮cego i przypisania przenosz膮cego
      • 4.6.5. Implementacja operator贸w strumieniowania dla TheCube
      • 4.6.6. Sprawdzanie TheCube
    • 4.7. Projekt przyk艂adowy przenoszenie EMatrix do klasy
      • 4.7.1. Definicja klasy EMatrix
      • 4.7.2. Implementacja operator贸w strumieniowania klasy
      • 4.7.3. Implementacja operator贸w arytmetycznych
      • 4.7.4. Testowanie operacji na macierzach
    • 4.8. Wprowadzenie do szablon贸w i programowania uog贸lnionego
      • 4.8.1. Uog贸lnianie klasy przy u偶yciu szablon贸w
      • 4.8.2. span class="c-10"> Specjalizacje szablon贸w
      • 4.8.3. Funkcje szablonowe i sprawdzanie typu
    • 4.8.4. Przyk艂adowy projekt projektowanie klas szablonowych przy u偶yciu TStack
      • 4.8.4.1. Projekt i implementacja klasy TStackFor
      • 4.8.4.2. Testowanie TStack
    • 4.8.5. Szablonowe funkcje sk艂adowe
    • 4.9. Relacje mi臋dzy klasami zna, ma oraz jest
    • 4.10. Przyk艂adowy projekt rozszerzanie funkcjonalno艣ci poprzez dziedziczenie klas z u偶yciem TComplexQuadEq
    • 4.11. Funkcje wirtualne i polimorfizm
    • 4.12. Wi臋cej na temat mechanizmu wirtualnego
    • 4.13. Ciekawie rekurencyjny wzorzec szablonu i statyczny polimorfizm
    • 4.14. Klasy domieszki
    • 4.15. Przyk艂adowy projekt klasa TLongNumberFor do wydajnego przechowywania liczb o dowolnej聽d艂ugo艣ci
      • 4.15.1. Reprezentacja Binary-Coded Decimal
      • 4.15.2. Kolejno艣膰 bajt贸w
      • 4.15.3. Definicja klasy TLongNumberFor
        • 4.15.3.1. Operacje konwersji typu
        • 4.15.3.2. Funkcja testuj膮ca TLongNumberFor
      • 4.15.4. Projektowanie klas dla numeru PESEL
        • 4.15.4.1. Agregowanie klasy PESEL
        • 4.15.4.2. Odziedziczona klasa PESEL
        • 4.15.4.3. Organizacja projektu LongNumber
      • 4.15.5. Rozszerzanie funkcjonalno艣ci klasy TLongNumberFor z u偶yciem wzorca pe艂nomocnika
        • 4.15.5.1. Definicja klasy Proxy
        • 4.15.5.2. Testowanie funkcjonalno艣ci klasy TLongNumberFor z u偶yciem wzorca pe艂nomocnika
    • 4.16. Silne typy
    • 4.17. Podsumowanie
      • Pytania i 膰wiczenia
  • 5. Zarz膮dzanie pami臋ci膮
    • 5.1. Rodzaje magazyn贸w danych
    • 5.2. Dynamiczny przydzia艂 pami臋ci jak unika膰 wyciek贸w pami臋ci
      • 5.2.1. Wprowadzenie do inteligentnych wska藕nik贸w i zarz膮dzania zasobami
        • 5.2.1.1. RAII i odwijanie stosu
    • 5.3. Inteligentne wska藕niki om贸wienie z przyk艂adami
      • 5.3.1. Wi臋cej o std::unique_ptr
        • 5.3.1.1. Kontekst u偶ycia std::unique_ptr
        • 5.3.1.2. Wzorzec projektowy metody wytw贸rczej
        • 5.3.1.3. Niestandardowe usuwanie unique_ptr
        • 5.3.1.4. Konstrukcje do unikania podczas korzystania z unique_ptr
      • 5.3.2. Wi臋cej o shared_ptr i weak_ptr
    • 5.4. Podsumowanie
      • Pytania i 膰wiczenia
  • 6. Zaawansowane programowanie obiektowe
    • 6.1. Obiekty funkcyjne
    • 6.2. Projekt przyk艂adowy rozszerzanie o wyszukiwanie walut w plikach XML oraz korzystanie z maszyny stan贸w i wyra偶e艅 regularnych za pomoc膮 biblioteki聽regex
      • 6.2.1. Dopasowywanie do wzorca za pomoc膮 biblioteki wyra偶e艅 regularnych
      • 6.2.2. Wzorzec maszyny stan贸w
      • 6.2.3. Implementowanie klasy rozszerzonej
      • 6.2.4. Rozszerzenie projektu wczytywanie informacji o walutach z internetu
      • 6.2.5. Uruchamianie rozszerzonej wersji CurrencyCalc
      • 6.2.6. Tworzenie biblioteki statycznej
      • 6.2.7. System plik贸w C++
      • 6.2.8. Interfejs u偶ytkownika
        • 6.2.8.1. Definicja klasy CC_GUI
        • 6.2.8.2. Definicje sk艂adowych klasy CC_GUI i mechanizm wywo艂ania zwrotnego
        • 6.2.8.3. Uruchamianie aplikacji z GUI
    • 6.3. Zegary systemowe i pomiar czasu
    • 6.4. Mierzenie czasu wykonywania funkcji
    • 6.5. Klasa Range
      • 6.5.1. Programowanie funkcyjne i biblioteka std::ranges
    • 6.6. Przyk艂adowy projekt parsowanie wyra偶e艅
      • 6.6.1. Definiowanie wyra偶e艅 j臋zyka i zasad gramatyki formalnej
      • 6.6.2. Projektowanie biblioteki przetwarzania wyra偶e艅
      • 6.6.3. Pierwszy interpreter polece艅
      • 6.6.4. Budowanie drzewa sk艂adniowego z u偶yciem wzorca projektowego kompozytu
        • 6.6.4.1. Wzorzec projektowy kompozytu do definiowania w臋z艂贸w drzewa
        • 6.6.4.2. Implementacja hierarchii TNode i wsp贸艂praca z wizytatorami
        • 6.6.4.3. Implementacja klasy ValueLeafNode
        • 6.6.4.4. Implementacja klasy BinOperator
        • 6.6.4.5. Implementacja klasy PlusOperator
        • 6.6.4.6. G艂臋bokie kopiowanie obiekt贸w w臋z艂a mechanizm prototypowania
      • 6.6.5. Interpreter do budowy drzew sk艂adniowych
      • 6.6.6. Stos dla inteligentnych wska藕nik贸w
      • 6.6.7. Przechodzenie po drzewach za pomoc膮 wzorca projektowego wizytatora
        • 6.6.7.1. Wizytator ewaluuj膮cy wyra偶enie
        • 6.6.7.2. Wizytator wypisuj膮cy wyra偶enie
      • 6.6.8. Testowanie interpreter贸w
      • 6.6.9. Reprezentowanie wyra偶e艅 na stosie w odwrotnej notacji聽polskiej
        • 6.6.9.1. Odwr贸cona notacja polska
        • 6.6.9.2. Algorytm do ewaluowania wyra偶enia RPN
    • 6.7. Podsumowanie
      • Pytania i 膰wiczenia
  • 7. Arytmetyka komputerowa
    • 7.1. Reprezentacja warto艣ci ca艂kowitej
      • 7.1.1. Algorytm konwersji podstawy
      • 7.1.2. Reprezentacje szesnastkowe i 贸semkowe
      • 7.1.3. Dodawanie binarne
      • 7.1.4. Warto艣ci ujemne i odejmowanie
    • 7.2. Operacje przesuni臋cia binarnego
      • 7.1.5. Flagi kontroli arytmetycznej
      • 7.1.6. Reprezentowanie u艂amk贸w
    • 7.2. Operacje przesuni臋cia binarnego
    • 7.3. Przyk艂adowy projekt model programowy dla reprezentacji sta艂oprzecinkowej
      • 7.3.1. Liczby sta艂oprzecinkowe i ich arytmetyka
      • 7.3.2. Definicja klasy FxFor聽聽聽579
      • 7.3.3. Wybrane metody klasy FxFor聽聽聽587
      • 7.3.4. Zastosowania dla FxFor
    • 7.4. Reprezentacje liczb zmiennoprzecinkowych
      • 7.4.1. Reprezentacja liczb w formacie zmiennoprzecinkowym
      • 7.4.2. Rozk艂ad liczb zmiennoprzecinkowych i konsekwencje obliczeniowe
      • 7.4.3. B艂膮d przybli偶enia warto艣ci rzeczywistej przy u偶yciu reprezentacji zmiennoprzecinkowej
      • 7.4.4. Standard IEEE 754 dla arytmetyki zmiennoprzecinkowej
      • 7.4.5. Standardowy model operacji zmiennoprzecinkowych
      • 7.4.6. Obliczenia ze 艣wiadomo艣ci膮 o b艂臋dach numerycznych
      • 7.4.7. Przyk艂adowy projekt ewaluacja algorytm贸w sumuj膮cych
      • 7.4.8. Przyk艂adowy projekt metoda Newtona do znajdywania miejsc zerowych聽funkcji
        • 7.4.8.1. Funkcja do obliczania pierwiastka kwadratowego na podstawie iteracji聽Newtona
    • 7.5. Podsumowanie
      • Pytania i 膰wiczenia
  • 8. Podstawy programowania r贸wnoleg艂ego
    • 8.1. Podstawowe zagadnienia zwi膮zane z obliczeniami r贸wnoleg艂ymi
    • 8.2. Dodawanie r贸wnoleg艂o艣ci do algorytm贸w standardowych
    • 8.3. Uruchamianie zada艅 asynchronicznych
    • 8.4. Zr贸wnoleglanie za pomoc膮 biblioteki OpenMP
      • 8.4.1. Uruchamianie zespo艂u w膮tk贸w i zapewnianie ochrony wy艂膮cznego dost臋pu
      • 8.4.2. R贸wnoleg艂a p臋tla for i operacje redukcji
      • 8.4.3. R贸wnoleg艂o艣膰 dla du偶ych ilo艣ci danych
    • 8.5. Podsumowanie
      • Pytania i 膰wiczenia
  • Dodatek
    • A.1. Dyrektywy preprocesora
    • A.2. Kr贸tkie wprowadzenie do j臋zyka C
      • A.2.1. Tablice wbudowane
        • A.2.1.1. Wielowymiarowe tablice o sta艂ym rozmiarze
      • A.2.2. Przekazywanie tablic do funkcji funkcja main
      • A.2.3. Struktury C
      • A.2.4. Funkcje i operacje wej艣cia/wyj艣cia w C
      • A.2.5. Unie
      • A.2.6. Operacje wykonywane na pami臋ci i ci膮gach znak贸w
      • A.2.7. 艁膮czenie kodu C i C++
    • A.3. 艁膮czenie i organizacja binarna obiekt贸w C/C++
    • A.4. Graficzny interfejs u偶ytkownika i interfejs sieci Web dla projekt贸w C++
    • A.5. Konwertowanie warto艣ci bin, oct, dec i hex za pomoc膮 FixBinCalc
    • A.6. Zestaw narz臋dzi programistycznych
      • A.6.1. Narz臋dzie do generowania projekt贸w (CMake)
      • A.6.2. Systemy kontroli wersji i repozytoria
      • A.6.3. Profiler
    • A.7. Testowanie oprogramowania
    • A.8. Podsumowanie
      • Pytania i 膰wiczenia
  • Bibliografia
  • O Autorze
  • Przypisy

Dodaj do koszyka Programowanie w j

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe nale偶膮 do wydawnictwa Helion S.A.