„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
Na rysunkach poniżej przedstawione są labirynty o różnych stopniach złożoności: 2, 3 oraz 6. Napisz procedurę LABIRYNT :n, po wywołaniu której, powstanie na środku ekranu rysunek labiryntu o złożoności :n. Odległości pomiędzy ścianami wynoszą 10. Parametr :n przyjmuje wartości od 2 do 10.
Rozwiązanie:
oto labirynt :n cs pod ws 5 np :n*10 lw 90 np 5 np (:n+1)*10 pw 180 kaw1 :n kaw2 :n kaw1 :n kaw2 :n wróć np 5 np :n*20 pw 90 opu np 5 ws 10 pod pw 90 np 10 np :n*40 lw 90 opu np 10 wróć już =================================================== oto kaw1 :ile opu powtórz :ile [ np npw*20 lw 90 np npw*20 lw 90 np 10+(npw-1)*20 lw 90 np 10 pw 90 np 20 lw 90 np npw*20 lw 90 ] pod np :ile*10 pw 90 np (:ile-1)*10 lw 90 już =================================================== oto kaw2 :ile opu powtórz :ile [ np npw*20 pw 90 np npw*20 pw 90 np 10+(npw-1)*20 pw 90 np 10 lw 90 np 20 pw 90 np npw*20 pw 90 ] pod np :ile*20 np 30 np :ile*10 pw 90 np :ile*10 pw 90 już
Wynik działania programu:
LABIRYNT 10