„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 1
Napisz procedurę PALMA, po wywołaniu której będzie rysowana palma taka, jak na rysunku obok. Wysokość palmy jest nie mniejsza niż 400.
Rozwiązanie:
oto PALMA cale 23 już =================================================== oto cale :bok cs pod ws 200 lw 90 np :bok*1.5 pw 90 pien :bok korona :bok wróć już =================================================== oto korona :bok warstwa :bok pw 30 np :bok lw 60 np :bok*2 pw 30 liscp :bok 4 liscl :bok 4 liscl :bok 4 liscp :bok 4 już =================================================== oto liscl :bok :ile powtórz :ile [romb :bok lw 30 np :bok lw 30 np :bok pw 30] romb :bok pw 180 już =================================================== oto liscp :bok :ile powtórz :ile [romb :bok lw 30 np :bok pw 30 np :bok pw 30] romb :bok pw 180 już =================================================== oto oba :bok rzad :bok 2 rzad :bok 3 już =================================================== oto pien :bok podstawa :bok powtórz 7 [oba :bok] już =================================================== oto podstawa :bok ukp "czarny ukm "brązowy rzad :bok 3 lw 150 np :bok pw 150 ukp "biały ukm "biały pw 90 wielokąt [powtórz 2 [np (:bok*3) pw 90 np :bok pw 90]] ukp "czarny ukm "brązowy lw 60 np :bok lw 30 już =================================================== oto romb :bok pw 30 wielokąt [powtórz 2 [np :bok pw 120 np :bok pw 60]] np :bok pw 120 np :bok lw 150 już =================================================== oto rzad :bok :ktory powtórz :ktory [romb :bok] lw 180 powtórz :ktory [romb :bok] pw 180 jeśli :ktory=3[pw 30 np :bok lw 30] jeśli :ktory=2[lw 30 np :bok pw 30] już =================================================== oto warstwa :bok ukm "zielony liscl :bok 6 liscp :bok 6 pw 30 np :bok lw 30 romb :bok pw 30 ws :bok lw 30 liscp :bok 6 liscl :bok 6 już
Wynik działania programu:
PALMA