250 likes | 411 Views
A LOGO P R O G R A M O Z Á S I N Y E LV. A teknőcgeometria. Mielőtt a teknőc rajzolni kezdene… Bevezetés. A Logo a görög „logosz” szóból származik, amely értelmet, tudományt jelent .
E N D
ALOGOPROGRAMOZÁSI NYELV A teknőcgeometria
Mielőtt a teknőc rajzolni kezdene… Bevezetés • A Logo a görög „logosz” szóból származik, amely értelmet, tudományt jelent . • A Logo egy programozási nyelv. A hozzá kapcsolódó pedagógiai elvek kidolgozása és elterjesztése SeymourPapert amerikai professzor nevéhez fűződik, aki Piaget munkatársaként dolgozott az 1950-es években.(Piaget a XX. századegyik legnevesebb fejlődéslélektani kutatója, a gyermeki megismerés, a kognitív ismeretszerzés vizsgálója) • A Logo filozófiája a modulszerűen felépített programozás; az egyes elemekből épül fel a végső program
A Logo népszerűsége: • Sikerét és nemzetközi népszerűségét a teknőcgrafika, és a mindenki által hozzáférhető mikroszámítógépekelterjedése hozta meg. Comenius Logo: • A pozsonyi Comenius EgyetemInformatika Oktatási Tanszékének 1992 óta fejlesztett terméke • Windows környezetben fut • Minden ország ellátta anyanyelvi szókészlettel
A Comenius Logo alkalmazásablakának két fő része:az írólap és a rajzlap területe. rajzlap írólap
Mit is tud a teknőc? Comenius Logo alapok Van egy teknőcünk, amelynek sok mindent megtaníthatunk. Azokat a szavakat, amelyeket megért, kulcsszavaknak nevezzük. A tudása jobbára a mozgásával kapcsolatos: • Tud adott távolsággal előre és hátra mennipéldául: ha azt az utasítást adjuk a teknőcnek, hogy előre 20,akkor előrelép 20 egységet; ha azt, hogy hátra 50, akkor hátralép 50 egységet. • Tud adott szöggel balra vagy jobbra elfordulnipéldául: ha azt az utasítást adjuk a teknőcnek, hogy balra 90,akkor balra fordul 90 fokot; ha azt, hogy jobbra 120, akkor jobbra fordul 120 fokot. • A tollát (amely a hasára van erősítve) képes felemelni, leereszteni, vagy más színűre tudja cserélnipéldául: tollatfel utasítás esetén a tollat felemeli, ezután haladás közben nem rajzol; tollatle utasítás után a tollat leengedi, ezután haladás közben rajzol; tollszín!színkód utasítás után a megadott kódú színnel rajzol
Színkódok-színek Beállíthatjuk a rajzlap és a toll színeit, kiválaszthatjuk a kitöltőszínt. Ez történhet a 16 alapszín, vagy az RGB komponensek segítségével.
Az alapvető Logo utasítások megadásakor, érdemes a kulcsszavak rövidítését használni. Alább ezek összefoglaló táblázata látható:
A teknőcöt utasíthatjuk parancsmódban (1); úgy, hogy a hosszú parancssorokat újból és újból leírjuk. Ezt elkerülendő megtanítjuk a teknőcöt egy új szó jelentésére, új eljárást (2) készítünk. Eljárás:a tanuld utasítással kezdődik és a vége utasítással fejeződik be. Ismétlés: Bármelyik sokszög rajzolásáról is van szó, mindig ugyanazt a két lépést kell ismételni: előre lépünk valamennyit, majd elfordulunk valahány fokot; az ilyen hosszú parancssorok helyett az ismétlés utasítást használjuk.Pl.: ism 3 [e 100 j 120] utasítás egy 100 egység oldalhosszúságú szabályos háromszöget rajzol.Az ismétlés első paramétere az ismétlésszám, a második paramétere pedig - szögletes zárójelben- a megismétlendő tevékenységek.
Rajzoljunk például egy 100 egység oldalhosszúságú négyzetet a két módszerrel: (1) e 100 j 90 e 100 j 90 e 100 j 90 e 100 j 90 (2) tanuld négyzet ism 4 [e 100 j 90]vége A (2) eljárás esetén az alkalmazásablak írólap részére elegendő beírni a négyzet szót.
Paraméteres eljárással is megadható a négyzet mérete, így ugyanazon eljárással több különböző méretű is rajzolható: tanuld négyzet :xism 4 [e :x j 90]vége Paraméteres eljárás definiálása: tanuld eljárásnév paraméterekutasításokvége A körrajzolás nem más, mint egy szabályos, nagyon sok (360) oldalú sokszög rajzolása tanuld poligon :oldal :hosszism :oldal [e :hossz b 360/:oldal]vége
Ha a kört úgy szeretnénk megrajzolni, hogy adott r sugarú legyen, akkor a kör kerületképletét felhasználva a kővetkező eljárást készíthetjük el: tanuld kör :rism 360 [ e 2*:r*3,14159/360 j 1 ]vége Ezen az ábrán látható, hogy a kör egy sok oldalú sokszög!
Ha az utasítások végrehajtása feltételtől függ FELTÉTELES UTASÍTÁSOK Választás két utasításcsoport között hafeltétel[akkor ág utasításai][különben ág utasításai] Utasítások feltételes végrehajtása hafeltétel [akkor ág utasításai] Az ismétlést leíró szerkezet is tartalmazhat feltételt.
Rekurzióazaz, ha egy eljárás önmagát hívja meg A rekurzió egyik egyszerű, nevezetes példája a hóember rajzolás: tanuld kör :átmérő ism 360 [e :átmérő * 3.14 / 360 j 1] vége tanuld hóember :db :átmérő j 90 kör :átmérő b 90ha :db > 1 [tf e 2 * :átmérő / 3 tl hóember :db - 1 2 * :átmérő / 3] vége
Fa rajzolása rekurzívan: tanuld fa :db :hossz e :hossz ha :db > 1 [b 45 fa :db - 1 :hossz / 2 j 90 fa :db - 1 :hossz / 2 b 45] h :hossz vége
Fraktálok Nagyon érdekes, látványos alkalmazási terület a fraktáloké. A fraktálok jellemzője az önhasonlóság, azaz mindegyikben felfedezhetünk olyan részeket, amelyek hasonlóak az eredeti ábrához. Az egyik nevezetes fraktál az úgynevezett Koch-görbe, amelynek adott szintű változatai rajzolhatók meg.
A Koch-görbe logo nyelven: tanuld Koch :sz :x ha :sz = 1 [e :x] [Koch :sz - 1 :x / 3 b 60 Koch :sz - 1 :x / 3 j120 ~~Koch :sz - 1 :x / 3 b 60 Koch :sz - 1 :x / 3] vége A Koch-görbe segítségével nagyon szép hópehely illetve kristályszerű ábrákat rajzolhatunk: tanuld hópehely :sz :x ism 3 [Koch :sz :x j 120] vége tanuld kristály :sz :x ism 3 [Koch :sz :x b 120] vége
Elemi szövegkezelés A Comenius Logo másik fő része nem rajzolással, hanem szövegmanipulációval, függvényekkel kapcsolatos. A Logo elemi adatai a karakterek, amelyekből számok, illetve szavak épülnek fel. A számokból és szavakból mondatokat képezhetünk, a mondatok bekezdéseket alkothatnak. A struktúrák:Szám számjegyekSzó "karakterekMondat [szavak és számok]Bekezdés [[első mondat] ... [utolsó mondat]]
A szövegkezelésre példa a következő mondatfordító eljárás: tanuld mondatfordít :mondat ha üres? :mondat [eredmény :mondat] eredmény utolsónak szófordít első :mondat mondatfordít elsőnélküli :mondat vége
Zárásként két versenyfeladat megoldása 2006-ból TRAPÉZOK Az eredmény:
A trapézok megvalósítása Logo nyelven: tanuld trapéz :sorszám :oldal alak! "teki tl st tsz! 0 tv! 1 j 30 e :oldal j 60 e :oldal~~j 60 e :oldal j 120 e :oldal * 2 tf h :oldal j 90 ~ ~e :oldal / 2 tl tsz! :sorszám tölt tf h :oldal / 2 b 90~ ~e :oldal j 120 b 90 ha :sorszám > 1 [trapéz :sorszám - 1 :oldal / 2 tf~ ~j 150 e :oldal b 30 tl trapéz :sorszám - 1 :oldal /2~ ~j 150 e :oldal b 30 tl trapéz :sorszám - 1 :oldal /2~ ~tf j 150 e :oldal j 120 e :oldal * 2 j 120 b 90 tl] vége
Végül a kőr Logo nyelven tanuld kőr :r b 45 e :r * ( 1 + gyök 2 ) ism 225 [e :r * 3.14159 / 180 j 1] b 180 ism 225 [e :r * 3.14159 / 180 j 1] e :r * ( 1 + gyök 2 ) j 135 tf e :r / 5 tl tsz! 12 tölt vége
KŐR Köszönöm a figyelmüket!