„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ę o nazwie SZTANGA :n, która będzie rysowała sztangę taką, jak na rysunkach obok. Parametr :noznacza liczbę ciężarków po jednej stronie. Może on zmieniać się w zakresie od 1 do 12.
Grubość ciężarków wynosi 10, odstępy między ciężarkami też wynoszą 10. Wielkość pierwszego największego ciężarka zawsze wynosi 250, a każdy następny jest mniejszy o 20. Sztanga powinna być narysowana na środku ekranu, jej szerokość wynosi 600. Na rysunkach przedstawiono wyniki wywołania procedury SZTANGA dla trzech różnych wartości parametru :n.
Rozwiązanie:
oto sztanga :n cs ukp "niebieski pw 90 pr 600 np 300 lw 90 p :n wróć lw 90 np 300 pw 90 l :n wróć już =================================================== oto pr :bok ws :bok/2 lw 90 np 5 pw 90 wielokąt [powtórz 2 [np :bok pw 90 np 10 pw 90]] lw 90 ws 5 pw 90 np :bok/2 już =================================================== oto p :ile lw 90 np 15 pw 90 niech "bok 250-(:ile*20) powtórz :ile [kawp :bok+npw*20] już =================================================== oto l :ile pw 90 np 15 lw 90 niech "bok 250-(:ile*20) powtórz :ile [kawl :bok+npw*20] już =================================================== oto kawp :bok pr :bok lw 90 np 20 pw 90 już =================================================== oto kawl :bok pr :bok pw 90 np 20 lw 90 już
Wynik działania programu:
SZTANGA 12