Sztuka dobrego programowania - Helion

ISBN: 978-8-3011-9047-7
stron: 236, Format: ebook
Data wydania: 2016-12-01
Księgarnia: Helion
Cena książki: 39,20 zł (poprzednio: 48,40 zł)
Oszczędzasz: 19% (-9,20 zł)
Książka przeznaczona jest dla programistów, którzy chcą, aby ich programy działały dobrze, czyli szybko zwracały wyniki, zużywały mało pamięci i obejmowały szeroki zakres danych wejściowych. Programista początkujący znajdzie tutaj wyjaśnienia podstawowych elementów języka C, a czytelnik zaawansowany dowie się, jak może udoskonalić swój warsztat. Czytelnik tej książki nauczy się pisać funkcje działające oszczędnie i wydajnie, np. funkcję, która znajduje liczby pierwsze 56 razy większe niż przykłady podawane w standardowych kursach programowania, a przy tym czyni to 7 razy szybciej. Dowie się, jak poprawnie tworzyć programy sterowane argumentami wywołania. Nauczy się, jak zautomatyzować proces budowania programów złożonych. Będzie potrafił przetwarzać wyrażenia regularne, czy też stworzyć interpreter poleceń podanych w języku naturalnym. Stanie się dobrym programistą.
Osoby które kupowały "Sztuka dobrego programowania", wybierały także:
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
- Scratch. Komiksowa przygoda z programowaniem 36,06 zł, (11,90 zł -67%)
- GameMaker. Kurs video. Kompleksowy przewodnik tworzenia gier platformowych 154,58 zł, (55,65 zł -64%)
- Angular. Kurs video. Zaawansowane techniki tworzenia aplikacji webowych 148,98 zł, (59,59 zł -60%)
Spis treści
Sztuka dobrego programowania eBook -- spis treści
Wstęp 13 Przygotowanie środowiska pracy 14 Instalacja systemu Linux 15 Pobranie OpenSUSE 15 Przygotowanie instalacji 15 Instalacja 15 Uruchamianie programów 16 Edycja kodu źródłowego 16 Przejście do trybu tekstowego 16 Skompilowanie programu 17 Uruchomienie programu 17 Polecane źródła w Internecie 17 Część I 19 Lekcja 1. Optymalizowanie funkcji 21 Elementy matematyki 21 Podstawy języka C 22 Program, instrukcja 22 Komentarze 23 Identyfikatory 23 Słowa kluczowe 23 Białe znaki 23 Podstawowe typy numeryczne 24 Zmienne i operator przypisania 25 Operatory 26 Instrukcja warunkowa 27 Instrukcje pętli 28 Pętla while 28 Pętla do while 29 Pętla for 29 Funkcje 30 Funkcje rekurencyjne 31 Rozwiązanie zadania 32 Krok 1. Pierwsze zadanie pomocnicze 32 Krok 2. Rachunki matematyczne 32 Krok 3. Drugie zadanie pomocnicze 33 Krok 4. Uogólnienie rachunków 34 Krok 5. Pierwsza wersja kodu funkcji rozwiązującej zadanie 34 Krok 6. Dodanie warunku zakończenia rekurencji 35 Krok 7. Optymalizacja liczby operacji 35 Krok 8. Optymalizacja liczby zmiennych 36 Krok 9. Usunięcie rekurencji 36 Krok 10. Sprawdzenie poprawności argumentów 38 Wnioski 39 Polecane źródła w Internecie 39 Lekcja 2. Działania na bitach 41 Sito Eratostenesa 41 Podstawy Języka C 41 Operacje na bitach 41 Operacja and 42 Operacja or 42 Operacja xor 42 Operacja not 42 Przesunięcie bitowe w lewo 42 Przesunięcie bitowe w prawo 43 Rzutowanie 43 Dyrektywy preprocesora 44 Tablice 45 Adresy zmiennych 46 Wskaźniki 47 Wskaźniki a tablice 48 Alokowanie pamięci dla tablicy 49 Rozwiązanie zadania 50 Krok 1. Podejście standardowe 50 Krok 2. Zmniejszenie liczby operacji 51 Krok 3. Oszczędność pamięci 52 Krok 4. Poprawa efektywności algorytmu 57 Wnioski 58 Polecane źródła w Internecie 59 Podstawy informatyki 61 Lekcja 3. Alokowanie pamięci 61 Podstawy języka C 62 Funkcja malloc() 62 Funkcja calloc() 63 Funkcja realloc() 64 Funkcja free() 64 Przykład zarządzania pamięcią 65 Zmienne automatyczne i statyczne 66 Rozwiązanie zadania 67 Wnioski 72 Polecane źródła w Internecie 72 Część II 73 Lekcja 4. Program główny 75 Podstawy języka C 75 Funkcja main() 75 Funkcja exit () 75 Standardowe strumienie wejścia i wyjścia 76 Napisy 76 Konwersja napisu do liczby 77 Rozwiązanie zadania 78 Krok 1. Zadanie pomocnicze 78 Krok 2. Unikanie prostych błędów 80 Krok 3. Zastosowanie nazwy programu 81 Krok 4. Obsługa opcji 83 Krok 5. Wyświetlenie komunikatu o błędzie 85 Krok 6. Zastosowanie zmiennych środowiskowych 85 Wnioski 86 Polecane źródła w Internecie 86 Lekcja 5. Przetwarzanie opcji 87 Podstawy języka C 87 Przekazywanie argumentów funkcji 87 Instrukcja wielokrotnego wyboru: switch 89 Standardowe opcje programu 90 Rozwiązanie zadania 90 Wnioski 94 Polecane źródła w Internecie 94 Lekcja 6. Przetwarzanie parametrów wejściowych - plików 95 Podstawy języka C 95 Odczyt i zapis do pliku 95 Trójargumentowy operator warunkowy 98 Sterowanie preprocesorem 98 Prototyp funkcji 98 Atrybut extern 100 Kompilacja programu 102 Rozwiązanie zadania 103 Krok 1. Rozdzielenie kompetencji między funkcje 103 Krok 2. Rozdzielenie kompetencji między pliki 106 Krok 3. Utworzenie plików nagłówkowych 108 Krok 4. Przetwarzanie danych wejściowych 109 Krok 5. Kompilacja 110 Aneks 111 Polecane źródła w Internecie 116 Część III 117 Lekcja 7. Debugowanie programu 119 Na czym polega debugowanie 119 Podstawy języka C 120 Buforowanie 120 Wyrażenie przecinkowe 121 Funkcja char() 121 Rozwiązanie zadania 122 Krok 1. Wydruki kontrolne w kodzie programu 122 Krok 2. Zastosowanie makra 124 Krok 3. Makro ze zmienną liczbą parametrów 126 Krok 4. Debugowanie wybierane dynamicznie 128 Krok 5. Obsługa parametru wywołania +d 130 Wnioski 131 Aneks 132 Modyfikacje w funkcji set_opt() 132 Modyfikacje w funkcji main() 132 Modyfikacja wypisywania pomocy rozszerzonej 133 Polecane źródła w Internecie 133 Lekcja 8. Budowanie złożonych programów 135 Podstawy teoretyczne 135 Struktura pliku Makefile 135 Rozwiązanie zadania 136 Krok 1. Tworzenie pliku Makefile 136 Deklaracje zmiennych 136 Reguły kompilacji 137 Krok 2. Optymalizacja pliku Makefile 138 Krok 3. Realizowanie celów specjalnych 139 make clean 139 make distclean 140 make dist 140 make install 142 Krok 4. Sprawdzenie poprawności listy zależności 142 Wnioski 143 Polecane źródła w Internecie 143 Lekcja 9. Udostępnianie programu 145 Narzędzia do udostępniania programów 145 Krok 1. Skanowanie katalogu 145 Krok 2. Edytowanie pliku configure.ac 146 Krok 3. Edytowanie pliku config.h.in 149 Krok 4. Edytowanie pliku makefile.in 149 Krok 5. Wywołanie programu autoconf 149 Krok 6. Uruchomienie programu configure 150 Krok 7. Korzystanie z pliku config.h 152 Krok 8 Budowanie programu 152 Krok 9. Dystrybucja 153 Wnioski 153 Polecane źródła w Internecie 153 Część IV 156 Lekcja 10. Dynamiczne struktury danych 157 Funkcje rekurencyjne 157 Rekurencyjne struktury danych 159 Dynamiczne struktury danych 160 Listy 160 Drzewa binarne 162 Porównanie przetwarzania list i drzew 163 Realizacja dynamicznych struktur danych w języku C 164 Struktury 164 Rozwiązanie zadania 165 Reprezentacja węzła drzewa 165 Krok 1 Tworzenie drzewa 166 Krok 2. Wstawianie elementu na początek i na koniec listy 168 Krok 3. Zamiana drzewa na listę 170 Krok 4. Zamiana listy na drzewo 175 Krok 5. Wypisywanie zawartości drzewa 180 Krok 6. Wyszukiwanie informacji w drzewie 181 Krok 7. Optymalizacja wyszukiwania 181 Krok 8. Baza z wieloma kluczami 182 Wnioski 183 Polecane źródła w Internecie 183 Lekcja 11. Wyrażenia regularne 185 Automaty skończone 185 Wyrażenia regularne 187 Metaznaki 188 Rozpoznawanie wyrażeń regularnych 189 Rozwiązanie zadania 189 Krok 1. Sformułowanie zadania dla konkretnego zastosowania 189 Krok 2. Budowanie tablicy sterującej 190 Wnioski 197 Polecane źródła w Internecie 198 Lekcja 12. Interpreter poleceń 199 Gramatyki formalne 200 Narzędzia informatyczne 201 Generator parsera yacc 202 Deklaracje języka C 203 Deklaracje parsera 203 Reguły gramatyki 203 Kod dodatkowy 204 Generator leksera lex 204 Reguły leksykalne 205 Rozwiązanie zadania 205 Krok 1. Tworzenie pliku mag.y 205 Krok 2. Generowanie parsera 207 Krok 3. Tworzenie pliku mag.l 208 Krok 4. Generowanie analizatora leksykalnego 209 Krok 5. Tworzenie prostego programu głównego 210 Krok 6. Modyfikacja pliku Makefile 212 Krok 7. Wywołanie funkcji yyparse() w pętli 213 Krok 8. Sterowanie reakcjami systemu 215 Modyfikacja leksera 217 Modyfikacja funkcji main() 217 Modyfikacja parsera 218 Krok 9. Rozwijanie interpretera 222 Krok 10. Rozwiązywanie konfliktów 225 Wnioski 226 Polecane źródła w Internecie 227 Pliki towarzyszące książce 229 Skorowidz