Projektowanie oprogramowania dla zupełnie początkujących. Owoce programowania. Wydanie V - Helion
Tytuł oryginału: Starting Out with Programming Logic and Design (5th Edition)
TÅ‚umaczenie: Wojciech Moch
ISBN: 978-83-283-5565-1
stron: 824, Format: 164x239, okładka: twarda
Data wydania: 2019-12-03
Księgarnia: Helion
Cena książki: 129,00 zł
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żą dane
- z jakich moduÅ‚ów i struktur skÅ‚adajÄ… siÄ™ programy oraz jak dziaÅ‚ajÄ… funkcje
- w jaki sposób pracuje siÄ™ na plikach oraz czym jest przetwarzanie tekstu
- czym jest rekurencja i do czego można ją wykorzystać
- czym siÄ™ różni programowanie proceduralne od obiektowego
Bez dobrego projektu zawiedzie najlepszy kod!
Osoby które kupowały "Projektowanie oprogramowania dla zupełnie początkujących. Owoce programowania. Wydanie V", wybierały także:
- Algorytmy kryptograficzne. Przewodnik po algorytmach w blockchain, kryptografii kwantowej, protoko 79,00 zł, (39,50 zł -50%)
- Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla pocz 58,98 zł, (29,49 zł -50%)
- My 89,00 zł, (44,50 zł -50%)
- Nauka algorytm 58,98 zł, (29,49 zł -50%)
- 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie 77,00 zł, (38,50 zł -50%)
Spis treści
Projektowanie oprogramowania dla zupełnie początkujących. Owoce programowania. Wydanie V -- spis treści
Wstęp 13
Podziękowania 19
O autorze 21
RozdziaÅ‚ 1. WstÄ™pne informacje na temat komputerów i programowania 23
- 1.1. Wstęp 23
- 1.2. Sprzęt 24
- 1.3. W jaki sposób komputer przechowuje dane 30
- 1.4. W jaki sposób dziaÅ‚a program 35
- 1.5. Rodzaje oprogramowania 44
- Pytania kontrolne 45
Rozdział 2. Dane wejściowe, przetwarzanie i dane wyjściowe 51
- 2.1. Projektowanie programu 51
- 2.2. Dane wejściowe, dane wyjściowe i zmienne 58
- 2.3. Przypisywanie wartości do zmiennych i wykonywanie obliczeń 69
- W CENTRUM UWAGI. Obliczanie opłat za dodatkowe minuty 73
- W CENTRUM UWAGI. Obliczanie procentów 74
- W CENTRUM UWAGI. Obliczanie średniej 79
- W CENTRUM UWAGI. Zamiana wzoru matematycznego na wyrażenie 82
- 2.4. Deklarowanie zmiennych i typy danych 84
- 2.5. Stałe nazwane 90
- 2.6. Ręczne śledzenie programu 91
- 2.7. Dokumentowanie programu 93
- W CENTRUM UWAGI. Korzystanie ze stałych nazwanych, konwencje zapisu i komentarze 94
- 2.8. Projektowanie pierwszego programu 97
- 2.9. Rzut oka na języki Java, Python i C++ 100
- Pytania kontrolne 121
- Ćwiczenia z wykrywania bÅ‚Ä™dów 126
- Ćwiczenia programistyczne 127
Rozdział 3. Moduły 131
- 3.1. Moduły - informacje wstępne 131
- 3.2. Definiowanie i wywoÅ‚ywanie moduÅ‚ów 134
- W CENTRUM UWAGI. Definiowanie i wywoÅ‚ywanie moduÅ‚ów 140
- 3.3. Zmienne lokalne 145
- 3.4. Przekazywanie argumentów do moduÅ‚ów 148
- W CENTRUM UWAGI. Przekazywanie argumentu do modułu 153
- W CENTRUM UWAGI. Przekazywanie argumentu przez referencjÄ™ 159
- 3.5. Zmienne globalne i stałe globalne 162
- W CENTRUM UWAGI. Korzystanie ze stałych globalnych 165
- 3.6. Rzut oka na języki Java, Python i C++ 167
- Pytania kontrolne 179
- Ćwiczenia z wykrywania bÅ‚Ä™dów 183
- Ćwiczenia programistyczne 183
Rozdział 4. Struktury warunkowe i logika boolowska 187
- 4.1. Struktury warunkowe - informacje wstępne 187
- W CENTRUM UWAGI. Korzystanie z instrukcji If-Then 195
- 4.2. Struktury warunkowe podwójnego wyboru 198
- W CENTRUM UWAGI. Korzystanie z instrukcji If-Then-Else 199
- 4.3. Porównywanie ciÄ…gów znaków 202
- 4.4. Zagnieżdżone struktury warunkowe 208
- W CENTRUM UWAGI. Wielokrotne zagnieżdżenie struktur warunkowych 211
- 4.5. Struktura decyzyjna 215
- W CENTRUM UWAGI. Korzystanie ze struktury decyzyjnej 218
- 4.6. Operatory logiczne 221
- 4.7. Zmienne boolowskie 229
- 4.8. Rzut oka na języki Java, Python i C++ 230
- Pytania kontrolne 242
- Ćwiczenia z wykrywania bÅ‚Ä™dów 246
- Ćwiczenia programistyczne 247
Rozdział 5. Struktury cykliczne 251
- 5.1. Struktury cykliczne - wprowadzenie 251
- 5.2. Pętle warunkowe: While, Do-While i Do-Until 253
- W CENTRUM UWAGI. Projektowanie pętli While 257
- W CENTRUM UWAGI. Projektowanie pętli Do-While 266
- 5.3. Pętle licznikowe i instrukcja For 272
- W CENTRUM UWAGI. Projektowanie pętli licznikowej za pomocą instrukcji For 279
- 5.4. Obliczanie sumy bieżącej 289
- 5.5. Wartownik 293
- W CENTRUM UWAGI. Korzystanie z wartownika 293
- 5.6. Pętle zagnieżdżone 295
- 5.7. Rzut oka na języki Java, Python i C++ 298
- Pytania kontrolne 308
- Ćwiczenia z wykrywania bÅ‚Ä™dów 311
- Ćwiczenia programistyczne 312
Rozdział 6. Funkcje 315
- 6.1. Wprowadzenie do funkcji: generowanie liczb losowych 315
- W CENTRUM UWAGI. Korzystanie z liczb losowych 319
- W CENTRUM UWAGI. Wykorzystanie liczb losowych do reprezentowania innych wartości 321
- 6.2. Tworzenie własnych funkcji 322
- W CENTRUM UWAGI. Modularyzacja kodu z wykorzystaniem funkcji 330
- 6.3. Inne funkcje biblioteczne 338
- 6.4. Rzut oka na języki Java, Python i C++ 349
- Pytania kontrolne 357
- Ćwiczenia z wykrywania bÅ‚Ä™dów 359
- Ćwiczenia programistyczne 360
Rozdział 7. Walidacja danych wejściowych 365
- 7.1. Garbage In, Garbage Out 365
- 7.2. Pętla walidacji danych wejściowych 367
- W CENTRUM UWAGI. Projektowanie pętli walidacji danych wejściowych 369
- 7.3. Programowanie defensywne 374
- 7.4. Rzut oka na języki Java, Python i C++ 375
- Pytania kontrolne 379
- Ćwiczenia z wykrywania bÅ‚Ä™dów 381
- Ćwiczenia programistyczne 382
Rozdział 8. Tablice 385
- 8.1. Tablice - informacje podstawowe 385
- W CENTRUM UWAGI. Korzystanie z elementów tablicy w wyrażeniach matematycznych 392
- 8.2. Sekwencyjne przeszukiwanie tablicy 400
- 8.3. Przetwarzanie elementów tablicy 405
- W CENTRUM UWAGI. Przekazywanie tablicy 412
- 8.4. Tablice równolegÅ‚e 419
- W CENTRUM UWAGI. Korzystanie z tablic równolegÅ‚ych 420
- 8.5. Tablice dwuwymiarowe 424
- W CENTRUM UWAGI. Korzystanie z tablic dwuwymiarowych 427
- 8.6. Tablice trój- i wiÄ™cejwymiarowe 432
- 8.7. Rzut oka na języki Java, Python i C++ 434
- Pytania kontrolne 444
- Ćwiczenia z wykrywania bÅ‚Ä™dów 447
- Ćwiczenia programistyczne 448
Rozdział 9. Sortowanie i przeszukiwanie tabel 453
- 9.1. Algorytm sortowania bÄ…belkowego 453
- W CENTRUM UWAGI. Korzystanie z algorytmu sortowania bÄ…belkowego 460
- 9.2. Algorytm sortowania przez wybieranie 468
- 9.3. Algorytm sortowania przez wstawianie 473
- 9.4. Algorytm wyszukiwania binarnego 479
- W CENTRUM UWAGI. Korzystanie z algorytmu wyszukiwania binarnego 482
- 9.5. Rzut oka na języki Java, Python i C++ 485
- Pytania kontrolne 497
- Ćwiczenia z wykrywania bÅ‚Ä™dów 500
- Ćwiczenia programistyczne 501
Rozdział 10. Pliki 503
- 10.1. Odczyt i zapis do plików - informacje wstÄ™pne 503
- 10.2. Przetwarzanie plików za pomocÄ… pÄ™tli 516
- W CENTRUM UWAGI. Korzystanie z plików 520
- 10.3. Korzystanie z plików i tablic 524
- 10.4. Przetwarzanie rekordów 525
- W CENTRUM UWAGI. Dodawanie i wyÅ›wietlanie rekordów 530
- W CENTRUM UWAGI. Wyszukiwanie rekordu 533
- W CENTRUM UWAGI. Modyfikowanie rekordów 535
- W CENTRUM UWAGI. Usuwanie rekordów 540
- 10.5. Separatory sterowania 543
- W CENTRUM UWAGI. Korzystanie z separatorów sterowania 544
- 10.6. Rzut oka na języki Java, Python i C++ 550
- Pytania kontrolne 570
- Ćwiczenia z wykrywania bÅ‚Ä™dów 574
- Ćwiczenia programistyczne 574
Rozdział 11. Programy sterowane za pomocą menu 577
- 11.1. Wprowadzenie do programów sterowanych za pomocÄ… menu 577
- 11.2. Modularyzacja programu sterowanego za pomocÄ… menu 587
- 11.3. Ponowne wyświetlanie menu za pomocą pętli 589
- W CENTRUM UWAGI. Projektowanie programu sterowanego za pomocÄ… menu 596
- 11.4. Menu wielopoziomowe 610
- 11.5. Rzut oka na języki Java, Python i C++ 616
- Pytania kontrolne 621
- Ćwiczenia programistyczne 623
Rozdział 12. Przetwarzanie tekstu 627
- 12.1. Wstęp 627
- 12.2. Przetwarzanie poszczególnych znaków w ciÄ…gu 629
- W CENTRUM UWAGI. Sprawdzanie hasła 632
- W CENTRUM UWAGI. Formatowanie numeru telefonu i usuwanie formatowania 637
- 12.3. Rzut oka na języki Java, Python i C++ 642
- Pytania kontrolne 649
- Ćwiczenia z wykrywania bÅ‚Ä™dów 651
- Ćwiczenia programistyczne 652
Rozdział 13. Rekurencja 657
- 13.1. Wprowadzenie do rekurencji 657
- 13.2. Rozwiązywanie zadań za pomocą rekurencji 660
- 13.3. PrzykÅ‚ady algorytmów rekurencyjnych 664
- 13.4. Rzut oka na języki Java, Python i C++ 674
- Pytania kontrolne 678
- Ćwiczenia programistyczne 681
Rozdział 14. Programowanie obiektowe 683
- 14.1. Programowanie proceduralne i programowanie obiektowe 683
- 14.2. Klasy 687
- 14.3. Projektowanie klas za pomocą języka UML 698
- 14.4. Wyznaczanie klas i ich zakresu obowiÄ…zków w zadaniu 700
- W CENTRUM UWAGI. Wyznaczanie klas 701
- W CENTRUM UWAGI. OkreÅ›lanie zakresu obowiÄ…zków klasy 705
- 14.5. Dziedziczenie 711
- 14.6. Polimorfizm 718
- 14.7. Rzut oka na języki Java, Python i C++ 723
- Pytania kontrolne 740
- Ćwiczenia programistyczne 744
Rozdział 15. Aplikacje z GUI i programowanie sterowane zdarzeniami 747
- 15.1. Graficzny interfejs użytkownika 747
- 15.2. Projektowanie interfejsu użytkownika do programu wyposażonego w GUI 751
- W CENTRUM UWAGI. Projektowanie okna 755
- 15.3. Tworzenie procedury obsługi zdarzenia 758
- W CENTRUM UWAGI. Projektowanie procedury obsługi zdarzenia 761
- 15.4. Projektowanie aplikacji na urzÄ…dzenia mobilne 764
- 15.5. Rzut oka na języki Java, Python i C++ 773
- Pytania kontrolne 774
- Ćwiczenia programistyczne 776
Dodatek A. Tablica kodów ASCII/Unicode 779
Dodatek B. Symbole na schematach blokowych 781
Dodatek C. Przewodnik po pseudokodzie 783
Dodatek D. Zamiana liczb dziesiętnych na postać binarną 797
Dodatek E. Odpowiedzi do pytaÅ„ z punktów kontrolnych 799
Skorowidz 815