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: 38,90 zł (poprzednio: 125,48 zł)
Oszczędzasz: 69% (-86,58 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:
- Nauka algorytm 59,00 zł, (29,50 zł -50%)
- 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie 69,00 zł, (34,50 zł -50%)
- Komputer kwantowy. Programowanie, algorytmy, kod 67,00 zł, (33,50 zł -50%)
- Matematyka dla programistów Java 89,00 zł, (44,50 zł -50%)
- Algorytmy dla bystrzaków 59,00 zł, (29,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