księgarnia informatyczna aton.pl

Myśl jak programista Techniki kreatywnego rozwiązywania problemów

Wydawnictwo HELION

Cena:    49.00zł

Myśl jak programista Techniki kreatywnego rozwiązywania problemów


Autor: V. Anton Spraul

ISBN: 978-83-246-7284-4

Ilość stron: 280

Data wydania: 08/2013

Oprawa: Miękka

Format: 170x230

Wydawnictwo: HELION


Znajdź wyjście z najtrudniejszych sytuacji!

Nauka programowania to tak naprawdę nauka sposobu myślenia. Jako programista musisz biegle analizować problemy, dzielić je na części oraz starać się je rozwiązać w optymalny sposób. Składnia języka i środowisko programistyczne to tylko podstawowe narzędzia, których obsługi nauczyć się może każdy. Jednak nie każdy potrafi myśleć jak programista.

Dzięki tej książce masz szansę zostać profesjonalistą! W trakcie lektury poznasz najlepsze sposoby rozwiązywania problemów, opanujesz rekurencję i przekonasz się, że wcale nie jest ona taka straszna. Zobaczysz również, jak tworzyć kod nadający się do ponownego użycia, i opanujesz zagadnienia z obszaru programowania obiektowego. Przykłady w tej książce zostały napisane w języku C++, ale nie stanowi to bariery, żeby przenieść te idee na inne języki programowania. Warto poświęcić tej książce parę wieczorów i zmienić swój sposób patrzenia na programowanie!

Poznaj:

  • strategie rozwiązywania problemów
  • sposoby rozwiązywania problemów za pomocą rekurencji
  • korzyści z wykorzystania wskaźników i pamięci dynamicznej
  • metody zdobywania nowych umiejętności programistycznych

Opanuj sztukę myślenia jak programista.

Spis treści:

Wstęp (9)

  • O książce (11)
    • Wymagania wstępne (11)
    • Wybrane zagadnienia (12)
    • Styl programowania (12)
    • Ćwiczenia (12)
    • Dlaczego C++? (13)

1. Strategie rozwiązywania problemów (15)

  • Klasyczne łamigłówki (17)
    • Lis, gęś i kukurydza (17)
    • Łamigłówki z przesuwanymi elementami (22)
    • Sudoku (26)
    • Zamek Quarrasi (30)
  • Ogólne techniki rozwiązywania problemów (32)
    • Miej zawsze jakiś plan (32)
    • Ponownie zaprezentuj problem (33)
    • Podziel problem (34)
    • Rozpocznij z wiedzą, którą posiadasz (35)
    • Uprość problem (36)
    • Szukaj analogii (37)
    • Eksperymentuj (38)
    • Nie popadaj we frustrację (38)
  • Ćwiczenia (40)

2. Prawdziwe łamigłówki (41)

  • Elementy języka C++ wykorzystywane w tym rozdziale (42)
  • Tworzenie wzorów na wyjściu (42)
  • Przetwarzanie danych wejściowych (48)
    • Analiza problemu (49)
    • Łączenie wszystkich elementów w całość (58)
  • Śledzenie stanu (60)
  • Podsumowanie (73)
  • Ćwiczenia (74)

3. Rozwiązywanie problemów za pomocą tablic (77)

  • Podstawowe informacje o tablicach (78)
    • Przechowywanie danych (79)
    • Kopiowanie (79)
    • Odczytywanie i przeszukiwanie (80)
    • Sortowanie (81)
    • Obliczenia statystyczne (84)
  • Rozwiązywanie problemów za pomocą tablic (85)
    • Optymalizacja (89)
  • Tablice ze stałymi wartościami (91)
  • Tablice z wartościami nieskalarnymi (94)
  • Tablice wielowymiarowe (96)
  • Kiedy należy używać tablic (99)
  • Ćwiczenia (104)

4. Rozwiązywanie problemów za pomocą wskaźników i pamięci dynamicznej (107)

  • Podstawowe informacje o wskaźnikach (108)
  • Korzyści z używania wskaźników (109)
    • Struktury danych o wielkości definiowanej w trakcie działania programu (109)
    • Struktury danych o zmiennych rozmiarach (110)
    • Współdzielenie pamięci (110)
  • Kiedy należy używać wskaźników? (111)
  • Pamięć ma znaczenie (112)
    • Stos i sterta (113)
    • Rozmiar pamięci (116)
    • Czas życia (118)
  • Rozwiązywanie problemów za pomocą wskaźników (119)
    • Łańcuchy o zmiennej długości (119)
    • Listy powiązane (130)
  • Wnioski i następne działania (139)
  • Ćwiczenia (139)

5. Rozwiązywanie problemów za pomocą klas (143)

  • Przegląd podstawowych informacji o klasach (144)
  • Cele użycia klas (146)
    • Enkapsulacja (146)
    • Ponowne użycie kodu (147)
    • Dzielenie problemu (147)
    • Hermetyzacja (148)
    • Czytelność (150)
    • Wyrazistość (150)
  • Tworzenie przykładowej klasy (151)
    • Podstawowy schemat klasy (152)
    • Metody wspierające (156)
  • Klasy z danymi dynamicznymi (160)
    • Dodawanie węzła (162)
    • Reorganizacja listy (165)
    • Destruktor (169)
    • Kopiowanie głębokie (170)
    • Obraz całości dla klas z pamięcią dynamiczną (175)
  • Błędy, jakich należy unikać (176)
    • Klasa fikcyjna (176)
    • Jednozadaniowce (177)
  • Ćwiczenia (178)

6. Rozwiązywanie problemów za pomocą rekurencji (181)

  • Przegląd podstawowych informacji o rekurencji (182)
  • Rekurencja nieogonowa i ogonowa (182)
  • Wielki Pomysł Rekurencyjny (191)
  • Często popełniane błędy (194)
    • Zbyt wiele parametrów (195)
    • Zmienne globalne (196)
  • Używanie rekurencji w dynamicznych strukturach danych (198)
    • Rekurencja i listy powiązane (198)
    • Rekurencja i drzewa binarne (201)
  • Funkcje opakowujące (204)
  • Kiedy należy wybierać rekurencję? (207)
    • Argumenty przeciwko rekurencji (207)
  • Ćwiczenia (211)

7. Rozwiązywanie problemów za pomocą ponownego wykorzystania kodu (213)

  • Poprawne i niewłaściwe wykorzystanie kodu (214)
  • Przegląd podstawowych informacji o komponentach (215)
    • Blok kodu (215)
    • Algorytmy (216)
    • Wzorce (216)
    • Abstrakcyjne typy danych (217)
    • Biblioteki (218)
  • Zdobywanie wiedzy o komponentach (219)
    • Eksploracyjne zdobywanie wiedzy (219)
    • Zdobywanie wiedzy w razie potrzeby (223)
  • Wybór typu komponentu (232)
    • Wybór komponentu w praktyce (234)
    • Porównanie wyników (238)
  • Ćwiczenia (239)

8. Myślenie jak programista (241)

  • Tworzenie własnego planu głównego (242)
    • Uwzględnienie mocnych i słabych stron (242)
    • Budowanie planu głównego (248)
  • Rozwiązywanie każdego problemu (250)
    • Opracowywanie metody oszukiwania (252)
    • Wymagane podzadania dla metody oszukiwania w grze wisielec (254)
    • Wstępny projekt (256)
    • Kodowanie wstępne (257)
    • Analiza wstępnych wyników (266)
    • Sztuka rozwiązywania problemów (267)
  • Zdobywanie nowych umiejętności programistycznych (268)
    • Nowe języki (269)
    • Zdobywanie nowych umiejętności w języku, który już znasz (271)
    • Nowe biblioteki (272)
    • Bierz udział w szkoleniach (273)
  • Podsumowanie (274)
  • Ćwiczenia (275)
Cena:    49.00zł


Myśl jak programista Techniki kreatywnego rozwiązywania problemówKsiążka informatyczna: Myśl jak programista Techniki kreatywnego rozwiązywania problemów
Księgarnia informatyczna aton.pl

Tutaj możesz kupić tę książkę w dobrej cenie. Zapraszamy na zakupy do naszej księgarni internetowej.