„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ę motyw, po wywołaniu której powstanie na środku ekranu rysunek złożony z kwadratów. Parametr określa liczbę czerwonych zygzaków na poziomym odcinku motywu i może przyjmować wartości od 3 do 8. Szerokość jest stała i wynosi 600.
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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
oto motyw :ile niech "bok 600/(22*:ile+1+11*2) cs pod np :bok*23/2 lw 90 np (:bok*22*:ile+1)/2+:bok/2 pw 90 opu rzad :ile zak :bok*23 pw 90 np :bok rzad :ile zak :bok*23 wróć opu już =================================================== oto kw :bok wielokąt [powtórz 4 [np :bok pw 90]] np :bok już =================================================== oto rzad :ile niech "bok 600/(22*:ile+1+11*2) powtórz :ile [zak :bok*23] pw 90 np :bok już =================================================== oto spl :wys opu niech "bok :wys/11 powtórz 11[kw :bok] ws :bok lw 90 powtórz 9[kw :bok] ws :bok lw 90 powtórz 8[kw :bok] ws :bok lw 90 powtórz 5[kw :bok] ws :bok lw 90 powtórz 4[kw :bok] ws :bok lw 90 powtórz 1[kw :bok] ws :bok lw 90 już =================================================== oto spp :wys opu niech "bok :wys/11 powtórz 11[kw :bok] pw 90 np :bok powtórz 9[kw :bok] pw 90 np :bok powtórz 8[kw :bok] pw 90 np :bok powtórz 5[kw :bok] pw 90 np :bok powtórz 4[kw :bok] pw 90 np :bok powtórz 1[kw :bok] pw 90 np :bok już =================================================== oto zak :szer niech "bok :szer/23 zygp :bok*12 zygl :bok*12 pw 180 już =================================================== oto zygl :szer ukm "czerwony niech "bok :szer/12 spl :szer/12*11 pod pw 90 np 6*:bok pw 90 np 5*:bok pw 180 ukm "zielony spl :bok*11 pod lw 90 np 4*:bok pw 90 np 6*:bok już =================================================== oto zygp :szer ukm "zielony niech "bok :szer/12 spp :szer/12*11 pod lw 90 np 6*:bok lw 90 np 5*:bok pw 180 ukm "czerwony spp :bok*11 pod lw 90 np 6*:bok pw 90 np 5*:bok pw 90 np 12*:bok lw 90 np :bok pw 180 już |
Wynik działania programu:
motyw 8