- -5%
ebook Matematyczne przygody z Pythonem
Peter Farrell
Wydawca:
Wydawnictwo Naukowe PWN
Rok wydania:
2019
Książka Matematyczne przygody z Pythonem pokaże, jak za pomocą narzędzi programistycznych sprawić, że nauka stanie się praktyczniejsza i ciekawsza. Korzystając z języka programowania Python, nauczysz się wizualizować rozwiązania różnych problemów matematycznych, używając kodu do studiowania kluczowych dziedzin matematyki, takich jak algebra, trygonometria, macierze i automaty komórkowe.
Po opanowaniu podstaw programowania, takich jak pętle czy zmienne, napiszesz własny program do szybkiego rozwiązywania równań, osiągania ciekawych efektów, takich jak kolorowanie siatki tęczą za pomocą myszy, a także automatyzowania żmudnych zadań, takich jak obliczanie silni liczb czy znajdowanie pierwiastków kwadratowych. Nauczysz się pisać funkcje do rysowania i przekształcania figur, tworzenia oscylujących fal sinusoidalnych oraz graficznego rozwiązywania równań.
Ponadto dowiesz się jak:
rysować i przekształcać dwuwymiarowe i trójwymiarowe obiekty graficzne przy użyciu macierzy, rysować kolorowe wzory, takie jak zbiory Mandelbrota czy Julii za pomocą liczb zespolonych, używać rekurencji do tworzenia fraktali, takich jak płatek Kocha czy trójkąt Sierpińskiego, generować wirtualne owce, które skubią trawę i rozmnażają się, łamać tajne kody za pomocą algorytmów genetycznych. Wykonując zamieszczone w tej książce liczne przykłady i ćwiczenia o rosnącym poziomie trudności, będziesz programować własne rozwiązania i tworzyć piękne wizualizacje, a przy okazji zobaczysz, o ile ciekawsza może być nauka matematyki!
Po opanowaniu podstaw programowania, takich jak pętle czy zmienne, napiszesz własny program do szybkiego rozwiązywania równań, osiągania ciekawych efektów, takich jak kolorowanie siatki tęczą za pomocą myszy, a także automatyzowania żmudnych zadań, takich jak obliczanie silni liczb czy znajdowanie pierwiastków kwadratowych. Nauczysz się pisać funkcje do rysowania i przekształcania figur, tworzenia oscylujących fal sinusoidalnych oraz graficznego rozwiązywania równań.
Ponadto dowiesz się jak:
rysować i przekształcać dwuwymiarowe i trójwymiarowe obiekty graficzne przy użyciu macierzy, rysować kolorowe wzory, takie jak zbiory Mandelbrota czy Julii za pomocą liczb zespolonych, używać rekurencji do tworzenia fraktali, takich jak płatek Kocha czy trójkąt Sierpińskiego, generować wirtualne owce, które skubią trawę i rozmnażają się, łamać tajne kody za pomocą algorytmów genetycznych. Wykonując zamieszczone w tej książce liczne przykłady i ćwiczenia o rosnącym poziomie trudności, będziesz programować własne rozwiązania i tworzyć piękne wizualizacje, a przy okazji zobaczysz, o ile ciekawsza może być nauka matematyki!
Spis treści ebooka Matematyczne przygody z Pythonem
Podziękowania xvWprowadzenie xvii
Problemy ze szkolną matematyką xviii
O tej książce xx
Kto powinien skorzystać z tej książki xxi
Co można znaleźć w tej książce? xxi
Pobieranie i instalowanie Pythona xxii
Uruchamianie IDLE xxiii
Instalowanie oprogramowania Processing xxiii
CZĘŚĆ I: ZAPRZĘGAMY PYTHONA DO PRACY 1
1. Rysowanie wielokątów przy użyciu modułu turtle 3
Moduł turtle Pythona 4
Importowanie modułu turtle 4
Ruch żółwiem 5
Zmiana kierunku 6
Powtarzanie kodu za pomocą pętli 7
Wykorzystywanie pętli for 7
Wykorzystywanie pętli for do rysowania kwadratu 9
Tworzenie skrótów za pomocą funkcji 9
Wykorzystywanie zmiennych do rysowania kształtów 10
Wykorzystywanie zmiennych w funkcjach 11
Błędy zmiennych 12
Trójkąt równoboczny 13
Pisanie funkcji triangle() 13
Zmienianie zmiennych 14
Podsumowanie 16
2. Zamienianie żmudnej arytmetyki w zabawę przy użyciu list i pętli 19
Podstawowe operatory 19
Działania na zmiennych 20
Wykorzystywanie operatorów do pisania funkcji average() 21
Pamiętaj o kolejności wykonywania działań! 21
Wykorzystywanie nawiasów w połączeniu z operatorami 22
Typy danych w Pythonie 22
Liczby całkowite i zmiennoprzecinkowe 22
Łańcuchy 23
Wartości logiczne 24
Sprawdzanie typów danych 24
Wykorzystywanie list do przechowywania wartości 25
Dodawanie elementów do list 26
Działania na listach 26
Usuwanie elementów z listy 27
Stosowanie list w pętlach 27
Uzyskiwanie dostępu do poszczególnych elementów przy użyciu indeksów 28
Uzyskiwanie dostępu do indeksu i wartości przy użyciu funkcji enumerate() 29
Indeksy rozpoczynają się od zera 29
Uzyskiwanie dostępu do zakresu elementów listy 29
Znajdowanie indeksu elementu 30
Łańcuchy również mają indeksy 31
Sumowanie 31
Tworzenie zmiennej sumy bieżącej 32
Pisanie funkcji mysum() 33
Znajdowanie średniej dla listy liczb 33
Podsumowanie 34
3. Zgadywanie i sprawdzanie przy użyciu instrukcji warunkowych 37
Operatory porównań 38
Podejmowanie decyzji przy użyciu instrukcji if oraz else 38
Wykorzystywanie instrukcji warunkowych do znajdowania dzielników 40
Pisanie programu factors.py 40
Wędrujący żółw 41
Tworzenie gry w zgadywanie liczb 43
Tworzenie generatora liczb losowych 44
Zbieranie danych 44
Zamiana danych wejściowych na liczby całkowite 45
Wykorzystywanie instrukcji warunkowych do sprawdzania prób odgadnięcia 45
Wykorzystywanie pętli do ponawiania prób odgadnięcia 46
Wskazówki dotyczące zgadywania 47
Znajdowanie pierwiastka kwadratowego 48
Stosowanie logiki gry w zgadywanie liczb 48
Pisanie funkcji squareroot() 49
Podsumowanie 50
CZĘŚĆ II: WJEŻDŻAMY NA TERYTORIUM MATEMATYKI 51
4. Przekształcanie i przechowywanie liczb zgodnie z zasadami algebry 53
Rozwiązywanie równań pierwszego stopnia 54
Znajdowanie wzoru dla równań pierwszego stopnia 55
Pisanie funkcji equation() 56
Zastosowanie print() zamiast return 57
Rozwiązywanie równań wyższego stopnia 58
Rozwiązywanie równań kwadratowych przy użyciu funkcji quad() 59
Rozwiązywanie równań sześciennych przy użyciu funkcji plug() 60
Graficzne rozwiązywanie równań 61
Rozpoczęcie pracy z Processingiem 61
Tworzenie własnego narzędzia graficznego 63
Rysowanie wykresu równania 69
Znajdowanie pierwiastków przy użyciu metody zgadywania i sprawdzania 73
Pisanie funkcji guess() 73
Podsumowanie 75
5. Przekształcanie figur przy użyciu geometrii 77
Rysowanie okręgu 78
Określanie położenia przy użyciu współrzędnych 79
Funkcje przekształceń 80
Translacje obiektów z wykorzystaniem funkcji translate() 80
Obracanie obiektów z wykorzystaniem funkcji rotate() 83
Rysowanie okręgu okręgów 84
Rysowanie okręgu kwadratów 85
Animowanie obiektów 86
Tworzenie zmiennej t 86
Obracanie poszczególnych kwadratów 87
Zapisywanie orientacji przy użyciu funkcji pushmatrix() i popmatrix() 88
Obrót wokół środka 89
Tworzenie interaktywnej siatki tęczy 89
Rysowanie siatki obiektów 90
Dodawanie kolorów tęczy do obiektów 91
Rysowanie złożonych wzorów przy użyciu trójkątów 93
Trójkąt 30-60-90 94
Rysowanie trójkąta równobocznego 96
Rysowanie wielu obracających się trójkątów 98
Przesunięcia fazowe obrotu 99
Kończenie projektu 100
Podsumowanie. 102
6. Tworzenie oscylacji przy użyciu trygonometrii 103
Wykorzystywanie trygonometrii do obrotów i oscylacji 105
Pisanie funkcji do rysowania wielokątów 106
Rysowanie sześciokąta za pomocą pętli 107
Rysowanie trójkąta równobocznego 109
Tworzenie fal sinusoidalnych 110
Pozostawianie śladu 113
Korzystanie z wbudowanej funkcji Pythona enumerate() 114
Tworzenie programu spirografu 116
Rysowanie mniejszego okręgu 116
Wprawianie mniejszego okręgu w ruch 117
Tworzenie harmonografów 120
Pisanie programu harmonografu 121
Natychmiastowe wypełnianie listy 123
Co dwa wahadła to nie jedno 124
Podsumowanie. 126
7. Liczby zespolone 127
Układ współrzędnych płaszczyzny zespolonej 128
Dodawanie liczb zespolonych 129
Mnożenie liczby zespolonej przez i 130
Mnożenie dwóch liczb zespolonych 131
Pisanie funkcji magnitude() 132
Tworzenie zbioru Mandelbrota 132
Pisanie funkcji mandelbrot() 135
Dodawanie koloru do zbioru Mandelbrota 139
Tworzenie zbioru Julii 141
Pisanie funkcji julia() 141
Podsumowanie 143
8. Wykorzystywanie macierzy do grafiki komputerowej i układów równań 145
Co to jest macierz? 146
Dodawanie macierzy 146
Mnożenie macierzy 147
Kolejność ma znaczenie w mnożeniu macierzy 151
Rysowanie kształtów 2D 151
Przekształcanie macierzy 154
Transpozycja macierzy 156
Obracanie macierzy w czasie rzeczywistym 160
Tworzenie kształtów 3D 161
Tworzenie macierzy obrotu 162
Rozwiązywanie układów równań przy użyciu macierzy 166
Metoda eliminacja Gaussa 167
Pisanie funkcji gauss() 168
Podsumowanie 172
CZĘŚĆ III: PRZECIERAMY SZLAKI 173
9. Budowanie obiektów przy użyciu klas 175
Program z odbijającymi się piłkami 177
Wprawianie piłki w ruch 178
Odbijanie piłki od ścian 179
Tworzenie wielu piłek bez użycia klas 181
Tworzenie obiektów przy użyciu klas 182
Program z pasącymi się owcami 186
Pisanie klasy owcy 186
Programowanie ruchu owcy 187
Tworzenie właściwości energii 189
Tworzenie trawy przy użyciu klas 189
Zmiana koloru trawy na brązowy po jej zjedzeniu 192
Nadawanie każdej owcy losowego koloru 194
Programowanie rozmnażania się owiec 196
Odrastanie trawy 197
Zapewnianie przewagi ewolucyjnej 198
Podsumowanie 200
10. Tworzenie fraktali przy użyciu rekurencji 201
Długość wybrzeża 202
Co to jest rekurencja? 203
Pisanie funkcji factorial() 203
Budowanie drzewa fraktalnego 204
Płatek Kocha 209
Pisanie funkcji segment() 210
Trójkąt Sierpińskiego 214
Fraktal bazujący na kwadracie 216
Krzywa smocza 220
Podsumowanie 224
11. Automaty komórkowe 225
Tworzenie automatu komórkowego 226
Pisanie klasy Cell 228
Zmienianie rozmiaru wszystkich komórek 230
Programowanie rozwoju automatu komórkowego 231
Umieszczanie komórek w macierzy 232
Tworzenie listy komórek 233
Listy Pythona są dziwne 234
Notacja indeksów listy 235
Automatyczny rozwój automatu komórkowego 238
Zasady gry w życie 238
Elementarny automat komórkowy 241
Podsumowanie 246
12. Rozwiązywanie problemów przy użyciu algorytmów genetycznych 247
Wykorzystywanie algorytmów genetycznych do zgadywania fraz 248
Pisanie funkcji makelist() 248
Testowanie funkcji makelist() 249
Pisanie funkcji score() 250
Pisanie funkcji mutate() 250
Generowanie liczby losowej 251
Rozwiązywanie problemu komiwojażera 254
Wykorzystywanie algorytmów genetycznych 254
Pisanie metody calclength() 260
Testowanie metody calclength() 261
Losowe trasy 262
Stosowanie idei mutacji z programu do odgadywania fraz 265
Modyfikowanie dwóch numerów z listy 265
Krzyżowanie w celu ulepszenia tras 269
Podsumowanie 272
Indeks 273
Szczegóły ebooka Matematyczne przygody z Pythonem
- Wydawca:
- Wydawnictwo Naukowe PWN
- Rok wydania:
- 2019
- Typ publikacji:
- Ebook
- Język:
- polski
- Format:
- ISBN:
- 978-83-01-20823-3
- ISBN wersji papierowej:
- 978-83-01-20823-3
- Wydanie:
- 1
- Autorzy:
- Peter Farrell
- Tłumacze:
- Natalia Chounlamany-Turalska
- Miejsce wydania:
- Warszawa
- Liczba Stron:
- 276
Recenzje ebooka Matematyczne przygody z Pythonem
-
Reviews (0)
Na jakich urządzeniach mogę czytać ebooki?
Na czytnikach Kindle, PocketBook, Kobo i innych
Na komputerach stacjonarnych i laptopach
Na telefonach z systemem ANDROID lub iOS
Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub
- -5%
-5%
69,00 zł
65,63 zł
@CUSTOMER_NAME@
@COMMENT_TITLE@
@COMMENT_COMMENT@