„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
Napisz procedurę POSADZKA :ile, po wywołaniu której będą rysowane posadzki o długości boku 450 takie, jak poniżej. Parametr :ile określa liczbę małych trójkątów w jednym rzędzie wewnętrznej kwadratowej części posadzki. Może on zmieniać się w zakresie od 3 do 14. Rysunek powinien być na środku ekranu. Poniższe rysunki przedstawiają przykładowe wywołania procedury POSADZKA dla różnych wartości parametru :ile.
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 |
oto posadzka :ile ramka powtórz :ile [rzad :ile] wróć już =================================================== oto kaw niech "bok (pkw(450*450*2))/4 niech "bok2 225 ukm "żółty9 wielokąt [np :bok lw 90 np :bok lw 135 np :bok2 lw 135 ] lw 45 np :bok2 pw 135 ukm "zielony9 wielokąt [np :bok lw 90 np :bok lw 135 np :bok2 lw 135 ] lw 45 np :bok2 pw 45 już =================================================== oto kw :bok niech "bok2 pkw(:bok*:bok*2) ukm "zielony9 wielokąt[ np :bok pw 90 np :bok pw 135 np :bok2 pw 135 ] pw 90 ukm "żółty9 wielokąt [ np :bok lw 90 np :bok lw 135 np :bok2 lw 135 ] lw 90 np :bok już =================================================== oto ramka cs pod ws 225 lw 45 powtórz 4 [kaw] już =================================================== oto rzad :ile niech "bok (pkw(450*450*2))/2/:ile powtórz :ile [kw :bok] ws (pkw(450*450*2))/2 pw 90 np :bok lw 90 już |
Wynik działania programu:
POSADZKA 3