Logo (programozási nyelv)

A Wikipédiából, a szabad enciklopédiából
A logót, mint emblémát lásd a Logó lapon.
Logo
Remi turtlegrafik.png

Paradigma multi-paradigma:funkcionális oktatási, procedúrális, reflexív
Megjelent 1967
Tervező Wally Feurzeig, Seymour Papert
Fejlesztő Wally Feurzeig, Seymour Papert
Típusosság dinamikusan típusos
Dialektusok StarLogo
Megvalósítások UCBLogo, many others
Hatással volt rá Lisp
Befolyásolt nyelvek Smalltalk, Etoys, Scratch, NetLogo, KTurtle, REBOL


A Logo nyelv parancsnyelv, a Lisp nyelv könnyebben olvasható adaptációja, melyet Wally Feurzeig és Seymour Papert készített. Mondhatjuk azt is, hogy a Logo a zárójelek nélküli Lisp. Ez a manapság főként „teknőcgrafikájáról” ismert nyelv jelentős listakezelési, fájlkezelési és I/O képességekkel rendelkezik. A Logo-t sikerrel alkalmazzák a számítástechnika gyermekekkel való megismertetésére (ennyiben szakterület-specifikus) és az alap számítástechnikai elvek tanítására, mint azt Brian Harvey tette a „Számítástechnika Logo módra” ("Computer Science Logo Style") trilógiájában. „Mikrovilágok” készítésére is használható, melyet a tanulók vizsgálgathatnak.

A Logo története[szerkesztés | forrásszöveg szerkesztése]

A Logót 1966-ban alkotta meg Wally Feurzeig és Seymour Papert a cambridge-i BBN kutatóintézetben. Szellemi gyökerei a mesterséges intelligencia, a matematikai logika és a fejlődéspszichológia területén találhatók. A Logo kutatás, fejlesztés és tanítás első négy éve a BBN-nél zajlott. Az első megvalósítás LISP nyelven készült egy PDP-1-es számítógépen. A neve "ghost" (szellem) volt.

A teknősgrafika sokkal későbbi fejlesztés. Azonban más a 1966-68 között Kalmár László vezetésével a Szegedi Kibernetikai laboratóriumban megépült a nevezetes kibernetikus katicabogár, meg a logikai gép, amelyeket szegedi jelzővel tart számon a tu­dománytörténet.

A Logo, az alapelveket tekintve, most sem különbözik a teknős előttitől. Az első teknős rádió irányítású (vezeték nélküli) paldójáró volt, és Irvingnek nevezték. Érintő érzékelői voltak, és az előre, hátra, jobbra, balra (fordulás) és a csenget parancsokat értette (volt csengője is). Az első iskola, ahol használták: Muzzy Jr High, Lexington MA.

Logo megvalósítások[szerkesztés | forrásszöveg szerkesztése]

Több mint 130 féle Logo megvalósítás létezik, melyek közül mindegyiknek megvan a maga erőssége. Népszerű keresztplatformos megvalósítás az UCBLogo. Freeware windowsos változata a MSWLogo az Egyesült Királyságban terjedt el. A Comenius Logo pedig Hollandiában, Németországban, Csehországban, Magyarországon stb. A SOLI Logo a francia változat, melyet széles körben használtak elemi iskolákban az 1980-as években. A Lego/Logo egy olyan rendszer volt, amely teknős vagy Lego motorok és érzékelők vezérlésére szolgált, s gyakran használták az osztálytermekben a 90-es évek közepén. Az ARLOGO az UCBLogo arab nyelvű portja, melyet az első arab nyelvű nyílt forrású programnyelvnek tartanak.

Az Imagine Logo 7 féle nyelven használható: magyar, angol, cseh, lengyel, portugál, brazil és szlovák.

A teknőc programozása[szerkesztés | forrásszöveg szerkesztése]

Példák[szerkesztés | forrásszöveg szerkesztése]

1. példa: négyzet[szerkesztés | forrásszöveg szerkesztése]

Ez a kódrészlet 100 egység oldalú négyzetet rajzol.

forward 100
right 90
forward 100
right 90
forward 100
right 90
forward 100

2. példa: háromszög[szerkesztés | forrásszöveg szerkesztése]

Ez a kódrészlet 100 egység oldalú egyenlő oldalú háromszöget rajzol.

forward 100
left 120
forward 100
left 120
forward 100

3. példa: szaggatott vonal[szerkesztés | forrásszöveg szerkesztése]

A következő példa egy 100 egységnyi hosszúságú pontozott vonalat rajzol.
Az egyes szakaszok hosszai 20 egység hosszúak.

  PD FORWARD 20
  PU FORWARD 20
  PD FORWARD 20
  PU FORWARD 20
  PD FORWARD 20

De ugyanezt rajzolhatjuk ciklussal is:

  REPEAT 3 [PD FORWARD 20 PU FORWARD 20]

Azonban ne felejtsük el azt sem, hogyha magyar Logóról van szó:

  ISMÉTLÉS 3 [TL ELŐRE 20 TF ELŐRE 20]

4. példa: programciklusok[szerkesztés | forrásszöveg szerkesztése]

Az első példa négyzetrajzoló programja tömörebben
(csak a teknőc még fordul 90 fokot) (feltétel nélküli ciklus):

repeat 4 [ forward 100 right 90 ]

5. példa: új szavak[szerkesztés | forrásszöveg szerkesztése]

Az előző négyzetrajzoló kód új szóként:

to negyzet
repeat 4 [ forward 100 right 90 ]
end

6. példa: törlés (az UCBLogo nyelvjárásban)[szerkesztés | forrásszöveg szerkesztése]

7. példa: paraméterezés[szerkesztés | forrásszöveg szerkesztése]

Tetszőleges oldalhosszúságú négyzetet rajzoló szó:

to negyzet :oldal
repeat 4 [ forward :oldal right 90 ]
end

Tetszőleges oldalhosszúságú és szögszámú szabályos sokszöget rajzoló szó:

to sokszog :oldalhossz :szogszam
repeat :szogszam [ forward :oldalhossz right 360/:szogszam ]
end

A Logo nyelv[szerkesztés | forrásszöveg szerkesztése]

Függvények és eljárások[szerkesztés | forrásszöveg szerkesztése]

8. példa: spirál rekurzióval[szerkesztés | forrásszöveg szerkesztése]

Példa rekurzióra a Logoban.

Csokkeno l.jpg

Eredmény:

Csokkeno.jpg

Adatkezelés[szerkesztés | forrásszöveg szerkesztése]

Listák[szerkesztés | forrásszöveg szerkesztése]

9. példa: lista első öt elemének kiválasztása[szerkesztés | forrásszöveg szerkesztése]

Vezérlési szerkezetek[szerkesztés | forrásszöveg szerkesztése]

Sablon iteráció[szerkesztés | forrásszöveg szerkesztése]

Tulajdonságlisták[szerkesztés | forrásszöveg szerkesztése]

Ki- és bevitel[szerkesztés | forrásszöveg szerkesztése]

Grafika[szerkesztés | forrásszöveg szerkesztése]

10.[szerkesztés | forrásszöveg szerkesztése]

Az MSWLogo kiterejsztései[szerkesztés | forrásszöveg szerkesztése]

Helló, világ![szerkesztés | forrásszöveg szerkesztése]


Print [Hello, világ!]
Label [Hello, világ!]

Irodalomjegyzék[szerkesztés | forrásszöveg szerkesztése]

Stuur, Addo - Tucsányiné Szabó Márta: Comenius Logo. Játék és programozás, Kossuth, cop. 1998.

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Nyelvjárásai[szerkesztés | forrásszöveg szerkesztése]

Egyik változata a Comenius Logo, ami 8-16 éves gyerekek algoritmizálható folyamatokkal megoldható feladatokkal ad ízelítőt a programozásból. Sok iskolában tanítják a Pascal nyelv helyett, vagy amellett. Új generációja, az Imagine [1] sokkal több lehetőséggel rendelkezik és jár hozzá egy rajzolóprogram is. (LogoMotion)