„miniLOGIA grafika w Logo” to konkurs informatyczny dla uczniów szkół podstawowych województwa mazowieckiego organizowany przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów (OEIiZK) na zlecenie Mazowieckiego Kuratora Oświaty. Konkurs składa się z trzech etapów, podczas których uczniowie samodzielnie rozwiązują zadania graficzne w językach Logo lub Python (z zainstalowanym modułem turtle).
W serii artykułów przedstawię rozwiązania zadań w języku Logo, opracowane przeze mnie podczas przygotowywania się do konkursu. Jako środowisko, w którym opracowywałem rozwiązania zadań wykorzystałem zalecane przez organizatora oprogramowanie Logomocja-Imagine.
Zadanie 2
Napisz jednoparametrową procedurę/funkcję drzewo, po wywołaniu której na ekranie powstają rysunki, takie jak poniżej. Parametr określa liczbę par liści w najniższej gałęzi i może przyjmować wartości od 1 do 9. Każda kolejna gałąź ma o jedną parę liści mniej, dwie najwyższe gałązki nie mają liści. Listki mają kształt trójkąta równobocznego o długości boku 15 i ogonku o długości 20. Odległości między liśćmi są takie same jak długości ogonków, a odległości pomiędzy gałązkami są dwa razy dłuższe. Gałązki wyrastają z pnia pod kątem 60 stopni.
Rozwiązanie:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
oto drzewo :ile cs niech "a 0 ukp "zielony4 ukm "zielony4 ws :ile/2*30 np 30 powtórz :ile+1[pien :ile :a niech "ile :ile-1 jeżeli :a=0[niech "a 1][niech "a 0]] pien 0 :a już =================================================== oto kawalek pw 45 lisc lw 90 lisc pw 45 np 20 już =================================================== oto lisc np 20 pw 30 wielokąt [powtórz 3 [np 15 lw 120]] lw 30 ws 20 już =================================================== oto patyk :ile np 20 powtórz :ile [kawalek] ws (:ile+1)*20 już =================================================== oto pien :ile :tak jeżeli :tak=0[lw 60 patyk :ile pw 60 np 30][pw 60 patyk :ile lw 60 np 30] już |
Wynik działania programu:
OWOC