BEVEZETÉS LOGO grafikák: - Bevezetés - Válogatás a szakkörösök legszebb munkáiból Aki egy picit is megérti a LOGO programozás lényegét, néhány soros programmal nagyon szép rajzokat készíthet. Ha tudja a színezés egy-két fortélyát és az animációkészítés alapelvét is, diszkófényeket is varázsolhat a képernyőjére. Ez a kis tanulmány segítséget ad e trükkök elsajátításához. LOGO-ban a képernyő egy nagy rajzlapnak tekinthető, melyen a festő és rajzoló szerepét a Teknőc veszi át - sétál a rajzmezőn, miközben vonalakat is tud húzni ceruzájával. Tolla (ceruzája) lehet vékony, lehet vastag; lehet színes. Ecsete is van - ezzel tud színezni; s ha az ecset alakját is változtatja, szép mintásra festi az alakzatokat. Nézzük a legegyszerűbb utasításokat (bár ha figyeltél számítástechnika órákon, ezek többsége már ismerős számodra)! A színek értéke 0, 1,..., 15 lehet! tr - töröld le a rajzlapot tollszín! s1 - vedd a kezedbe az s1 színű tollat! tf - emeld fel a tollat töltőszín! s2 - vedd a kezedbe az s2 színű ecsetet! tl - tedd le a tollat tv! 3 - legyen 3-as vastagságú a ceruzád! e 20 - menj előre 20 egységet tölt! - fess a megadott tollszínnel és mintával! h 30 - menj hátrafelé 20 egységet tollradír - séta közben törölj le minden pontot! j 60 - fordulj jobbra 60 fokot várj 100 - várj 100 időegységet b 60 - fordulj balra 60 fokot vsz 16 - választ egy számot 0 és 15 között Hang - Zenélő utasítás (ld. Help!) betűzd ab - a rajzlapra írja az ab betűket ; megjegyzések a programban lenyomat - a teknőc alakja rákerül a képernyőre Egy kicsit bonyolultabb parancsok: ism 3[... ] - ismételd háromszor a zárójelben megadott utasításokat Ennyi bevezető után lássunk néhány egyszerű ábrát: ism 4[e 50 j 90] tr ism 3[e 40 b 120] tr j 90 ism 3[e 10 tf e 20 tl] Ha azt szeretnénk, hogy a Teknőc más méretű négyzetet rajzoljon, az e (előre) utáni számot kell módosítanunk! Kicsit unalmas mindig beírni a négyzetet rajzoló parancssort. A Teknőc arra is képes, hogy új parancsot tanuljon. Az új parancsot eljárásnak nevezzük, s az eljárásoknak nevet adunk. Például arra taníthatjuk a Teknőcöt, hogy négyzet szóra egy négyzetet rajzoljon! Azt is megtehetjük, hogy a négyzet méretét csak a négyzet szó begépelése után mondjuk meg - úgy, ahogy az előre sétáláskor megadjuk a lépések számát. Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/1. Évkönyvbe
Ha egy zárt alakzatot be akarunk festeni, akkor előtte felemelt tollal be kell mennünk az alakzat belsejébe, majd festőszínt és festőmintát választunk; töltünk, majd kisétálunk az alakzatból. Ez a módszer hasonlít ahhoz, ahogy a PAINT rajzolóprogrammal szoktunk festeni. Például 1 : tanuld négyzet :a ism 4 [e :a j 90] tanuld négyzet1 :a :sz1 négyzet :a tf j 45 e :a / 2 tl tsz! :sz1 tölt tf h :a / 2 b 45 tl négyzet 50 tsz! 2 négyzet1 40 14 (zölddel rajzolt, 40 egység oldalhosszúságú sárga négyzet) A tsz! parancs a tollszín! rövidítése! Figyeld meg, hogy a négyzet1 eljárás használja (azaz hívja) a négyzetet! Gyakorló feladatok Ha nem négyzetet, hanem ötszöget, hatszöget stb. szeretnénk rajzolni, akkor azt úgy rajzoljuk, hogy rajzolunk egy vonalat, fordulunk, ismét rajzolunk - fordulunk és így tovább, amíg vissza nem érünk a kiinduló helyünkre. Ezalatt éppen egy teljes kört, azaz 360 fokot fordultunk. Ha a lépések száma és a fordulatok nagysága különböző, nehéz kiszámítani, hogyan érjünk vissza a START-ra. Szabályos sokszöget viszont nagyon könnyű rajzolni - mindig egyformát kell lépnünk és ugyanannyit fordulnunk. Egy sokszög megrajzolása után rajzolhatunk mellé, alá, fölé, vagy elforgatva egy ugyanakkorát, vagy hasonlót vagy más oldalszámút is. Ha ügyes vagy, megfejted az alábbi algoritmusokat és te is tudsz hasonlókat készíteni. tanuld soksz :a :db ism :db [e :a j 360 / :db] tanuld soksz1 :a :db :sz1 soksz :a :db tf j 5 e :a / 2 tl tsz! :sz1 tölt tsz! 0 tf h :a / 2 b 5 tl tv! 2 soksz1 30 8 5 tv! 1 ism 8[soksz 30 8 j 45] b 30 ism 3[hsz 50 e 50 j 120] j 30 Ahol a hsz eljárás következő: tanuld hsz :a ism 3 [e :a b 120] ism 3[soksz 30 6 tf j 90 e 60 b 90 tl] És egy újabb eljárás: tanuld soksz2 :a :db soksz :a :db tf jobbra 5 előre :a / 2 tl tsz! vsz 16 tölt tsz! 0 tf hátra :a / 2 balra 5 tl 1 Ha kíváncsi vagy, hogyan kell használnod a Comenius LOGO programozási nyelvet, vedd elő az órákon használt informatika tankönyveidet ezekben megtalálod a részletes leírást, sok érdekes rajzzal, gyakorló feladattal. (Gál Mariann: Informatika jegyzet és munkafüzet az 5-6. osztály részére, Gál Mariann: Informatika jegyzet és munkafüzet a 7. osztály részére; SULI-SOFT kiadó). Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/2. Évkönyvbe
Próbáld kitalálni, mi lesz a következő parancssorok eredménye! 1. soksz2 90 8 soksz2 80 8 soksz2 70 8 soksz2 8 10 soksz2 50 8 2. ism 5[tr soksz2 90 7 soksz2 80 7 soksz2 70 7 soksz2 60 7 várj 10] 3. tr soksz2 100 10 soksz2 100 9 soksz2 100 8 soksz2 100 7 soksz2 100 6 soksz2 100 5 soksz2 100 4 soksz2 100 3 4. tr ism 2[soksz2 50 10 soksz2 50 9 soksz2 50 8 soksz2 50 7 soksz2 50 6 soksz2 50 5 soksz2 50 4 soksz2 50 3 balra 180] 5. ism 15[tr ism 2[soksz2 50 10 soksz2 50 9 soksz2 50 8 soksz2 50 7 soksz2 50 6 soksz2 50 5 soksz2 50 4 soksz2 50 3 balra 180] várj 5] A megfejtéseket a cikk végén olvashatod. Itt újabb feladatokat is találsz! Ismétlés: Válogatás Ruszki Bálint és Lipták Bence előző tanévi munkáiból Útjelzők, zászlók - egyesével és sorban egymás után (lu06-01.lgp) tanuld négyzet :a ismétlés 4 [e :a j 90] tanuld fel :a tollatfel előre :a tollatle tanuld tovább :a tf j 90 e :a b 90 tl tanuld zászló :a :b e :a négyzet :b h :a tanuld útjelző :a :b e :a b 45 négyzet :b j 45 h :a tanuld útsor :db :a :b :t ism :db [útjelző :a :b tovább :b + :t] tovább - :db * ( :b + :t ) tanuld váltósor :db :a :b :t ism :db [négyzet :b tovább :b + :t ~ útjelző :a :b tovább :b + :t] tovább - :db * 2 * ( :b + :t ) Feladatok: 1. Készíts olyan váltósort, amelyben a zászlók és az útjelzők váltják egymást! 2. Készíts olyan sormintát, ahol a zászlók, négyzetek és az útjelzők váltják egymást! 3. Készíts olyan sort, amelyben a zászlók után négyzet, majd útjelző és ismét négyzet váltja egymást! Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/3. Évkönyvbe
A LOGO szakkör tematikája A szakkör elsődleges célja a programozás megszerettetése, majd felkészítés a Neumann János Számítógéptudományi Társaság által 1997 óta szervezett Országos Logo Programozói Versenyre. Az alapok (egyszerű alakzatok rajzolása, sorminta, oszlop, mozaik) átismétlése után elsősorban a színezéssel és a rekurzióval foglalkoztunk. Ehhez kapcsolódtak a szakkörösök ötletei: zenéljen a teknőc, készítsünk animációt az ábrák váltogatásával, stb. Mi is a rekurzió? Ez a fogalom a matematika egyik fontos fogalma. Azt jelenti, hogy sosincs annak, amit csinálunk azaz amikor azt hisszük, hogy valamit befejezünk, egy kis módosítással újra kezdjük. Először ez bonyolultnak tűnhet, valójában pedig nem is az! Gondolj az egyszerű halász meséjére: A halász kifogja a tengerből az aranyhalat. Az aranyhal arra kéri, dobja vissza a tengerbe, cserébe teljesíti három kívánságát! Ha Te lennél a halász, elsőre kérsz valamit, másodszorra kérsz valami mást. A harmadik kívánsággal azonban vigyázol, mert úgy tűnik, ez az utolsó kívánságod! De a harmadik kívánság is lehet bármi! Ha furfangos vagy, a harmadik kívánságod az lesz, hogy Legyen még három kívánságom!. Így a kívánságlistát a végtelenségig folytathatod! A Legyen még három kívánságom kérés hacsak el nem rontod akár a végtelenségig is folytatható és ez a rekurzió. Érdekes LOGO programok: Válogatás a szakkörösök munkáiból 5. osztály Egy érdekes rekurzió - Egyházi Anna (ea071204.lgp 2 ) tanuld vm :a ha :a > 2 [ism 6 [e :a j 90] vm :a - 40] Próbáld ki az alábbi paraméterekkel: 90 130 180 (A képernyő letörlése után a betűzd i paranccsal jelöltük a Teki kiinduló helyét. Így láthatod, hogy a Teki nem ott fejezi be a rajzot, ahol elkezdte!) Rekurzió - vonalvariációk (mg080129.lgp, lm080129.lgp, lb080129.lgp) Vannak olyan rajzok, amelyeket csak rekurzióval lehet elkészíteni ilyen például a csigavonal. Csigavonalat úgy rajzolunk, hogy rajzolunk egy szakaszt, majd fordulunk valamennyit, ezután ismét rajzolunk, majd fordulunk ezt a két lépést ismételjük. A csigavonalfajták száma végtelen, mert változtathatjuk a kiinduló szakasz hosszát, a fordulás szögét; a következő lépésben megint változhat a szakasz hossza és a fordulás szöge is. Erre látunk néhány példát. 2 A szakkörösök kedvéért emlékeztetőnek megadom, melyik LOGO projektben találják meg a munkájukat. Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/4. Évkönyvbe
A vonal olyan csigavonalat rajzol, melyben az első vonal hosszát mi adjuk meg. Ezután derékszögben jobbra fordulunk, majd ismét meghívjuk a vonal eljárást ez már rekurzió. A másodszori hívásnál 5 egységgel hosszabb vonalat rajzolunk, fordulunk, majd ismét hívjuk a vonal eljárást. A rajzolásnak csak akkor van, ha a Stop gombra kattintunk. A vonal1 eljárás a vonal módosításával készült: csak addig rajzolunk, amíg a rajzolandó vonal rövidebb kisebb 200 képpontnál. A vonal1a eljárásban már mi adjuk meg, mekkora legyen a leghosszabb vonal. tanuld vonal :a tanuld vonal1 :a előre :a jobbra 90 előre :a jobbra 90 vonal :a + 5 ha :a < 200 [vonal1 :a + 5] tanuld vonal1a :a :meddig előre :a jobbra 90 ha :a < :meddig [vonal1a :a + 5 :meddig] Megadhatjuk, hogy az előző vonalnál mennyivel legyen hosszabb a következő? Természetesen! A vonal2a eljárásban már azt is megadjuk, mennyivel változzon a következő vonal hossza! A vonal3a eljárásban a fordulás szögét is mi adjuk meg! A vonal4a eljárásban lépésenként változtatjuk a fordulás szögét is! Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/5. Évkönyvbe
tanuld vonal2a :a :mennyit :meddig előre :a jobbra 90 ha :a < :meddig [vonal2a :a + :mennyit :mennyit :meddig] tanuld vonal3a :a :mennyit :szög :meddig előre :a jobbra :szög ha :a < :meddig [vonal3a :a + :mennyit :mennyit :szög :meddig] tanuld vonal4a :a :mennyit :szög :szögnöv :meddig előre :a jobbra :szög ha :a < :meddig [vonal4a :a + :mennyit :mennyit :szög + :szögnöv ~ :szögnöv :meddig] Ha egy utasítássorozatot egy sorba kell írni és nem fér ki egy sorba, a sor végére a ~ jelet 3 kell írni. tr vonal4a 10 5 50 0 150 tr vonal4a 5 12 45 2 200 Próbáld ki az alábbi hívásokat is: vonal4a 10 2 50 0 150 vonal4a 10 10 45 2 180 Lipták Bence (7. oszt.) megoldásai: tanuld vonal4a_1 :a :mennyit :szög :s :meddig ha :a < :meddig [előre :a jobbra :szög ~ vonal4a_1 :a + :mennyit :mennyit :szög + :s :s :meddig] Próbáld ki mindkét eljárást! Mi a különbség köztük 4? 3 4 A ~ helye a billentyűzeten: <Alt Gr> + <1>. Megfejtés: A vonal4a eljárás 9 vonalat rajzol, felfelé kezdve; a vonal4a_1 pedig csak nyolcat, jobbra kezdve. Magyarázat: A vonal4a először előre megy, majd fordul, s csak ezután ellenőrzi, folytathatja-e a rajzolást. A vonal4a_1 először ellenőriz, s csak ezután rajzol! Ellenőrzés: tanuld vonal4a_próba tr tollszín! 0 lenyomat vonal4a 10 5 50 0 50 tf haza tl tollszín! 12 ; lenyomat vonal4a_1 10 5 50 0 50 Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/6. Évkönyvbe
6-7. osztály Karácsonyfa - Ruszki Bálint (rb071128.lgp) Ez a feladat a 2004-es verseny 1. fordulójában szerepelt (3-4. osztály). tanuld csill balra 20 ismétlés 5 [előre 20 jobbra 144] jobbra 20 tanuld karácsonyfa tollatfel előre 100 tollatle j 150 e 50 j 120 e 12,5 b 120 e 50 j 120 e 12,5 b 120 e 50 j 120 e 50 b 90 e 50 j 180 e 50 b 90 e 50 j 120 e 50 b 120 e 12,5 j 120 e 50 b 120 e 12,5 j 120 e 50 b 30 csill Telefonálunk? Animációkkal - Lipták Bence (lb071211.lgp) Telefoncsörgés - alap eljárás tanuld alaptef ism 4 [hang [700 50] hang [550 50]] Telefoncsörgés - két sorozat tanuld telefon ismétlés 2 [alaptef] Telefoncsörgés - ezzel könnyen megviccelhetsz bárkit (lb080408.lgp) tanuld telefon :hossz ism :hossz [ism 6 [hang [450 50] hang [800 50]] várj 800] Egy másik telefon (lb080415.lgp) tanuld telefon1 :h ism :h [ism 6 [ism 2 [hang [450 50] hang [800 50]]] v 1500] Megadott számú festékpöttyök váltják egymást - a fényhatás bombarobbanáshoz hasonlít Telefoncsörgés közben színes "bomba" robban A telefoncsörgésnek sosincs! Sőt, közben a bombák nyoma betölti az egész képernyőt! tanuld színbomba :szám tv! vsz 15 tsz! vsz 16 e vsz 5 ha tv < 8 [j vsz 360][b vsz 360] ha :szám = 0 [stop][színbomba :szám - 1] tanuld csörgőbomba :szám színbomba 1 alaptef ha :szám = 0 [stop][csörgőbomba :szám - 1] tanuld megcsinál :a előre :a jobbra 90 alaptef színbomba 5 megcsinál :a + 2 Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/7. Évkönyvbe
Bahama zászlója (lb080408.lgp) A 2001. évi LOGO verseny 2. fordulójában zászlókat kellett rajzolni (3-5. osztály). Például: tanuld bahama ism 2 [e 60 j 90 e 100 j 90] ismétlés 3 [előre 60 jobbra 120] j 90 e 100 b 90 e 20 b 90 e 65 h 65 j 90 e 20 b 90 e 65 Gyufa és fejtörő - Ruszki Bálint (rb080219.lgp) A 2006-os LOGO verseny 2. fordulójának egyik szép feladata volt ez a fejtörő (5-6. osztály). A gyufa eljárás egy gyufaszálat rajzol, a fejtörő pedig a gyufaszálakból készül. A gyufaszál magassága az elsőnek, szélessége pedig a másodiknak megadott szám. tanuld gyufa :a :b tégla :a :b j 45 színez :b / 10 9 b 45 e :a j 90 e :b / 2 b 180 kör :b / 2 j 45 színez :b / 4 12 b 45 e :b / 2 b 90 e :a j 180 tanuld tégla :a :b ism 2 [e :a j 90 e :b j 90] tanuld színez :be :színkód tf e :be tl töltőszín! :színkód tölt töltőszín! 0 tf h :be tl tanuld fejtörő :a :b ism 3 [gyufa :a :b ~ j 90 e :b tf e :b tl b 90] tf e :b * 2 tl j 90 gyufa :a :b b 90 tf e :b * 2 tl j 90 gyufa :a :b b 90 tf h :b * 4 j 90 e :a + :b * 2 b 90 tl gyufa :a :b j 90 e :b tf e :b tl b 90 gyufa :a :b j 90 e :b tf e :b b 90 e :b * 3 j 90 tl gyufa :a :b j 90 tf e :b * 3 b 90 e :a + :b * 2 b 90 tl gyufa :a :b tanuld kör :r ismétlés 360 [e :r * 0,0174 j 1] Dobókocka animáció - Lipták Bence (lb080220.lgp) A 2006. évi LOGO verseny 2. fordulójában a 3-4. osztályosoknak dobókockákat kellett rajzolni. Ez a feladat egy animáció készítésére inspirálta Bencét. A dobókocka parancs begépelése után dobókockák helyett egy féldominók váltják egymást a képernyőn mindaddig, amíg a STOP-ra nem kattintunk. (A kör és a színez eljárást ld. a Gyufa-projektnél!) Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/8. Évkönyvbe
tanuld dobókocka let "sz véletlenszám 10 if :sz = 0 [dobókocka][kocka :sz wait 500 tr dobókocka] tanuld pötty ismétlés 8 [előre 10 jobbra 45] j 45 tf e 10 tölt h 10 b 45 tl Kis szépséghibája az eljáráscsomagnak, hogy a kocka pöttyei nyolcszögek és elhelyezkedésük sem mindig pontos! Ha ügyes vagy, e kis pontatlanságokat Te is ki tudod javítani! (A wait parancs a várj angol megfelelője!) tanuld kocka :n ha :n > 9 [kiír [Az :n paraméter nem lehet 9 - nél nagyobb!] hang [1000 1000] stop] ism 4 [e 100 j 90] ha :n = 1 [j 90 tf e 40 b 90 e 45 tl pötty tf h 45 b 90 e 40 j 90 tl] ha :n = 2 [j 90 e 10 tf b 90 e 75 tl pötty tf h 75 j 90 e 55 ~ b 90 e 10 tl pötty tf h 10 b 90 e 65 j 90 tl] ha :n = 3 [kocka 1 kocka 2] ha :n = 4 [kocka 2 e 100 j 90 kocka 2 b 90 h 100] ha :n = 5 [kocka 1 kocka 4] ha :n = 6 [kocka 4 j 90 e 10 b 90 tf e 45 tl pötty tf h 45 ~ j 90 e 55 b 90 e 40 tl pötty tf h 40 b 90 e 65 j 90 tl] ha :n = 7 [kocka 6 j 90 tf e 40 b 90 e 75 tl pötty tf h 75 b 90 e 40 j 90 tl] ha :n = 8 [kocka 7 j 90 e 35 tf b 90 e 15 tl pötty tf h 15 b 90 e 35 j 90 tl] ha :n = 9 [kocka 8 kocka 1] Ötszögek - Ruszki Bálint (rb080212.lgp) A 2006. évi LOGO verseny 2. fordulójában a 3-4. osztályosok feladata volt az Összerakó ennek egyik részfeladata az ötszögek. tanuld ötszög :a ism 5 [ötszögelem :a j 360 / 5] j 150 színez :a / 30 12 b 150 tanuld ötszögelem :a tégla :a :a / 10 j 45 színez :a / 10 / 2 9 b 45 e :a j 90 5szög :a / 10 b 25 színez :a / 30 12 j 25 e :a / 10 j 90 e :a j 180 tanuld négyszög :a ism 4 [tégla :a / 10 :a / 10 ~ j 45 színez :a / 10 / 2 12 b 45 e :a / 10 ~ tégla :a - :a / 10 :a / 10 ~ j 45 színez :a / 10 / 2 9 b 45 e :a - :a / 10 j 90] Egy kis hibája van az Ötszögelem-nek - nem mindig színez pirosra. Ki tudod javítani a színező eljárást? tanuld 5szög :a ism 5 [e :a b 360 / 5] A színez és a tégla eljárások ugyanazok, mint amik a Gyufa projektben szerepelnek! Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/9. Évkönyvbe
Propeller - Ruszki Bálint (rb080212.lgp) Az Összerakó feladataiban a téglalapokon háromszögeket, négyzeteket, hatszögeket kellett elhelyezni, s ezeket a sokszögek oldalszáma szerint kellett megismételni. A háromszög inspirálta Bálintot egy propeller elkészítésére. (A színez, tégla eljárásokat ld. a Gyufa projektnél!) tanuld propeller :a ha :a > 500000 []~ [háromszög :a propeller :a + 10] tanuld háromszög :a ism 3 [tégla :a :a / 10 j 45 ~ színez :a / 10 9 ~ b 45 e :a j 90 hszög :a / 10 ~ e :a / 10 / 2 b 90 ~ színez :a / 30 12 j 90 e :a / 10 / 2 j 90 e :a b 60] j 120 színez :a / 30 12 b 120 tanuld hszög :a e :a b 120 e :a b 120 e :a b 120 Térhatás (lb080408.lgp) Ha rajzolunk egy síkidomot például egy kört; néhány fokos fordulás után és ismét rajzolunk, s ezt a két lépést ismételgetjük, igen érdekes térhatárú ábrákat kapunk. tanuld térhatás :db ism :db [ism 360 [e 1 j 1] j 360 / :db] tanuld térhatás2 :fok ism 360 / :fok [ism 360 [e 1 j 1] j :fok] Próbáld ki mindkét eljárást! Feladvány: Mi a különbség köztük 5? Feladatok: 1. Kör helyett rajzolj négyzetet! 2. Próbáld ki más síkidommal is például háromszöggel, ötszöggel, hatszöggel stb. Érdemes megfigyelni a rajzolás folyamatát. A következő ábrák a térhatás 2 3 parancsra készültek. 5 Megfejtés: az elsőnél azt adod meg, hány kört rajzoljunk; a másodiknál pedig azt, hány fokkal forduljunk el két kör között. Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/10. Évkönyvbe
És a redmény: Országos Logo Verseny - 2008 Ezen a versenyen minden szakkörös elindult, s valamennyien bejutottak a második fordulóba! Ezen Egyházi Anna kivételével mindenki részt vett, ahol Mátis Gergő 39, Zsinka Bernadett 36, Ruszki Bálint 60, Lipták Bence 98 pontot szerzett. Bálint és Bence továbbjutottak a harmadik (országos) fordulóba, ahol Bálint az 51., Bence a 3. helyet érte el. Most a versenyfeladatokból következik egy kis válogatás. Első forduló, II. kategória (5-6. osztály), 1. feladat 1. feladat: Minták (21 pont) Készítsd el azokat a Logo eljárásokat, amelyek az alábbi mintákat rajzolják ki. A minták négyzetekből épülnek fel úgy, hogy ezek néhány részletét kitöröljük vagy megvastagítjuk minta1 100 minta2 100 minta3 100 Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/11. Évkönyvbe
Zsinka Bernadett mintái (Rajzolás után a teknőc nem tér vissza a kiinduló helyére. A harmadik mintában a kis négyzet oldala mindig 12,4 egység!) tanuld minta1 :a e :a j 90 e :a j 90 e :a / 2 j 90 e :a / 4 h :a / 4 b 90 tf e :a / 4 tl j 90 tv! 5 e :a / 4 b 90 e :a / 4 j 90 tf e :a / 4 j 90 tl tv! 1 e :a / 4 h :a / 4 b 90 e :a / 2 j 90 tanuld minta2 :a tv! 5 h :a / 4 b 90 e :a / 2 j 90 e :a j 90 e :a j 90 e :a / 2 j 90 e :a / 4 tf e :a / 4 tl j 90 tv! 1 e :a / 4 b 90 e :a / 8 b 90 e :a / 16 tf e :a / 16 j 90 e :a / 16 tl e :a / 16 b 90 e :a / 8 b 90 e :a / 4 tanuld minta3 :a j 180 e :a / 4 kisn2 tv! 1 e :a / 2 kisn2 tv! 1 e :a kisn2 tv! 1 e :a kisn2 tv! 1 e :a / 2 kisn2 tv! 1 e :a / 4 tanuld kisn2 tv! 5 ism 3[e 12,4 b 90] e 12,4 Ruszki Bálint mintái (A rajz állapotátlátszó, azaz rajzolás után a teknőc visszatér a kiinduló helyére.) tanuld minta1 :a j 90 e :a / 2 b 90 e :a / 4 h :a / 4 j 90 tf e :a / 4 tl b 90 tv! 6 e :a / 4 j 90 e :a / 4 h :a / 4 b 90 h :a / 4 b 90 tv! 1 tf e :a / 4 tl e :a / 2 j 90 e :a j 90 e :a j 90 e :a / 2 j 90 e :a / 4 h :a / 4 j 90 e :a / 2 b 90 e :a b 90 e :a j 180 tanuld minta2 :a tv! 6 e :a j 90 e :a j 90 e :a / 2 j 90 e :a / 4 tv! 1 tf e :a / 4 tl j 90 e :a / 4 b 90 e :a / 8 b 90 e :a / 16 tf e :a / 16 j 90 e :a / 16 tl e :a / 16 b 90 e :a / 8 b 90 e :a / 4 j 90 tf e :a / 4 tl tv! 6 e :a / 4 j 90 e :a / 2 tv! 1 j 90 tanuld minta3 :a j 90 e :a / 2 b 90 e :a / 4 h :a / 4 h :a / 8 tv! 4 négyzet :a / 8 tv! 1 e :a / 8 b 90 e :a / 2 b 90 tv! 4 négyzet :a / 8 tv! 1 j 180 e :a b 90 tv! 4 négyzet :a / 8 tv! 1 j 180 e :a b 90 tv! 4 négyzet :a / 8 tv! 1 j 180 e :a / 2 b 90 tv! 4 négyzet :a / 8 tv! 1 j 180 e :a / 4 h :a / 4 j 90 e :a / 2 b 90 e :a b 90 e :a j 180 tanuld négyzet :a ism 4[előre :a jobbra 90] Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/12. Évkönyvbe
Első forduló, III. kategória (7-8. osztály), 1. feladat: Minták (21 pont) Készítsd el azokat a Logo eljárásokat, amelyek az alábbi mintákat rajzolják ki. A minták különböző méretű négyzetekből épülnek fel úgy, hogy ezek néhány részletét kitöröljük, összekötjük vagy megvastagítjuk. minta1 100 minta2 100 minta3 100 Lipták Bence megoldása tanuld ab :a b 45 e :a j 90 e :a j 90 e :a / 2 j 90 e :a / 4 b 45 e :a / 4 * gyök 2 b 45 e :a / 4 j 90 e :a / 2 j 135 tanuld aj :a b 45 e :a / 2 j 90 e :a / 4 b 45 e :a / 4 * gyök 2 b 45 e :a / 4 j 90 e :a / 2 j 90 e :a j 90 e :a j 135 tanuld minta1 :a tv! 5 e :a / 2 h :a / 2 b 90 e :a j 90 e :a * 2 j 90 e :a * 2 j 90 e :a j 90 e :a / 2 tv! 1 tf e :a / 2 tl e :a / 2 j 90 e :a / 4 j 90 e :a / 8 tf e :a / 8 b 90 e :a / 8 tl e :a / 8 j 90 e :a / 4 j 90 e :a / 2 tf e :a j 180 tl tanuld minta2 :a b 45 e :a j 90 e :a j 90 e :a / 2 j 45 tv! 5 e :a / 2 * gyök 2 tv! 1 j 45 e :a / 2 j 90 e :a h :a j 90 e :a / 2 tv! 5 j 90 e :a / 2 b 90 e :a / 2 b 45 e :a / 2 * gyök 2 b 45 e :a / 2 b 90 e :a / 2 h :a / 2 j 90 h :a / 2 tv! 1 j 90 e :a / 2 j 90 e :a j 90 e :a j 90 e :a / 2 tanuld minta3 :a ab :a j 45 tf e :a / 4 * 3 b 45 tl e :a / 4 * gyök 2 tv! 5 j 45 e :a / 4 j 90 e :a / 4 j 45 tv! 1 e :a / 4 * gyök 2 tv! 5 j 45 e :a / 4 j 90 e :a / 4 tv! 1 tf h :a / 4 j 90 e :a / 4 b 90 h :a / 4 * 3 tl j 45 aj :a Első forduló, III. kategória (7-8. osztály), 2. feladat: 2. feladat: Fa (24 pont) Készítsd el az ábrán látható fát rajzoló Logo eljárást (fa :h :g)! A fa törzse barna színű, alul 10-es, középen 8-as, felül 6-os vonalvastagságú legyen! Az ágak zöld színűek, a vonalvastagságuk kifelé egyesével csökken, legkívül 2-es. A gyümölcsök szára is zöld, de csak egyszeres vonalvastagságú, a gyümölcsök pedig pirosak legyenek! A törzs 6*:h magasságú legyen, az ágak felülről lefelé :h, 2*:h, illetve 4*:h hosszúságúak legyenek! Az ágakon felülről lefelé 1, 2, illetve 4 gyümölcs lógjon (balra és jobbra is), egymástól :h/2 egység távolságra! A gyümölcsök szára :g, a gyümölcsök oldalai pedig :g/2 méretűek legyenek, a szögek 60 és 120 fokosak! Készíts külön eljárást az ágak (balág :db :h :g, jobbág :db :h :g) és a gyümölcsök (gyümölcs :g) megrajzolására! Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/13. Évkönyvbe
Lipták Bence megoldása tanuld gyümölcs :g tv! 1 tsz! 3 e :g tsz! 12 b 30 ism 2 [e :g / 2 j 60 e :g / 2 j 120] tf j 30 h :g tsz! 0 tl tanuld balág :db :h :g ha :db = 1 [stop][tsz! 10 tv! :db + 1 e :h ~ b 90 gyümölcs :g tsz! 10 j 90 ~ balág :db - 1 :h :g] tanuld jobbág :db :h :g ha :db = 1 [stop][tsz! 10 tv! :db + 1 e :h ~ j 90 gyümölcs :g tsz! 10 b 90 ~ jobbág :db - 1 :h :g] tanuld fa :h :g tv! 10 tsz! 6 e :h * 2 b 90 balág 5 :h :g tf h :h * 4 tl j 180 jobbág 5 :h :g tf h :h * 4 tl b 90 tv! 8 tsz! 6 e :h * 2 b 90 balág 3 :h :g tf h :h * 2 tl j 180 jobbág 3 :h :g tf h :h * 2 tl b 90 tv! 6 tsz! 6 e :h * 2 b 90 balág 2 :h :g tf h :h tl j 180 jobbág 2 :h :g Természetesen sokféle fát rajzolhatunk. Figyeld meg, hogyan változnak a fák, ha híváskor más paramétereket adsz meg. Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/14. Évkönyvbe
Animációt is készítünk A Comenius Logo programcsomaghoz tartozik egy képsorszerkesztő, amellyel animációkat lehet készíteni. A tanév levezetéseként áprilistól ezzel foglalkoztunk. A legötletesebbeket letöltheted a SULI-SOFT honlapjáról 6 : Zsinka Bernadett: Száll a lepke virágról virágra (5zsbe01.lgw) Mátis Gergő: Jön a vonat (5mage01.lgw) Lipták Bence: A nagy bajvívás (lb080429.lgw) Lipták Bence: Kosárdobás (lb080520.lgw) Ruszki Bálint: Kékhalál (6ruba001.lgw) 25. fázis 28. fázis 29. fázis 33. fázis 36. fázis 50. fázis 53. fázis 57. fázis 58. fázis 63. fázis 68. fázis Ha kedvet kaptál a LOGO programozáshoz és a többi feladat is érdekel, szeretettel várlak a 2008/2009. tanév programozói szakkörén. Lugosi Márta néni Bp. 2008. július 16. 6 www.suli-soft.hu Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/15. Évkönyvbe
Megfejtések: 1. soksz2 90 8 soksz2 80 8 soksz2 70 8 soksz2 8 10 soksz2 50 8 (egyre kisebb színes nyolcszögek) 2. ism 5[tr soksz2 90 7 soksz2 80 7 soksz2 70 7 soksz2 60 7 várj 10] (ez már majdnem a diszkó élménye : egyre kisebb színes hétszögek váltják egymást) 3. tr soksz2 100 10 soksz2 100 9 soksz2 100 8 soksz2 100 7 soksz2 100 6 soksz2 100 5 soksz2 100 4 soksz2 100 3 (100 oldalhosszúságú, egyre kisebb oldalszámú színes szabályos sokszögek) 4. tr ism 2[soksz2 50 10 soksz2 50 9 soksz2 50 8 soksz2 50 7 soksz2 50 6 soksz2 50 5 soksz2 50 4 soksz2 50 3 balra 180] (A 3. példabeli ábrához hasonló rajz és annak tükörképe ; csak most a sokszögek oldala 50 egység.) 5. ism 15[tr ism 2[soksz2 50 10 soksz2 50 9 soksz2 50 8 soksz2 50 7 soksz2 50 6 soksz2 50 5 soksz2 50 4 soksz2 50 3 balra 180] várj 5] ( Diszkófény a 4. példabeli alakzatokból) Módosítsunk!!! Próbáld ki, mi történik, ha a parancsokban változtatod a soksz2 eljárásban szereplő első számot! a soksz2 eljárásban szereplő második számot! az ismétlések számát! a várj parancs mögötti számot! a 4. példában az ismétlések számát és a balra fordulás szögét! Károlyi István 12 Évfolyamos Gimnázium LOGO grafikák/16. Évkönyvbe