Ćwiczenia¶
Użyj funkcji draw_square, którą zdefiniowaliśmy w tej części w programie, rysującym poniższy rysunek. Załóż, że każdy bok ma 20 jednostek. (Wskazówka: zauważ, że żółw odszedł od punktu końcowego ostatniego kwadratu w końcu programu.)
Napisz program rysujący poniższy rysunek. Załóż, że najmniejszy wewnętrzny kwadrat ma bok o długości 20 jednostek, a kolejny, większy kwadrat ma bok większy o 20 jednostek od poprzedniego.
Napisz funkcję nie zwracającą wartości draw_poly(zolw, boki, wielkosc) która za pomocą żółwia rysuje wielokąt regularny. Jeżeli wywołamy draw_poly(tess, 8, 50), to narysuje taki oto kształt:
Narysuj ten piękny wzorek.
Napisz funkcję nie zwracającą wartości draw_equitriangle(someturtle, somesize), która bezpośrednio wywoła funkcję draw_poly z jednego z poprzednich zadań po to ,by narysować trójkąt równoboczny za pomocą żółwia.
Napisz funkcję, zwracającą wartość sum_to(n), która oblicza sumę wszystkich liczb naturalnych mniejszych lub równych n. W takim przypadku wywołanie sum_to(n), będzie oznaczać 1+2+3+...+10, i powinniśmy dostać 55. Do obliczenia tej sumy użyj równania (n * (n + 1)) / 2.
Napisz funkcję area_of_circle(r), zwracającą pole koła o promieniu r. Upewnij się, że do rozwiązania użyjesz modułu math.
Napisz funkcję niezwracającą wartości, aby narysować gwiazdę pięcioramienną, której ramiona mają długość 100 jednostek.
Rozwiń powyższy program. Narysuj pięć gwiazd, ale pomiędzy każdą podnieś rysik, przenieś się do przodu o 350 jednostek, obróć o 144, opuść rysik i narysuj kolejną gwiazdę. Powinieneś dostać podobny rysunek (zauważ, że musisz przesunąć się w lewo rysując pierwszą gwiazdę, by zmieścić wszystko w jednym oknie):
Jak by wyglądał rysunek, gdybyście nie podnieśli rysika?
Rozwiń funkcję rysującą gwiazdę, aby móc narysować gwiazdę n-ramienną. (Wskazówka: n musi być liczbą nieparzystą większą lub równą 3).
Napisz funkcję draw_sprite, rysującą gąsiennicę. Funkcja będzie potrzebować parametrów, trzymających instancję żółwia, liczbę nóg oraz ich długość. Wywołaj tę funkcję, by narysowała gąsiennicę z 15 nogami o długości 120 jednostek.
Przepisz funkcję sum_to(n) zwracającą sumę wszystkich liczb naturalnych do n włącznie. Tym razem użyj wzorca inkrementalnego.
Napisz funkcję my_sqrt, która będzie przybliżała pierwiastek kwadratowy danej liczby n, używając algorytmu Newtona. Jest to algorytm iteracyjny, gdzie pierwsza rozwiązanie dane jest przez n/2, a każde kolejne obliczane jest ze wzoru newguess = (1/2) * (oldguess + (n/oldguess)).
Skonstruuj funkcję my_pi, która zwróci przybliżenie liczby PI (3,1415…). Użyj przybliżenia Leibniza
Napisz funkcję my_pi, która obliczy przybliżoną wartość PI (3,1415…) za pomocą metody Madhava
Zbuduj funkcję draw_fancy_square, która narysuje kwadrat z fantazyjnymi rogami (z kolcami w rogach). Użyj funkcji draw_sprite z zadania wcześniejszego. Aby dostać jeszcze ciekawszy wygląd można na końcach kolców dorysować małe trójkąty.