Hobbyspace.pl – blog dla hobbystów

Porady, projekty, recenzje dla fanów elektroniki i programowania

  • O blogu
  • Strona główna

Social

Szukaj

Kategorie

  • Arduino
  • Bez kategorii
  • FPGA
  • Logomocja
  • Raspberry Pi
  • Robotyka
  • STM32
  • WiFi

Ostatnie wpisy

  • Instalacja Raspberry Pi Camera v2
  • Raspberry Pi – włączenie SSH
  • Podłączenie Raspberry Pi do Internetu
  • Zmiana układu klawiatury Raspberry Pi
  • Raspbian – logowanie się do systemu, zmiana hasła, dodawanie i usuwanie użytkowników, zmiana uprawnień

Najnowsze komentarze

  • Darek - RNS-510 – aktualizacja mapy z karty SD
  • Tomasz - Jak przywrócić pełną pojemność karty SD?
  • Mirek - RNS-510 – aktualizacja mapy z karty SD
  • Skodnik4x4 - RNS-510 – aktualizacja mapy z karty SD
  • seniak2 - RNS-510 – aktualizacja mapy z karty SD

Archiwa

  • wrzesień 2017
  • lipiec 2017
  • czerwiec 2017
  • kwiecień 2017
  • marzec 2017
  • listopad 2016
  • sierpień 2016
  • lipiec 2016
  • czerwiec 2016
  • maj 2016
  • marzec 2016
  • luty 2016
  • styczeń 2016
  • grudzień 2015
  • listopad 2015
  • październik 2015
  • wrzesień 2015
  • lipiec 2015

Rozwiązanie zadania 3 z konkursu miniLOGIA 10 (2011/12) etap 2

14 czerwca 2016 przez ZKeram·Możliwość komentowania Rozwiązanie zadania 3 z konkursu miniLOGIA 10 (2011/12) etap 2 została wyłączona
Fb-Button

„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ę RAMKA :n, po wywołaniu której na środku ekranu powstanie ramka taka, jak na rysunkach poniżej. Ramka składa się z elementów takich, jak na rysunku pomocniczym. Parametr :n określa liczbę obwódek dookoła ramki i może przyjmować wartości od 1 do 10. Długość boku zielonego kwadratu wynosi 480.

Rozwiązanie:

oto pomocniczy :bok :ktory
 niech "pier pkw(:bok*:bok*2)
 wielokąt [powtórz 2 [np :bok
 pw 45
 np ((pkw(:bok*:bok*2))*4)
 pw 90
 np ((pkw (:bok*:bok*2))*3)
 lw 90
 np :pier
 lw 90
 np :pier
 pw 45
 np :bok
 pw 90
 np :bok
 pw 45
 np :pier
 lw 90
 np :pier
 pw 45
 np :bok
 pw 90
 ]]
 np :bok
 pw 45
 np ((pkw(:bok*:bok*2))*4)
 pw 90
 np ((pkw (:bok*:bok*2))*3)
 lw 90
 np :pier
 lw 90
 np :pier
 pw 45
 np :bok
 pw 90
 np :bok
 pw 45
 np :pier
 lw 90
 np :pier
 pw 45
 np :bok
 pw 180
 jeśli :ktory=1[pw 90
 ws :bok
 pw 45
 ws :pier*4
 pw 45
 pod
 np :bok
 lw 90
 opu
 ]
już

===================================================

oto ramka :n
 cs
 pod
 ukm "zielony
 ws 480/2
 lw 90
 np 480/2
 pw 90
 opu
 niech "wys 480
 niech "bok :wys/(:n*8+5+3)
 wielokąt [powtórz 4 [np 480 pw 90]]
 pw 90
 np :bok*5
 lw 90
 ukm "pomarańczowy
 powtórz :n [warstwa :wys :n
 
 niech "wys :wys-2*:bok*5
 niech "bok :wys/(:n*8+5+3)]
 wróć
już

===================================================

oto rzad :wys :ile
 niech "bok :wys/(:ile*8+5+3)
 powtórz :ile-1[pomocniczy :bok 1]
 pomocniczy :bok 0
już

===================================================

oto warstwa :wys :ile
 niech "bok :wys/(:ile*8+5+3)
 niech "pier pkw(:bok*:bok*2)
 niech "bok2 (:wys-2*:bok*5)/(:ile*8+5+3)
 powtórz 4 [rzad :wys :ile]
 np :bok
 pw 45
 np :pier*4
 lw 135
 pod
 np :bok*4
 ws :bok2*5
 pw 90
 opu
już

Wynik działania programu:

 

RAMKA 10

 

Plik Logomocji z rozwiązaniem zadania do pobrania.

Imagine Logo Logomocja miniLOGIA

Nawigacja wpisu

Poprzedni Poprzedni wpis TPMS – wymiana baterii w czujnikach ciśnienia
Next Poprzedni wpis Rozwiązanie zadania 1 z konkursu miniLOGIA 9 (2010/11) etap 2
Proudly powered by WordPress. Theme: Flat 1.5.7 by YoArts.