Imagine Logo
Tartalomjegyzék
- Rajzolás a teknőccel
- Példák
-
-
ajánlott irodalom, felhasznált források
Rajzolás a teknőccel
Megjegyzés: a "teknőc" egy apró rajzoló robot, amelyet az Imagine Logo program segítségével irányíthatunk.
[grafikus felület és futtató környezet beállítása]
- háttérszín vagy háttérszín! (pl. mutat hsz; hsz! 10; hsz!;
korábban rajzlapszín vagy rsz, ld. Comenius Logo) (a háttérszín beállítása törli a rajzlapot)
- törölképernyő (törölkép;
korábban törölrajzlap vagy tr, ld. Comenius Logo)
- törölszöveg (törölszöv;
korábban törölírólap vagy tí, ld. Comenius Logo)
- [változók használata]
- globvál vagy név (globális változók létrehozása; pl. globvál "alma 10; név 12 "piros)
- lokvál (lokális változók létrehozása; pl. lokvál "m)
- lokért (értékadás; pl. lokért "m 10)
- [kiíró utasítások]
- kiír (pl. ki 10/5; ki :alma; egy ciklusváltozó kiírása 'kiír hányadik' módon történhet) (a 'kiír' nem írja ki a listák [] zárójeleit)
- mutat (pl. mutat tsz; mutat :alma
korábban kiírjel vagy ki, ld. Comenius Logo) (a 'mutat' a listákat [] jelek között írja ki)
összetettebb (több paramétert tartalmazó) kiíró utasításoknál zárójelet kell használnunk; pl. a lokért "x 7 lokért "y 4 (ki :x "és :y "összege :x+:y) utasítások hatására az Imagine Logo a 7 és 4 összege 11 üzenetet írja ki
[szekvenciális utasítások és parancsok]
Megjegyzések: (1) az eljárások paramétereiként egyes esetekben listákat kell megadnunk [] (szögletes zárójelek) között; (2) egyes azonosítók változóként és eljárásnévként is használhatóak (pl. mutat poz kiírja a teknőc aktuális pozícióját, poz! segítségével viszont be tudjuk a pozíciót állítani)
- alak vagy alak! (teknőc képének megváltoztatása; pl. mutat alak; alak! "teknoc; alak!)
- [teknőc használata]
- teknőc mozgatása (ha a teknőc "kimegy" a rajzlapból, a szemközti oldalon belép, és ott folytatja a mozgást)
- előre (pl. e 100)
- hátra (pl. h 100)
- jobbra (pl. j 90)
- balra (pl. b 90)
- haza (a teknőc visszaáll a kiinduló pozícióba rajzolás nélkül;
a koordináta-rendszer origója a teknőc kiinduló pozíciója, az x tengely jobbra, az y tengely pedig felfelé mutat)
- pozíció vagy pozíció! (pl. mutat poz; poz! [0 0]; poz!; xypoz!
korábban hely vagy xyhely, ld. Comenius Logo)
- xpozíció vagy xpozíció! (pl. mutat xpoz; xpoz! 150; xpoz!;
korábban xhely, ld. Comenius Logo)
- ypozíció vagy ypozíció! (pl. mutat ypoz; ypoz! 100; ypoz!; ;
korábban yhely, ld. Comenius Logo)
- irány vagy irány! (a teknőc elforgatása adott fokkal a kiinduló pozícióhoz képest; pl. mutat irány; irány! 90; irány!)
- [teknőc megjelenítése]
- elrejtteknőc (rejttek vagy elrejt;
korábban láthatatlan, ld. Comenius Logo)
- mutatteknőc (mutattek)
- látható vagy látható! (pl. látható! "igaz; látható! "hamis; mutat látható)
- [toll használata]
- tollatfel (tf)
- tollatle (tl)
- tollradír (trd) (ha ismét rajzolni akarunk, a 'tollatle' vagy 'tl' parancsot kell kiadnunk)
- tollszín vagy tollszín! (pl. mutat tsz; tsz! 3; tsz! tetsz; tsz! kiválaszt [2,3,4]; tsz!);
- szín megadása névvel (pl. "vörös)
- szín megadása egy egész számmal (pl. 3; ld. színtáblázat)
- szín megadása RGB kóddal (pl. [255 0 0] )
- véletlen szín kiválasztása (tetsz; pl. kiválaszt [vörös sárga kék] ) (megjegyzés: a 'tetsz' azonosító és a 'kiválaszt' azonosító után megadható [...] beállításlista nemcsak a színek, hanem egy vonal vastagságának és hosszúságának, az elfordulás szögének, a teknőc pozíciójának, egy pont méretének a megadásakor stb. is használható!)
- az aktuális pontszín kiválasztása vagy lekérdezése (pontszín vagy psz; pl. mutat psz; mutat psz="sárga)
- tollvastagság vagy tollvastagság! (pl. mutat tv; tv! 2; tv! tetsz; tv!)
- tollminta vagy tollminta! (pl. mutat tm; tm! 1)
- tölt
- töltőszín vagy töltőszín! (pl. tlsz! 2; ha nincs beállítva, értéke az aktuális tollszín)
- töltőminta vagy töltőminta! (pl. tlm! 2; tminta! 3)
- [egyéb alakzatok rajzolása]
- pontméret (pl. pontméret 20)
- pont (egy pont kirajzolása a teknőc pozíciójában)
- kör (pl. kör 100) (a 'kör' eljárásban a kör átmérője szerepel; a kör középpontja a teknőc aktuális pozíciója, a körvonalat az aktuális tollszín és tollvastagság határozza meg)
- ellipszis (pl. ellipszis [150 90]; ellipszis [100 120 270 90]) (az 'ellipszis' eljárásban az ellipszis főtengelye, ill. szélessége és kistengelye, ill. magassága szerepel; az ellipszis középpontja a teknőc aktuális pozíciója, a kistengely iránya a teknőc aktuális iránya, a körvonalat pedig az aktuális tollszín és tollvastagság határozza meg)
- töltöttellipszis (pl. töltöttellipszis [150 150 90 180])
- sokszög (pl. sokszög [tlsz! 10 ism 2 [e 100 j 120]]) (a megadott, ill. aktuális kitöltőszínnel kitöltött sokszög a teknőc aktuális pozíciójából kiindulva lesz kirajzolva; az utolsó élt az eljárás automatikusan megrajzolja)
- körvonal (pl. körvonal [[0 100] [100 100] [] [100 -100] [0 -100]]) (a teknőchöz kapcsolt koordináta-rendszerben, amelyben az y tengely a teknőc aktuális irányába mutat, a megadott pontok összekötése az aktuális tollszínnel, tollvastagsággal stb.; ha azonban a pontlistában egy üres lista szerepel, a szomszédos pontokat az eljárás nem köti össze)
- képlenyomat (pl. képlenyomat "teknoc) (a képfájl alapértelmezése 'lgf', de a program elfogadja pl. a 'bmp', 'jpg', 'gif' stb. típusokat is; 'képlenyomat' beírásával a képfájl megkereshető)
- címke (pl. címke "teknőc)
- a szövegben szereplő speciális karaktereket (pl. +, -, /, *, " stb.) és a szóközt '\' után kell beírnunk (pl. címke "Készítette:\ John\ Smith)
[színek megadása egy egész számmal]
[gyakorló feladatok, példák]
[1. feladat: házikó]
[2. feladat: házikó (megjegyzés: a görbéket próbáljuk meg egyenesekkel közelíteni)]
[3. feladat: házikó]
[4. feladat: házikó]
[5. feladat: házikó (megjegyzés: a füveket elég egyenesekkel megrajzolni)]
[ciklusutasítások]
- adott lépésszámú ("számlálásos") ciklus (ismétlés vagy ism; pl. ism 360 [e 2 j 1] ) (a 'hányadik' azonosító megadja a ciklusváltozó értékét)
- ismétlések számának megadása (pl. 360)
- ismételten végrehajtandó utasítások megadása [...] között (ciklusmag; pl. [e 2 j 1] )
- rögzített lépésszámú ciklus (ciklus vagy cikl; pl. cikl "i [10 100 10] [e :i j 10] )
- felsorolásos ciklus (ciklusegyenként; pl. ciklusegyenként "szín [kék sárga vörös] [tsz! :szín b 10 e 40])
- elöltesztelő ciklus (amíg; pl. amíg [pontszín="sárga] [e 1] )
- végtelen ciklus (pl. végtelenszer [e 10 várj 100] ) (Az Imagine Logo felületén azonban a végtelen ciklusok bármikor leállíthatók.)
[elágazó utasítások ("kiválasztások")]
- egyirányú elágazás (ha; pl. ha pontszín="sárga [tsz! "vörös pontméret 1 e 1]; ha xpoz>200 [haza])
- kétirányú elágazás (hakülönben; pl. hakülönben ypoz>100 [haza] [e 10] )
- többirányú elágazás (elágazás; pl. elágazás pontszín [kék [tsz! "sárga] sárga [tsz! "kék] vörös [tsz! "cián] cián [tsz! "vörös]] )
[eljárások készítése]
- [saját eljárások készítése]
- eljárás (elj; pl. elj negyzet :oldalmeret;
korábban tanuld, ld. Comenius Logo)
- [az eljáráshoz tartozó utasítások begépelése külön sorban]
- [megjegyzések beszúrása egy külön sorban pontosvessző (;) után]
- vége
- szerkeszt (pl. szerkeszt "negyzet)
- [beépített eljárások]
- várj (pl. várj 100 hatása: a program futásának késleltetése 100 ezredmásodpercig)
Ha egy eljárásban meghívjuk sajátmagát (ún. rekurzív eljáráshívás), az eljárás végtelen ciklusban ismétlődni fog.
[kifejezések használata]
- [numerikus alapműveletek]
- összeadás (pl. mutat 1+2)
- kivonás (pl. mutat 3-2)
- szorzás (pl. mutat 1.4*3.14)
- osztás (pl. mutat 3.14/8)
- egész osztás (egészhányados; pl. mutat eh 9 2)
- maradékképzés (maradék vagy mod; pl. mutat maradék 9 4 eredménye 1, azaz a 9-4*(eh 9 4) kifejezés értéke)
- [trigonometrikus függvények]
- szinusz (pl. mutat sin 30)
- koszinusz (pl. mutat cos 30)
- tangens (pl. mutat tg 30)
- arkusz tangens (pl. mutat arctg 1)
- [egyéb függvények]
- véletlen szám előállítása (pl. mutat vszám 6 esetén az eredmény egy egész szám a [0,6) intervallumból)
- véletlen (a véletlen számokat előállító algoritmus inicializálása, "megkeverése")
- egész rész képzés (pl. mutat int 2.7 eredménye 2)
- egészre kerekítés (pl. mutat kerekít 2.7 eredménye 3)
- abszolút érték (pl. mutat absz -3)
- négyzetgyökvonás (pl. mutat gyök 4)
- exponenciális függvény (pl. mutat hatvány 1 értéke az 'e' állandó értéke, azaz ≈ 2.71828)
- tetszőleges alapú hatványfüggvény kiszámítása, pl.
- mutat hatvány (10*ln 2) értéke 1024, azaz 210
- mutat hatvány (2*ln 3.14) értéke 9.8596, azaz 3.142
- mutat hatvány (10*ln 2) értéke 1024, azaz 210
- mutat hatvány (0.5*ln 4) értéke 2, azaz 40.5 (négyzetgyök 4!)
- ...
- természetes alapú logaritmus (pl. mutat ln 2.71 értéke 0.996949 ≈ 1, mivel e≈2.71)
- kettes alapú logaritmus kiszámítása (pl. mutat (ln 8)/(ln 2) értéke 3, mivel 8=23)
- tízes alapú logaritmus kiszámítása (pl. mutat (ln 1000)/(ln 10) értéke 3, mivel 1000=103)
- [logikai függvények]
- számok összehasonlítása (pl. mutat 3<2 értéke hamis, mutat 3>=2 értéke igaz, mutat 3=2 értéke hamis, mutat 3<>2 értéke igaz)
Példák
[sokszögek rajzolása]
háromszög
ism 3 [e 100 j 120]
adott színnel kitöltött háromszög
sokszög [tlsz! 10 ism 2 [e 100 j 120]]
négyszög
ism 4 [e 100 j 90]
ötszög
ism 5 [e 100 j 72]
hatszög
ism 6 [e 100 j 60]
adott színnel kitöltött hatszög
sokszög [tlsz! 12 ism 6 [e 100 j 60]]
hétszög
ism 7 [e 100 j 360/7]
nyolcszög
ism 8 [e 100 j 360/8]
szabályos sokszög (megjegyzés: létezik 'sokszög' nevű eljárás)
eljárás soksz :n :oldal
ismétlés :n [
előre :oldal
jobbra 360/:n
]
vége
az előző eljárások együtt végrehajtva
eljárás sokszogek
haza
tl
tsz! "fekete
ism 3 [e 100 j 120]
ism 4 [e 100 j 90]
ism 5 [e 100 j 72]
ism 6 [e 100 j 60]
ism 7 [e 100 j 360/7]
ism 8 [e 100 j 360/8]
vége
a [0 200] bal felső sarokpozíójú, 300x400-as téglalapban szereplő alakzatok kitöltése véletlen színekkel
eljárás kitolt
haza
tf
e 200
ism 150 [
j 90
e 1
j 90
ism 400 [
e 1
ha pontszín="fehér [
tlsz! tetsz
tölt
]
]
várj 100
b 90
e 1
b 90
ism 400 [
e 1
ha pontszín="fehér [
tlsz! tetsz
tölt
]
]
várj 100
]
haza
vége
például az Imagine Logo (796×499 felbontású) képernyőképe a következő utasítások kiadása után:
törölkép
sokszogek
kitolt
[körök rajzolása]
a kör mint 360 oldalas szabályos sokszög (megjegyzés: létezik 'kör' nevű eljárás)
ism 360 [e 1 j 1]
adott tulajdonságokkal rendelkező kör
eljárás sajátkör :oldalhossz :vastagság :szín
tv! :vastagság
tsz! :szín
tl
ismétlés 360 [
előre :oldalhossz
jobbra 1
]
tsz! 0
tv! 1
vége
koncentrikus körök
eljárás koncentrikus_körök
globvál "m 1
ism 8 [
sajátkör :m 5 tetsz
név :m+0.2 "m
]
vége
például az Imagine Logo (796×499 felbontású) képernyőképe a következő utasítások kiadása után:
koncentrikus_körök
tf
poz! [-300 100]
koncentrikus_körök
olimpiai zászló
feladat: készítsünk az alábbi olimpiai zászlóhoz hasonló ábrát!
eljárás olimp
tv! 5
tsz! "kék
kör 100
tf
j 90
e 120
tl
tsz! "fekete
kör 100
tf
e 120
tl
tsz! "vörös
kör 100
tf
j 135
e 85
tl
tsz! "zöld
kör 100
tf
j 45
e 120
tsz! "sárga
kör 100
; alapértelmezések visszaállítása
tv! 1
tsz! "fekete
haza
vége
az Imagine Logo (796×499 felbontású) képernyőképe az 'olimp' utasítás kiadása után:
[egyéb eljárások]
egy téglalap kirajzolása és kitöltése adott színnel
eljárás tégla :x0 :y0 :a :b :szin
globvál "y 1
haza
tf
e :y0
j 90
e :x0
tv! 1
tsz! :szin
amíg [:y<=:b] [tl e :a tf h :a j 90 e 1 b 90 név :y+1 "y]
tsz! "fekete
haza
vége
példa: tégla 100 200 150 250 "piros (a bal felső sarok koordinátái [100 200], a téglalap szélessége 150, magassága 250, kitöltőszíne pedig piros)
különböző függvénygörbék kirajzolása egy 400x400-as koordináta-rendszerben
(-200<=x<=200, -200<=y<=200)
eljárás fuggveny :indit :szin
hakülönben és :indit>=1 :indit<=5
[
koord
globvál "x -200
tf
; tsz! tetsz
tsz! :szin
poz! [-200 0]
ism 400 [
kiszamit :indit
e :y
tl
ha és :y<=200 :y>=-200 [
pontméret 4
]
tf
h :y j 90 e 1 b 90
név :x+1 "x
]
haza
]
[
törölkép
fuggveny 1 "fekete
fuggveny 2 "piros
fuggveny 3 "zöld
fuggveny 4 "kék
fuggveny 5 "narancs
]
vége
segédeljárás a 'fuggveny' eljáráshoz: a koordináta-rendszer megjelenítése
eljárás koord
haza
tsz! "fekete
tv! 1
tl
e 200
haza
j 90
e 200
haza
h 200
haza
b 90
e 200
haza
vége
segédeljárás a 'fuggveny' eljáráshoz: a függvényértékek kiszámítása
eljárás kiszamit :i
; lokvál "negyz
lokért "linearis 0.5*:x
lokért "abszolut absz 1.5*(:x+100)
lokért "negyzet 0.01*(:x*:x)-150
lokért "szinusz 150*(sin :x)
lokért "ngyok hakülönben :x>=0 [10*gyök :x] [-10*gyök -:x]
elágazás :i [
1 [globvál "y :linearis]
2 [globvál "y :abszolut]
3 [globvál "y :negyzet]
4 [globvál "y :szinusz]
5 [globvál "y :ngyok]
]
vége
eredmény (fuggveny 0 0):
példák: fuggveny 3 "piros (egy négyzetfüggvény kirajzolása piros tintával); fuggveny 0 0 (az összes függvény kirajzolása előre definiált színekkel, ld. a fenti ábrát)
Irodalomjegyzék
Abonyi-Tóth Andor; Heizlerné Bakonyi Viktória; Zsakó László 2013. Logo versenyfeladatok. Budapest: ELTE Informatikai Kar - NJSZT tehetséggondozási Szakosztály.
http://felszem6.elte.hu/downloads/seged/logoversenyfeladatok.pdf (2019-03-05)
Blaho, Andrej; Kalas, Ivan 2005. Az IMAGINE varázslatos világa.
http://www.ejai.sulinet.hu/iskdok/oktanyagok/imagine_munkafuzet.pdf (2019-03-05)
||| burcsi gyerek weboldala |||. Comenius Logo, Imagine Logo.
http://www.burcsi.hu/_inf/Imagine/comlogo_ilogo.pdf (2019-03-06)
Imagine összefoglaló.
http://burcsi.hu/_inf/Imagine/index.html (2019-03-06)
Imagine | Tanulást (digitálisan) elősegítő Technológia Labor
http://tet.inf.elte.hu/imagine/ (2019-03-05)
Imagine Logo :: Infoórák.
https://infoorak.webnode.hu/tananyag/a5-osztaly/imagine-logo/ (2019-03-05)
Imagine Logo Tanmenet 5. 6. 7. évfolyam.
http://www.poga.hu/letoltesmappa/imagine_logo_tananyag.pdf (2019-03-05)
Itt az IMAGINE!
http://logo.sulinet.hu/ (2019-03-05)
Programozási készségek fejlesztése az ImagineLogo programmal.
https://www.jokaiiskola.hu/images/informatika/logo_kezsegfejlesztes.pdf (2019-03-05)
A Sulinet Tudásbázis Imagine Logo-val kapcsolatos anyagai.
http://logo.sulinet.hu/ (2019-03-05)
Informatika 1. évfolyam | Sulinet Tudásbázis. Alkalmazói ismeretek.
https://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-1-evfolyam/alkalmazoi-ismeretek (2019-03-06)
Informatika 2. évfolyam | Sulinet Tudásbázis. Robot (teknőc) irányítása.
https://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-2-evfolyam/algoritmizalas-adatmodellezes/robot-teknoc-iranyitasa (2019-03-06)
Informatika 4. évfolyam | Sulinet Tudásbázis. Az Imagine Logo zeneszerkesztője.
https://tudasbazis.sulinet.hu/hu/informatika/informatika/informatika-4-evfolyam/alkalmazoi-ismeretek/az-imagine-logo-zeneszerkesztoje (2019-03-06)
Kör rajzolása Logo-ban. [óraterv]
IKT - MOZAIK. Kézikönyv pedagógusoknak a számítógép tanórai alkalmazásához. (szerk. és vál. Kőrösné Mikis Márta) Budapest: OFI, 2010. 73-76.
http://mek.oszk.hu/12900/12983/12983.pdf (2019-03-07)
Üdvözlet! - Imagine Logo.
http://imagine-logo.wikidot.com/ (2019-03-03)
Utasítások - Imagine Logo.
http://imagine-logo.wikidot.com/utasitasok (2019-03-03)
Stuur, Addo; Turcsányiné Szabó Márta 1998. Comenius Logo. Játék és programozás. Budapest: Kossuth K.
Szentpéteriné Király Tünde 2000. Comenius Logo teknőcgrafika. Budapest: Kossuth K.
Boda István, 2019.