„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 3
Zadanie 3
Posadzka jest kwadratem, który składa się z dwóch rodzajów elementów. Kolory zamalowanych elementów, to żółty i niebieski, ramka powinna być koloru czerwonego, tak jak widać na rysunkach (odcień kolorów jest dowolny). Napisz procedurę POSADZKA :n, po wywołaniu której będą rysowane takie posadzki. Parametr :n jest liczbą naturalną (może przyjmowaćwartości od 1 do 10). Rysunek powinien być na środku ekranu. Bok dużego kwadratu powinien dla każdej wartości parametru :n wynosić 300. Na rysunkach mamy przykładowe wywołania procedury POSADZKA z różnymi wartościami parametru :n.
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 83 84 85 86 87 88 89 90 |
oto posadzka :n niech "a 300/(:n*8+2) cs pod ws 150 lw 90 np 150 pw 90 ukp "czerwony kw 300 np :a pw 90 np :a lw 90 powtórz :n [kol :n] wróć już =================================================== oto x :a niech "b pkw (:a*2*:a) wielokąt [powtórz 4 [ np :a pw 45 np :b lw 90 np :b pw 45 np :a pw 90] ] już =================================================== oto kw :bok wielokąt [powtórz 4 [np :bok pw 90]] już =================================================== oto kaw :a ukp "niebieski d :a pw 90 np :a*4 lw 90 ukp "żółty x :a ukp "niebieski np :a*4 d :a lw 90 np :a*4 pw 90 ukp "żółty x :a pod np :a*4 już =================================================== oto d :a niech "b pkw (:a*:a*2) wielokąt [powtórz 4 [ np :a lw 45 np :b pw 90 np :b lw 45 np :a pw 90 ]] już =================================================== oto kol :n niech "a 300/(:n*8+2) powtórz :n[ kaw :a ] ws :a*8*:n pw 90 np :a*8 lw 90 już |
Wynik działania programu:
POSADZKA 10