„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 procedurę ZAMEK :n, po wywołaniu której na ekranie powstanie rysunek zamku taki, jak na rysunkach poniżej. Długość boku trójkąta tworzącego daszek wieży jest większa od długości boku kwadratu tworzącego okienko o 4 1 jego długości. Parametr :n określa liczbę okienek zamku i może przyjmować wartości od 4 do 24. Szerokość zamku jest stała i wynosi 760
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 |
oto zamek :ile tlo :ile wieze :ile rzad :ile już =================================================== oto wieze :ile niech "bok (760/(:ile*2+1))*1.25 niech "bok2 760/(:ile*2+1) np :bok2*4 ukm "czerwony lw 90 np :bok2*0.125 pw 90 tr :bok pw 90 np :bok2+:bok2*0.125 pw 90 np :bok2 lw 90 np (:bok2*(:ile*2-3)) lw 90 np :bok2 lw 90 np :bok2*0.125 pw 90 tr :bok pw 90 np :bok2*1.125 pw 90 np :bok2 lw 90 np :bok2 lw 90 np :bok2 lw 90 np :bok2*0.125 pw 90 tr :bok pw 90 np :bok2*1.125 pw 90 np :bok2*4 pw 90 np 760 pw 90 już =================================================== oto tr :bok pw 30 wielokąt [powtórz 3[np :bok pw 120]] lw 30 już =================================================== oto tlo :ile cs pod niech "bok 760/(:ile*2+1) ws :bok*2.5 lw 90 np 760/2 pw 90 opu ukm "szary wielokąt [np (:bok*4) pw 90 np :bok pw 90 np :bok lw 90 np (:bok*(:ile*2-3)) lw 90 np :bok pw 90 np :bok pw 90 np :bok lw 90 np :bok lw 90 np :bok pw 90 np :bok pw 90 np (:bok*4) pw 90 np 760 pw 90 ] już =================================================== oto rzad :ile ukm "jasnoniebieski niech "bok 760/(:ile*2+1) pod np :bok pw 90 np :bok lw 90 powtórz :ile [kw :bok] już =================================================== oto kw :bok opu wielokąt [powtórz 4 [np :bok pw 90]] pw 45 np pkw(:bok*:bok*2) ws (pkw(:bok*:bok*2))/2 pw 90 np (pkw(:bok*:bok*2))/2 ws (pkw(:bok*:bok*2)) lw 45 pod np :bok*2 pw 90 np :bok pw 180 już |
Wynik działania programu:
zamek 9