„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:
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
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