Description
PROJEKTOWANIE OPROGRAMOWANIA DLA ZUPEŁNIE POCZĄTKUJĄCYCH OWOCE PROGRAMOWANIA WYD. 5
Programowanie to nie tylko umiejętność pisania kodu oraz organizowania go w funkcje, procedury i moduły. Nawet najbardziej finezyjne języki i najnowocześniejsze paradygmaty programowania nie zapewnią sukcesu, jeśli projekt aplikacji jest nieprzemyślany, a jej logice brakuje… logiki. Z drugiej strony poświęcenie odrobiny czasu na stworzenie dobrego projektu sprawi, że praca nad pisaniem kodu będzie łatwiejsza, sama aplikacja będzie pracować lepiej i bardziej niezawodnie, a późniejsze modyfikacje i rozwój oprogramowania przysporzą mniej problemów.Jeśli planujesz napisać swoją pierwszą aplikację, sięgnij po tę książkę. Aby zrozumieć zawartą w niej treść, nie trzeba znać żadnego języka programowania. Pokazano tu, jak działają programy i jak można z ich wykorzystaniem rozwiązywać konkretne zadania. Wiedza o zasadach projektowania jest przekazywana za pomocą pseudokodu i schematów blokowych. Omówiono zarówno podstawowe zagadnienia, takie jak typy danych, zmienne, funkcje, jak i nieco bardziej zaawansowane: programowanie obiektowe, tworzenie graficznych interfejsów użytkownika i pisanie programów sterowanych zdarzeniami. W tym wydaniu książki wprowadzono wiele poprawek i uzupełnień, dotyczących między innymi języków Java, Python i C++ oraz programowania aplikacji dla urządzeń mobilnych.Dzięki tej książce dowiesz się:jak działa komputer, czym są programy i do czego służą danez jakich modułów i struktur składają się programy oraz jak działają funkcjew jaki sposób pracuje się na plikach oraz czym jest przetwarzanie tekstuczym jest rekurencja i do czego można ją wykorzystaćczym się różni programowanie proceduralne od obiektowegoBez dobrego projektu zawiedzie najlepszy kod!Spis treści:Wstęp 13Podziękowania 19O autorze 21Rozdział 1. Wstępne informacje na temat komputerów i programowania 231.1. Wstęp 231.2. Sprzęt 241.3. W jaki sposób komputer przechowuje dane 301.4. W jaki sposób działa program 351.5. Rodzaje oprogramowania 44Pytania kontrolne 45Rozdział 2. Dane wejściowe, przetwarzanie i dane wyjściowe 512.1. Projektowanie programu 512.2. Dane wejściowe, dane wyjściowe i zmienne 582.3. Przypisywanie wartości do zmiennych i wykonywanie obliczeń 69W CENTRUM UWAGI. Obliczanie opłat za dodatkowe minuty 73W CENTRUM UWAGI. Obliczanie procentów 74W CENTRUM UWAGI. Obliczanie średniej 79W CENTRUM UWAGI. Zamiana wzoru matematycznego na wyrażenie 822.4. Deklarowanie zmiennych i typy danych 842.5. Stałe nazwane 902.6. Ręczne śledzenie programu 912.7. Dokumentowanie programu 93W CENTRUM UWAGI. Korzystanie ze stałych nazwanych, konwencje zapisu i komentarze 942.8. Projektowanie pierwszego programu 972.9. Rzut oka na języki Java, Python i C++ 100Pytania kontrolne 121Ćwiczenia z wykrywania błędów 126Ćwiczenia programistyczne 127Rozdział 3. Moduły 1313.1. Moduły – informacje wstępne 1313.2. Definiowanie i wywoływanie modułów 134W CENTRUM UWAGI. Definiowanie i wywoływanie modułów 1403.3. Zmienne lokalne 1453.4. Przekazywanie argumentów do modułów 148W CENTRUM UWAGI. Przekazywanie argumentu do modułu 153W CENTRUM UWAGI. Przekazywanie argumentu przez referencję 1593.5. Zmienne globalne i stałe globalne 162W CENTRUM UWAGI. Korzystanie ze stałych globalnych 1653.6. Rzut oka na języki Java, Python i C++ 167Pytania kontrolne 179Ćwiczenia z wykrywania błędów 183Ćwiczenia programistyczne 183Rozdział 4. Struktury warunkowe i logika boolowska 1874.1. Struktury warunkowe – informacje wstępne 187W CENTRUM UWAGI. Korzystanie z instrukcji If-Then 1954.2. Struktury warunkowe podwójnego wyboru 198W CENTRUM UWAGI. Korzystanie z instrukcji If-Then-Else 1994.3. Porównywanie ciągów znaków 2024.4. Zagnieżdżone struktury warunkowe 208W CENTRUM UWAGI. Wielokrotne zagnieżdżenie struktur warunkowych 2114.5. Struktura decyzyjna 215W CENTRUM UWAGI. Korzystanie ze struktury decyzyjnej 2184.6. Operatory logiczne 2214.7. Zmienne boolowskie 2294.8. Rzut oka na języki Java, Python i C++ 230Pytania kontrolne 242Ćwiczenia z wykrywania błędów 246Ćwiczenia programistyczne 247Rozdział 5. Struktury cykliczne 2515.1. Struktury cykliczne – wprowadzenie 2515.2. Pętle warunkowe: While, Do-While i Do-Until 253W CENTRUM UWAGI. Projektowanie pętli While 257W CENTRUM UWAGI. Projektowanie pętli Do-While 2665.3. Pętle licznikowe i instrukcja For 272W CENTRUM UWAGI. Projektowanie pętli licznikowej za pomocą instrukcji For 2795.4. Obliczanie sumy bieżącej 2895.5. Wartownik 293W CENTRUM UWAGI. Korzystanie z wartownika 2935.6. Pętle zagnieżdżone 2955.7. Rzut oka na języki Java, Python i C++ 298Pytania kontrolne 308Ćwiczenia z wykrywania błędów 311Ćwiczenia programistyczne 312Rozdział 6. Funkcje 3156.1. Wprowadzenie do funkcji: generowanie liczb losowych 315W CENTRUM UWAGI. Korzystanie z liczb losowych 319W CENTRUM UWAGI. Wykorzystanie liczb losowych do reprezentowania innych wartości 3216.2. Tworzenie własnych funkcji 322W CENTRUM UWAGI. Modularyzacja kodu z wykorzystaniem funkcji 3306.3. Inne funkcje biblioteczne 3386.4. Rzut oka na języki Java, Python i C++ 349Pytania kontrolne 357Ćwiczenia z wykrywania błędów 359Ćwiczenia programistyczne 360Rozdział 7. Walidacja danych wejściowych 3657.1. Garbage In, Garbage Out 3657.2. Pętla walidacji danych wejściowych 367W CENTRUM UWAGI. Projektowanie pętli walidacji danych wejściowych 3697.3. Programowanie defensywne 3747.4. Rzut oka na języki Java, Python i C++ 375Pytania kontrolne 379Ćwiczenia z wykrywania błędów 381Ćwiczenia programistyczne 382Rozdział 8. Tablice 3858.1. Tablice – informacje podstawowe 385W CENTRUM UWAGI. Korzystanie z elementów tablicy w wyrażeniach matematycznych 3928.2. Sekwencyjne przeszukiwanie tablicy 4008.3. Przetwarzanie elementów tablicy 405W CENTRUM UWAGI. Przekazywanie tablicy 4128.4. Tablice równoległe 419W CENTRUM UWAGI. Korzystanie z tablic równoległych 4208.5. Tablice dwuwymiarowe 424W CENTRUM UWAGI. Korzystanie z tablic dwuwymiarowych 4278.6. Tablice trój- i więcejwymiarowe 4328.7. Rzut oka na języki Java, Python i C++ 434Pytania kontrolne 444Ćwiczenia z wykrywania błędów 447Ćwiczenia programistyczne 448Rozdział 9. Sortowanie i przeszukiwanie tabel 4539.1. Algorytm sortowania bąbelkowego 453W CENTRUM UWAGI. Korzystanie z algorytmu sortowania bąbelkowego 4609.2. Algorytm sortowania przez wybieranie 4689.3. Algorytm sortowania przez wstawianie 4739.4. Algorytm wyszukiwania binarnego 479W CENTRUM UWAGI. Korzystanie z algorytmu wyszukiwania binarnego 4829.5. Rzut oka na języki Java, Python i C++ 485Pytania kontrolne 497Ćwiczenia z wykrywania błędów 500Ćwiczenia programistyczne 501Rozdział 10. Pliki 50310.1. Odczyt i zapis do plików – informacje wstępne 50310.2. Przetwarzanie plików za pomocą pętli 516W CENTRUM UWAGI. Korzystanie z plików 52010.3. Korzystanie z plików i tablic 52410.4. Przetwarzanie rekordów 525W CENTRUM UWAGI. Dodawanie i wyświetlanie rekordów 530W CENTRUM UWAGI. Wyszukiwanie rekordu 533W CENTRUM UWAGI. Modyfikowanie rekordów 535W CENTRUM UWAGI. Usuwanie rekordów 54010.5. Separatory sterowania 543W CENTRUM UWAGI. Korzystanie z separatorów sterowania 54410.6. Rzut oka na języki Java, Python i C++ 550Pytania kontrolne 570Ćwiczenia z wykrywania błędów 574Ćwiczenia programistyczne 574Rozdział 11. Programy sterowane za pomocą menu 57711.1. Wprowadzenie do programów sterowanych za pomocą menu 57711.2. Modularyzacja programu sterowanego za pomocą menu 58711.3. Ponowne wyświetlanie menu za pomocą pętli 589W CENTRUM UWAGI. Projektowanie programu sterowanego za pomocą menu 59611.4. Menu wielopoziomowe 61011.5. Rzut oka na języki Java, Python i C++ 616Pytania kontrolne 621Ćwiczenia programistyczne 623Rozdział 12. Przetwarzanie tekstu 62712.1. Wstęp 62712.2. Przetwarzanie poszczególnych znaków w ciągu 629W CENTRUM UWAGI. Sprawdzanie hasła 632W CENTRUM UWAGI. Formatowanie numeru telefonu i usuwanie formatowania 63712.3. Rzut oka na języki Java, Python i C++ 642Pytania kontrolne 649Ćwiczenia z wykrywania błędów 651Ćwiczenia programistyczne 652Rozdział 13. Rekurencja 65713.1. Wprowadzenie do rekurencji 65713.2. Rozwiązywanie zadań za pomocą rekurencji 66013.3. Przykłady algorytmów rekurencyjnych 66413.4. Rzut oka na języki Java, Python i C++ 674Pytania kontrolne 678Ćwiczenia programistyczne 681Rozdział 14. Programowanie obiektowe 68314.1. Programowanie proceduralne i programowanie obiektowe 68314.2. Klasy 68714.3. Projektowanie klas za pomocą języka UML 69814.4. Wyznaczanie klas i ich zakresu obowiązków w zadaniu 700W CENTRUM UWAGI. Wyznaczanie klas 701W CENTRUM UWAGI. Określanie zakresu obowiązków klasy 70514.5. Dziedziczenie 71114.6. Polimorfizm 71814.7. Rzut oka na języki Java, Python i C++ 723Pytania kontrolne 740Ćwiczenia programistyczne 744Rozdział 15. Aplikacje z GUI i programowanie sterowane zdarzeniami 74715.1. Graficzny interfejs użytkownika 74715.2. Projektowanie interfejsu użytkownika do programu wyposażonego w GUI 751W CENTRUM UWAGI. Projektowanie okna 75515.3. Tworzenie procedury obsługi zdarzenia 758W CENTRUM UWAGI. Projektowanie procedury obsługi zdarzenia 76115.4. Projektowanie aplikacji na urządzenia mobilne 76415.5. Rzut oka na języki Java, Python i C++ 773Pytania kontrolne 774Ćwiczenia programistyczne 776Dodatek A. Tablica kodów ASCII/Unicode 779Dodatek B. Symbole na schematach blokowych 781Dodatek C. Przewodnik po pseudokodzie 783Dodatek D. Zamiana liczb dziesiętnych na postać binarną 797Dodatek E. Odpowiedzi do pytań z punktów kontrolnych 799Skorowidz 815O autorze: Tony Gaddis od ponad dwudziestu lat prowadzi kursy informatyczne, głównie w Haywood Community College. Jego talent dydaktyczny był niejednokrotnie doceniany i nagradzany. Gaddis otrzymał między innymi tytuł Nauczyciela Roku na North Carolina Community College oraz nagrodę Teaching Excellence przyznaną przez National Institute for Staff and Organizational Development. Jest autorem i współautorem bardzo cenionych książek dotyczących nauki języków C++, Java, Microsoft
Informatyka
crodini, camembert brie, efektem, hot girl, ramanesco, jogurt naturalny bakoma, kredki pastelowe, nowy harnaś, lampka nocna na pilot, jak zrobić biały sos do ryżu, menopauza maciąg, balony komunijne, śmietana kwasna, kosmos książka, osełka a masło
yyyyy