Instytut Matematyki Uniwersytet Gdański
Literatura I. Białynicki-Birula i I. Białynicka-Birula, Modelowanie rzeczywistości jak w komputerze postrzega się świat, Wyd. WNT, Warszawa, 2013. P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejestrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Literatura I. Białynicki-Birula i I. Białynicka-Birula, Modelowanie rzeczywistości jak w komputerze postrzega się świat, Wyd. WNT, Warszawa, 2013. P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejestrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Literatura I. Białynicki-Birula i I. Białynicka-Birula, Modelowanie rzeczywistości jak w komputerze postrzega się świat, Wyd. WNT, Warszawa, 2013. P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejestrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Literatura I. Białynicki-Birula i I. Białynicka-Birula, Modelowanie rzeczywistości jak w komputerze postrzega się świat, Wyd. WNT, Warszawa, 2013. P. Szlagowski, Programowanie wizualne scratch 2.0 SCRATCH jest językiem programowania, w którym możesz stworzyć własne interaktywne historyjki, animacje, gry i muzykę. Aby zaczać pracować ze Scratchem należy zarejestrować się na stronie: scratch.mit.edu/. A następnie przejść do zakładki stwórz.
Scratch-podstawy Wykonaj następujace zadania w Scratchu Przesuń swojego duszka w prawo. Następnie skręć w lewo i przesuń duszka do góry. Spraw, aby duszek po naciśnięciu spacji zmieniał kolor. Dodaj tło oraz nowego duszka. Spraw, aby pierwszy duszek przesuwał się naprzemiennie w prawo i w lewo. Drugi duszek ma coś mówić. Stwórz animacje podobna do prezentowanej na zajęciach (o podobnym stopniu trudności).
Scratch-podstawy Wykonaj następujace zadania w Scratchu Przesuń swojego duszka w prawo. Następnie skręć w lewo i przesuń duszka do góry. Spraw, aby duszek po naciśnięciu spacji zmieniał kolor. Dodaj tło oraz nowego duszka. Spraw, aby pierwszy duszek przesuwał się naprzemiennie w prawo i w lewo. Drugi duszek ma coś mówić. Stwórz animacje podobna do prezentowanej na zajęciach (o podobnym stopniu trudności).
Scratch-podstawy Wykonaj następujace zadania w Scratchu Przesuń swojego duszka w prawo. Następnie skręć w lewo i przesuń duszka do góry. Spraw, aby duszek po naciśnięciu spacji zmieniał kolor. Dodaj tło oraz nowego duszka. Spraw, aby pierwszy duszek przesuwał się naprzemiennie w prawo i w lewo. Drugi duszek ma coś mówić. Stwórz animacje podobna do prezentowanej na zajęciach (o podobnym stopniu trudności).
Scratch rysowanie figur Zadanie domowe (do 6.03.17) Przeczytać od str. 8 do str. 24 ksiażkę Programowanie wizualne scratch 2.0. Wykonać zadania od 8 do 17 str. 39-43. Zadanie domowe (zrobić na 20.02.17) Wykonać zadania 3 i 4 str. 37 oraz 6 str. 38 (z ksiażki Programowanie wizualne scratch 2.0) Poniższe zadania należy wykonać w programie Scratch. Zadanie 1 Narysuj kwadrat. Zrób to za pomoca dwóch różnych algorytmów. Czym te algorytmy się od siebie różnia? Zadanie 2 Narysuj trójkat równoboczny za pomoca dwóch różnych algorytmów. Zadanie 3 Narysuj sześciokat foremny oraz pięciokat foremny.
Scratch - zmienne i listy Zadanie 4 Narysuj okrag. Zadanie 5 Narysuj gwiazdę sześcioramienna, taka jak na poniższym rysunku. Zadanie 6 Napisać program, który po podaniu przed użytkownika długości boku kwadratu będzie obliczał jego pole. Zadanie 7 Napisać program, który po podaniu przed użytkownika długości boków prostokata będzie obliczał jego pole.
Scratch - zmienne i listy Zmienne i listy służa w Scratchu (w innych programach również) do przechowywania danych. Zmienne możemy traktować jako pojemnik, który umożliwia przechowywać różne przedmioty (liczby i tekst). Można je wypisywać, porównywać lub dokonywać na nich operacji matematycznych. Listy to narzędzie służace do przechowywania wielu danych w jednym miejscu. Można patrzeć na nie jak na zmienna, która zawiera w sobie wiele innych zmiennych. Uwaga: Aby ukryć zmienne lub listy w programie wystarczy je odhaczyć. Zadanie Zmodyfikować program z obliczaniem pola prostokata w ten sposób, aby program podawał odpowiedni komunikat w przypadku, gdy wprowadzania liczba nie będzie liczba dodatnia.
Scratch - zmienne i listy Zadanie 8 Napisz program rysujacy kolorowy kwiat (dokładny rysunek zostanie podany na ćwiczeniach). Napisanie tego programu rozbij na mniejsze zadania, które w ostateczności będa prowadziły do podania odpowiedniego algorytmu. Zadanie 9 Napisać program który będzie przepowiadał przyszłość w trzech dziedzinach: zdrowie, pieniadze, miłość. Jakiej struktury danych użyjesz w tym programie?
Algorytmy Algorytm to uporzadkowany opis postępowania przy rozwiazywaniu problemu z uwzględnieniem opisu danych i opisu kolejnych czynności, prowadzacy do jego rozwiazania w skończonym czasie. Algorytm możemy przedstawić w różniej formie: a) opis słowny; b) wypunktowana listę kroków; c) schemat blokowy; d) określony język programowania.
Specyfikacja zadania Specyfikacja zadania (problemu) jest opisem zadania, w którym wymienia się dane wejściowe i wyniki oraz zwiazek między danymi a wynikami (warunki jakie maja spełniać dane). Zadanie: Fabryka produkuje rocznie m samochodów osobowych i dostawczych. Oblicz, ile zostanie wyprodukowanych samochodów osobowych, jeśli produkcja samochodów dostawczych stanowi p% rocznej produkcji. Dane: Liczba naturalna m, liczba rzeczywista dodatnia p. Wynik: Liczba naturalna s, określajaca liczbę samochodów osobowych. Lista kroków: 1) Zacznij algorytm. 2) Wprowadź wartości: m i p. 3) Zmiennej s przypisujemy wartość wyrażenia: s := m pm 100. 4) Wyprowadź wynik: s. 5) Zakończ algorytm.
Algorytmy Zadanie domowe Narysuj schemat blokowy na podstawie listy kroków opisujacej algorytm rozwiazania zadania z produkcja samochodów. Zadanie 10 Ułożyć specyfikacje zadania oraz algorytm rozwiazania w postaci listy kroków dla następujacego zadania: Mamy trzy identyczne naczynia i wagę szalkowa bez odważników. W jednym naczyniu znajduje się 2/3 litra wody, dwa pozostałe sa puste. W jaki sposób odmierzyć dokładnie pół litra wody? Zadanie Czy zadanie z zagadka, problemem może być ciekawsze od typowego zadania z życia na układanie algorytmów?
Wydawanie reszty metoda zachłanna Problem Należy wydać resztę używajac jak najmniejszej liczby monet lub banknotów. Matoda zachłanna dla tego problemu polega na użyciu do wydania reszty największych możliwych nominałów (ale mniejszych od lub równych wydawanej wartości). Zanim zaczniemy wydawać resztę, musimy określić dostępne nominały (zapisujemy je w tablicy w kolejności malejacej). Algorytm zachłanny algorytm, który w celu wyznaczenia rozwiazania w każdym kroku dokonuje zachłannego, tj. najkorzystniejszego w danym kroku, rozwiazania czastkowego.
Wydawanie reszty metoda zachłanna Opis słowny algorytmu: Algorytm zaczynamy od sprawdzenia, czy wśród nominałów jest wartość mniejsza od lub równa reszcie (oznaczamy ja R). Jeśli odnaleziony nominał N jest równy R, to algorytm się kończy. Jeśli nie, to wybieramy największa możliwa liczbę L sztuk znalezionego nominału N mniejszego od R (zakładamy, że tablica nominałów posortowana jest malejaco). Liczbę tę otrzymujemy, dzielac R przez wartość odnalezionego nominału i biorac część całkowita z tego dzielenia. Następnie od reszty R odejmujemy wartość znalezionego nominału pomnożona przez liczbę nominałów wynikajacych z dzielenia. Szukanie powtarzamy wśród kolejnych nominałów dla pomniejszonej wartości R do czasu aż wypłacimy cała sumę.
Wydawanie reszty metoda zachłanna Zadanie 11 Korzystajac z podanego opisu, znajdź nominały, jakimi zostanie wydana reszta w wysokości 69 zł. Zbiór dostępnych nominałów to: {50, 20, 10, 5, 2, 1}. Pytanie Czy opis słowny algorytmu opisujacego wydawanie reszty jest łatwy do zrozumienia dla odbiorcy? Gdzie algorytm wydawania reszty może być stosowany? Zadanie domowe Na podstawie algorytmu wydawania reszty metoda zachłanna oraz rozwiazanego zadania napisz listę kroków oraz narysuj schemat blokowy do podanej specyfikacji. Dane: Zbiór nominałów {50, 20, 10, 5, 2, 1}, reszta R. Wynik: Liczba nominałów składajaca się na resztę R.
Schemat blokowy
Algorytm Euklidesa wyznaczania NWD Zadanie 12 Korzystajac z algorytmu Euklidesa wyznaczyć NWD liczb 28 i 21.
Algorytmy Zadanie: Obliczyć iloczyn n liczb całkowitych. Dane: n dowolnych liczb całkowitych, kolejno zapamiętywanych w zmiennej a. Wynik: wartość iloczynu: iloczyn. Lista kroków: 1. Zaczynamy algorytm. 2. Zmiennej iloczyn oraz i przypisujemy wartość jeden: iloczyn := 1; i := 1. 3. Wprowadzamy liczbę całkowita i zapamiętujemy ja w zmiennej a. 4. Pomnóż iloczyn przez wprowadzona liczbę a: iloczyn := iloczyn a. 5. Jeśli i nie jest równe n zwiększ licznik o jeden (i := i + 1) i wróć do kroku 3. 6. Wyprowadź wynik: iloczyn. 7. Zakończ algorytm.
Algorytmy Uwaga Każda z kolejno wprowadzanych liczb zapamiętujemy w zmiennej a (w ten sposób nie musimy korzystać z różnych zmiennych dla różnych liczb). Przypisanie i := i + 1 oznacza przypisanie wartości zmiennej i poprzedniej wartości tej zmiennej, powiększonej o 1. Zmienna i jest tzw. zmienna sterujac a pętli - steruje liczba wykonywanych kroków iteracji. Zadanie 13 1) Narysować schemat blokowy do listy kroków opisujacej wyznaczanie iloczynu n liczb całkowitych. 2) Na podstawie podanego algorytmu ułożyć w Scratchu program liczacy iloczyn pięciu dowolnych liczb całkowitych. 3) Zmodyfikować napisany program w ten sposób, aby liczbę liczb, która będzie mnożona podawał użytkownik programu. Niech duszek mówi, która z kolei liczbę właśnie podajemy oraz jaki jest wynik iloczynu.
Algorytmy Rodzaje algorytmów Algorytmy, w których nie określono żadnych warunków, sa nazywane algorytmami liniowymi. Algorytmy, w których wykonanie instrukcji uzależnione jest od spełnienia lub niespełnienia warunku, nazywane sa algorytmami warunkowymi. Iteracja w algorytmie polega na wielokrotnym powtarzaniu instrukcji. Algorytm rekurencyjny to taki, który wywołuje sam siebie, czasem wielokrotnie, do rozwiazania problemu.
Algorytmy warunkowe Najprostszym przypadku w algorytmie warunkowym mamy pojedynczy warunek do sprawdzenia. Jeśli warunek ten jest spełniony to program wykonuje określona czynność. Często w algorytmie warunkowym podaje się instrukcje, które maja być wykonane,gdy warunek nie jest spełniony. Zadanie 14 Napisać w Scratchu program w którym zadawane będzie pytanie: Ile jest 2 2? Jeśli użytkownik poda poprawna odpowiedź to program ma dać odpowiedź: Brawo. W przeciwnym razie program ma poinformować: a) Niestety 2 2 nie jest równe i tu podaje liczbę podana przez użytkownika. b) Niepoprawna odpowiedź i ma zadać ponowne to samo pytanie. Czynność ta ma być powtarzania aż użytkownik poda poprawna odpowiedź.
Algorytmy warunkowe Warunek w instrukcji warunkowej może też być złożonym warunkiem logicznym np. kilka pojedynczych warunków połaczonych spójnikami logicznymi: i, lub itp. Zadanie 15 Sprawdzić, czy odcinki o długościach a, b i c, będacych liczbami dodatnimi, można zbudować trójkat (dopilnuj, aby użytkownik musiał wpisywać liczby dodatnie). Napisz specyfikę tego zadania, algorytm w postaci listy kroków oraz program w Scratchu.
Algorytmy warunkowe Instrukcje warunkowe moga być zagnieżdżone (mówiac potocznie: jedna instrukcja warunkowa zawiera się w drugiej itd.) Zadanie 16 Jeśli uczeń otrzyma z testu z angielskiego od 0 do 50 procent to jest przyjmowany do grupy podstawowej, w przeciwnym razie do grupy zaawansowanej. a) Jeśli wprowadzona zostanie liczba spoza zakresu to program ma informować, że została wprowadzona liczba spoza zakresu (i nie pytać się ponownie). Napisać specyfikę zadania, ułożyć algorytm z zagnieżdżona instrukcja warunkowa w postaci schematu blokowego i napisać program dla tego algorytmu. b) W taki sposób zmodyfikować program, aby po wprowadzeniu liczby spoza zakresu program o tym poinformował i zapytał się ponownie o liczbę uzyskanych punktów (tu już nie jest wymagane, aby użyć zagnieżdżonej instrukcji warunkowej).
Iteracja i rekurencja Iteracja polega na wielokrotnym powtarzaniu tej samej operacji (ciagu operacji). Iteracje implementujemy, stosujac tzw. pętle. Z pętla mamy do czynienia, gdy w pewnym kroku algorytmu wracamy do jednego z wcześniejszych kroków, co powoduje, że kroki te moga być wykonane wiele razy.
Iteracja i rekurencja Jednym z najprostszych algorytmów iteracyjnych, który poznaja uczniowie w szkole jest iteracyjny algorytm obliczania silni (n! = 1 2 3 n).
Iteracja i rekurencja Zadanie 17 Ułożyć w Scrtatchu program wyznaczajacy n! (n - dowolna liczba całkowita nieujemna) za pomoca algorytmu iteracyjnego. Instrukcja iteracyjna może być zagnieżdżona, czyli instrukcja powtarzana w pętli może być kolejna instrukcja.
Iteracja i rekurencja Zadanie 18 Napisać program, który do dwóch list cyfry1 i cyfry2 wczytywał będzie cyfry. A następnie podawał kolejno wszystkie liczby dwucyfrowe, które na miejscu jednostek maja liczbę z listy cyfry1 a na miejscu dziesiatek cyfrę z listy cyfry2 (liczby nie musza być podawane w kolejności rosnacej lub malejacej). Wykonaj zadanie w kilku wersjach: a) Cyfry1 zawieraja wszystkie cyfry od 0 do 9, a cyfry2 zawieraja cyfry od 1 do 9. b) Cyfry do list podaje użytkownik (jakie ograniczenia trzeba nałożyć na wprowadzane przez użytkownika liczby). c) Dodaj do podpunktu b warunek, aby cyfry nie mogły się powtarzać na liście.
Iteracja i rekurencja Z rekurencja mamy do czynienia, gdy, określajac jakieś pojęcie odwołujemy się w definicji do niego samego. Na rysunku rekurencja jest przedstawiona w postaci zagłębiajacych się w siebie, podobnych, coraz to mniejszych figur.
Iteracja i rekurencja
Iteracja i rekurencja Jednym z najprostszych algorytmów iteracyjnych, który poznaja uczniowie w szkole jest rekurencyjny algorytm obliczania silni (n! = n (n 1)!).
Scratch - algorytmy rekurencyjne Od wersji 2.0, Scratch pozwala na tworzenie własnych bloczków. Tworzenie nowych bloczków można utożsamiać z procedurami (inaczej funkcja lub podprogram) w innych językach programowania. Procedura to wydzielona część programu wykonujaca jakieś operacje. Procedury stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.
Scratch - algorytmy rekurencyjne Zadanie 19 a) Stwórz bloczek rysujacy kwadrat o zadanej przez użytkownika długości boku. Kwadrat ma być zamalowany w środku. W tym celu wybierz zakładkę więcej bloków. Nie zapomnij przy definiowaniu bloczku dodać parametru liczbowego. Aby wypełnić kwadrat kolorem należy rysować coraz to mniejsze kwadraty. Dodaj program rysujacy kwadrat, który będzie korzystał ze zdefiniowanego bloczku. b) Korzystajac z podpunktu a) narysuj kolorowa szachownicę o wymiarach 3 3.
Scratch - algorytmy Uwaga: W celu zdefiniowania bloczku rysujacego zamalowany kwadrat użyliśmy algorytmu rekurencyjnego (występuje tu odwołanie procedury do samej siebie). Poprawnie działajaca procedura rekurencyjna powinna zawierać instrukcję jeżeli. Przykładem zadań w których wykorzystuje się algorytmy rekurencyjne może być rysowanie spiral, czy fraktali. Zadanie 20 Narysować spirale w kształcie sześciokata foremnego zaczynajac od najdłuższego odcinka. Każdy kolejny odcinek ma być krótszy o 1. W procedurze parametrem ma być długość najdłuższego odcinka, czyli użytkownik programu podaje długość najdłuższego odcinka spirali.
Zadanie 21 Zmodyfikować powyższa procedurę w ten sposób, aby rysowanie spirali zaczynało się od środka spirali. W każdym kolejnym ruchu niech długość boku zwiększa się o 5. W procedurze parametrami maja być długość najkrótszego boku spirali i liczba odcinków z ilu składa się spirala. Zadanie domowe Napisać algorytm i program rysujacy spirale w dowolnym kształcie wielokata foremnego (użytkownik podaje ilość boków).
Zadanie domowe Przeczytać ósmy rozdział (str. 84 95) z ksiazki Modelowanie rzeczywistości jak w komputerze postrzega się świat i na tej podstawie odpowiedź na pytania: a) Co to jest figura samopodobna? Co to sa fraktale? b) Co to jest definicja rekurencyjna (rekursywna)? Podaj przykłady jej zastosowania. c) W jaki sposób powstaje krzywa Kocha i trójkat Sierpińskiego? d) Gdzie znalazły zastosowanie fraktale w rzeczywistym życiu?
Zadanie domowe Przeczytać ósmy rozdział (str. 84 95) z ksiazki Modelowanie rzeczywistości jak w komputerze postrzega się świat i na tej podstawie odpowiedź na pytania: a) Co to jest figura samopodobna? Co to sa fraktale? b) Co to jest definicja rekurencyjna (rekursywna)? Podaj przykłady jej zastosowania. c) W jaki sposób powstaje krzywa Kocha i trójkat Sierpińskiego? d) Gdzie znalazły zastosowanie fraktale w rzeczywistym życiu?
Zadanie domowe Przeczytać ósmy rozdział (str. 84 95) z ksiazki Modelowanie rzeczywistości jak w komputerze postrzega się świat i na tej podstawie odpowiedź na pytania: a) Co to jest figura samopodobna? Co to sa fraktale? b) Co to jest definicja rekurencyjna (rekursywna)? Podaj przykłady jej zastosowania. c) W jaki sposób powstaje krzywa Kocha i trójkat Sierpińskiego? d) Gdzie znalazły zastosowanie fraktale w rzeczywistym życiu?
Zadanie domowe Przeczytać ósmy rozdział (str. 84 95) z ksiazki Modelowanie rzeczywistości jak w komputerze postrzega się świat i na tej podstawie odpowiedź na pytania: a) Co to jest figura samopodobna? Co to sa fraktale? b) Co to jest definicja rekurencyjna (rekursywna)? Podaj przykłady jej zastosowania. c) W jaki sposób powstaje krzywa Kocha i trójkat Sierpińskiego? d) Gdzie znalazły zastosowanie fraktale w rzeczywistym życiu?
Scratch - algorytmy Etapy budowy krzywej Kocha: 1) Podział odcinka o długości l na trzy równe części i zastapienie środkowej części dwoma odcinkami każdy o l długości 3 i nachyleniu względem odcinka o 60. (zobacz rysunek) 2) Każdy z czterech odcinków ponownie zostanie podzielony na 3 części, a środkowa znów zastapimy dwoma odcinkami tak jak w kroku 1. 3) Każdy z szesnastu odcinków zostanie podzielony na 3 części, a środkowa znów zastapimy dwoma odcinkami tak jak w kroku 1 itd.
Scratch - algorytmy
L-systemy i grafika żółwia Zbiór poleceń: F poruszaj się do przodu krokiem o stałej długości l i narysuj linię od poprzedniej pozycji do nowej, f poruszaj się do przodu, tak jak poprzednio, ale nie rysuj linii (podnieś ogon), + obróć się w lewo (przeciwnie do ruchu wskazówek zegara) o stały kat δ, obróć się w prawo (zgodnie z ruchem wskazówek zegara) o stały kat δ,
L-systemy i grafika żółwia L-system: krzywa Kocha Aksjomat: F Reguły podstępowania: F F + F F + F + + Parametr: δ = 60 Na każdym etapie długość kroku l jest pomniejszania do 1/3 długości.
L-systemy i grafika żółwia Zadanie 22 Za pomoca L-systemu krzywa Kocha zaprogramować rysowanie Krzywej Kocha w programie Scratch
L-systemy i grafika żółwia Zadanie 23 Napisać L-system rysujacy krzywa Kocha obrócona o 180. Zmodyfikować tak program z poprzedniego zadania, aby rysował tę krzywa.
L-systemy i grafika żółwia Zadanie24 Napisać L-system rysujacy losowa krzywa Kocha tzn. z prawdopodobieństwem 1/2 losuję regułę normalnej krzywej Kocha oraz z prawdopodobieństwem 1/2 losuję regułę obróconej o 180 krzywej Kocha. Zmodyfikować tak program z poprzedniego zadania, aby rysował tę krzywa. Poniżej pokazana jest tylko przykładowa losowa Krzywa Kocha. Przy każdym kolejnym uruchomieniu programu jej wyglad będzie inny.
Scratch - algorytmy Zadanie 25 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość krzywej Kocha jako figury fraktalnej? b) W oparciu o algorytm rysujacy krzywa Kocha narysuj płatek Kocha. c) Jaki jest obwód płatka Kocha? Czy pole płatka Kocha jest ograniczone?
Scratch - algorytmy Zadanie 25 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość krzywej Kocha jako figury fraktalnej? b) W oparciu o algorytm rysujacy krzywa Kocha narysuj płatek Kocha. c) Jaki jest obwód płatka Kocha? Czy pole płatka Kocha jest ograniczone?
Scratch - algorytmy Zadanie 25 a) Wyznacz długość krzywej Kocha na 1-szym, 2-gim i k-tym etapie jej rysowania. Jaka jest długość krzywej Kocha jako figury fraktalnej? b) W oparciu o algorytm rysujacy krzywa Kocha narysuj płatek Kocha. c) Jaki jest obwód płatka Kocha? Czy pole płatka Kocha jest ograniczone?
L-systemy i grafika żółwia Zadanie Napisać L-system dla krzywej Peano. Napisać program rysujacy tę krzywa w Scratchu.
Scratch - algorytmy Innym ciekawym przykładem fraktala jest drzewo binarne. Na poniższym rysunku pokazano kolejne kroki jego rysowania.
L-systemy i grafika żółwia [ - oznacza poczatek rozgałęzienia ] - oznacza koniec rozgałęzienia X - oznaczaj cy rozgałęzienie L-system: drzewo Aksjomat: X Reguły postępowania: Parametr: δ = 22 F F X F[+X][ X] + +
L-systemy i grafika żółwia Zadanie 26 Za pomoca L-systemu zaprogramować rysowanie drzewa w programie Scratch. Zadanie 27 Zmodyfikować program z poprzedniego zadania, aby rysował drzewo losowe w ten sposób, że losowany jest kat δ = 10, δ = 30 lub δ = 60. Każdy z tych katów może być wylosowany z prawdopodobieństwem 1/3. Uruchom kilka razy program za każdym razem wybierajac etap 6 i długość pnia 50.