Érdekesség Technika és tudomány

Imagine Logo, avagy a kis teknős kalandjai

  • Bizonyára iskolai éveid alatt találkoztál már azzal a bizonyos kis teknősös programmal, aminek a programozása alatt biztosan te is nagyon ideges lehettél, mert egyszerűen nem azt csinálta, amit te akartál! Ennek ellenére számos alkalommal is találkozhatunk azzal a programnyelvvel, amit 1967-ben alkotott meg két matematikus és informatikus. Ez a programnyelv nem más, mint a Logo, aminek a könnyű programozása és futtatása érdekében jött létre az Imagine Logo nevű program!

Viszont ez a cikk nem a program lejáratása érdekében készült (bármennyire is idegesítő, amikor nem azt csinálja, amit kéne), hanem pont annak az érdekében, hogy egy kicsit népszerűsítsem ennek a fajta teknősgrafikus programnak a működését.

Röviden a teknőcgrafikáról

Mint azt már korábban is említettem a teknőcgrafikával számos iskolában találkozhatunk még a napjainkban is! Az egyik ilyen program, ami ennek a megjelenítésére alkalmas, az nem más, mint a jó öreg Imagine Logo!

Az összetett szó (teknőc-grafika) arra utal, hogy tulajdonképpen egy teknősnek adhatunk ki feladatokat a programkód megírásával, amit ő grafikusan jelenít meg a számunkra. (pl.: előre 100 – húz egy 100 pixel hosszú csíkot a képernyőn)

Kezdjük az alapokkal!

Az Imagine Logo telepítéséhez kattints ide! A megnyíló oldalon töltsd le az “imaginelogo.zip” fájlt, és a tömörített állomány kicsomagolása után futtasd az “Install.exe” alkalmazást!

Nos, vegyük át villámgyorsan az alapvető programkódokat!

  • előre/hátra – előre/hátra megy a teknős pixelben annyit, amennyit mondunk neki
  • jobbra/balra – jobbra/balra fordul a teknős fokban annyit, amennyit megadunk neki
  • ism – ismétli a [ ] közé írt feladatot annyiszor, ahányszor megkérjük rá
  • tsz!, tv!TöltőSZín és TollVastagság megadása
  • törölkép – törli a képernyőt teljesen
  • haza – visszaugrik a teknős a program közepére

Érdemes a programban kipróbálgatni ezeket a parancsokat külön-külön, és utána egymás után is, hogy megértsük a program működését! Ekkor vetődhet fel bennünk a kérdés: Nem lehetne ennek segítségével valamilyen ábrákat rajzolni magunknak? A válasz tömör és egyszerű: De igen!

Ehhez segítségül hívhatjuk az eljárásokat, amiket az F4 akciógombbal tudunk megjeleníteni magunknak. Az eljárások tulajdonképpen kis “parancs-csomagok”, amik egy új parancs neve alá foglalják a korábbi parancsainkat. Az első eljárás elkészítéséhez kattints az “Elem > Eljárás hozzáadása…” gombra!

Ennek apropóján a későbbiekben néhány képpel szemléltetem majd, hogy én milyen ábrákat csináltam ennek a programnak a segítségével! (Természetesen csatolom az eljárások programkódját is a képek alatt. Amikor beírod az eljárások nevét ún. paramétereket kell megadnod, ilyenkor ne ijedj meg nagyon, írj be oda valamilyen számot. 🙂 )

Négyzet, háromszög, ház

Gondolhatjuk, hogy nincs is ezeknél egyszerűbb alakzat, de épp az egyszerűségük miatt szépek!

Négyzet

 

Eljárás programkódja:

eljárás négyzet :a
 ism 4 [
  e :a
  j 90
 ]
vége

Háromszög

Eljárás programkódja:

eljárás háromszög :a
 j 30
 ism 3 [
  e :a
  j 120
 ]
 b 30
vége

Ház

Kombináljuk a két eddigi ábránkat, csináljunk egy egyszerű házat!

Eljárás programkódja:

eljárás ház :a
 négyzet :a
 e :a
 háromszög :a
 haza
vége

Kicsit bonyolultabb ábrák

Most, hogy megnéztük a legegyszerűbb ábrákat, mutatok olyanokat is, amik egy kicsit bonyolultabbak, cserébe talán szebbnek is mondhatóak!

Gyűrű

A hozzá szükséges eljárások programkódja:

eljárás sokszog :sz :h
 ism :sz [e :h j 360/:sz]
vége

eljárás ksokszog :a :b :c
 sokszog :a :b
 j 360/:a/2/2
 tf
 e 5
 tsz! :c
 tölt
 h 5
 b 360/:a/2/2
 tsz! “fekete
 tl
vége

eljárás gyűrű :h
 ksokszog 6 :h “zöld
 b 60
 ism 6 [
 b 60
 ksokszog 6 :h “sárga
 j 120
 e :h
 ]
 j 60
vége

Virágablak

A hozzá szükséges eljárások programkódja:

eljárás paralelogramma :a :b :sz
 j 90
 ism 2 [
  b :sz
  e :a
  b 180 – :sz
  e :b]
 b 90
vége

eljárás rombusz :a :sz
 paralelogramma :a :a :sz
vége

eljárás szirom :d
 b 60
 ism 2 [e :d b 60]
 j 30
 rombusz :d 60
 b 30
 tf
 e :d b 60
 tl
 ism 3 [e :d b 60]
 j 60
vége

eljárás virágablak :d :db
 ism :db-1 [
  szirom :d
  j 60
  e :d
 ]
 szirom :d
 ism :db-1 [
  hátra :d
  b 60
 ]
vége

Bonyolult ábrák

Elérkeztünk oda, hogy azt mondjam, hogy a következő két ábra mondható a legbonyolultabbnak az eddigiek közül. Ezt amiatt mondanám, mert bár látványra nem sokban különbözik a többitől, a programozásuk módja már jóval bonyolultabbnak mondható az eddigiekhez képest.

Nyírfa

Eljárás programkódja:

eljárás nyírfa :év :t
 ha :év > 0 [
  e :t
  nyírfa :év-1 :t/2
  j 30
  nyírfa :év-1 :t/2
  b 30
  h :t/2
  b 30
  nyírfa :év-1 :t/2
  j 30
  h :t/2
 ]
vége

Járda

A hozzá szükséges eljárások programkódja:

eljárás nyolcszög :a
 ism 8 [
  e :a
  j 45
 ]
vége

eljárás járdaelem :a
 tf
 b 45
 e :a
 j 45
 b 90
 e :a
 j 90
 tl
 ism 4 [
  nyolcszög :a
  e :a
  b 90
  nyolcszög :a
  e :a
  j 45
  e :a
  b 90
  e :a
  j 45
 ]
 tf
 b 45
 h :a
 j 45
 b 90
 e 5
 tsz! “sárga
 tölt
 tsz! “fekete
 h 5
 j 90
 b 90
 h :a
 j 90
 tl
 j 45
 ism 4 [
  e :a
  j 90
 ]
 b 45
 tf
 j 90
 e :a/2
 tsz! “zöld
 tölt
 tsz! “fekete
 h :a/2
 b 90
 tl
vége

eljárás járdaelemsz :a
 tf
 b 45
 e :a
 j 45
 b 90
 e :a
 j 90
 tl
 ism 4 [
  nyolcszög :a
  e :a
  b 90
  nyolcszög :a
  e :a
  j 45
  e :a
  b 90
  e :a
  j 45
 ]
 tf
 b 45
 h :a
 j 45
 b 90
 e 5
 tsz! “sárga
 tölt
 tsz! “fekete
 h 5
 j 90
 b 90
 h :a
 j 90
 tl
vége

eljárás járda :db :a
 ism :db-1 [
  járdaelem :a
  j 90
  tf
  e (:a*gyök 2)*3
  e :a*4
  tl
  b 90
 ]
 járdaelemsz :a
 b 90
 tf
 ism :db-1 [
  e (:a*gyök 2)*3
  e :a*4
 ]
 tl
 j 90
vége

Németh Gergely

Pajtás: 54. Tanfolyam, I. csoport
Ifi: 64-65. Tanfolyam, VIII. csoport