Logo (programozási nyelv)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. április 24-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .
Logó
Nyelvóra oktatási programozási nyelv , funkcionális programozási nyelv és programozási nyelv
Megjelent 1967
Szerző Seymour Papert , Cynthia Solomon ,
Fejlesztő Papert, Seymour , Harel, Idita és Cynthia Solomon [d] [1]
Befolyásolva Selypít
 Médiafájlok a Wikimedia Commons oldalon

A logó ( angol  logo ) egy magas szintű programozási nyelv , amelyet 1967-ben Wally Förzeg , Seymour Papert és Cynthia Solomon fejlesztettek ki oktatási célokra, hogy megtanítsák az óvodás és általános iskolás gyerekeknek a programozás alapfogalmait ( rekurzió , bővíthetőség, stb.).

A Logo tanulási eszközként való használatának sikerének első tudományos bizonyítékát Idit Harel , Papert tanítványa mutatta be, aki 1988-ban a Logo segítségével tanította meg a gyerekeknek a programozást és a törteket [2] .

A logó olyan környezetet biztosít, amelyben a gyerekek fejleszthetik érvelési és problémamegoldó készségeiket.

Általános információk

A Logo programozási nyelv és környezet tipikus és elvárt része a teknős grafikus eszközök , amelyek egyrészt vizualizációt tesznek lehetővé a programozás tanulásában, másrészt nagyon szervesen ötvöződnek a rekurzió elterjedt használatával. .

Különféle platformokhoz és operációs rendszerekhez léteznek logótolmácsok : Windows , DOS , Linux , Mac OS , Unix stb. Számos objektumorientált logódialektus létezik , mint például az 1986 -ban kiadott Object Logo . 1997 - ben megjelent az orosz verzió - LogoMira .

Brian Harvey, a háromkötetes Computer Science Logo Style szerzője megalkotta a Berkeley logót . A logó több ügynököt tartalmazó verziói - StarLogo és NetLogo .

A tipikus emblémamegvalósítások (például az LCSI - től ) a programozó számára beépített parancsok könyvtárát, szöveges értelmezőkonzolt és "programlapot" biztosítanak, amelyen utasításokat helyezhet el az új funkciók regisztrálásához. Legalább egy grafikus képernyő is rendelkezésre áll, legalább egy teknőssel.

Sok implementáció támogatja a többszálú feldolgozást  - a teknősök parancsainak végrehajtásának szintjén, valamint azon képesség szintjén, hogy aszinkron módon lehessen futtatni egy parancsot, és később ellenőrizni tudja, hogy az befejeződött-e. Lehetőség van egy programozottan generált szólista átadására az értelmezőnek végrehajtásra.

A logó fejlettebb, mint a BASIC és Fortran procedurális programozási nyelvek , amelyeket általában a programozás tanítására használnak. A Logo implementációk azonban általában nem rendelkeznek jól megtervezett fájlprogramokkal, és ez megakadályozza, hogy széles körben alkalmazzák programozási nyelvként.

Lényegében a Logo nyelv a Lisp nyelv adaptációja (néhányan "zárójel nélküli Lispnek" is nevezik).

Szintaxis és értelmezés

A Logo-ban egy program "szavak" listája.

Általános szabály, hogy a Logo implementációk kissé korlátozzák a szóban megengedett karakterek listáját, így a parancsok oroszul is meghívhatók. Ezenkívül a Logo számos orosz nyelvű megvalósítása orosz nyelvű parancsokkal vagy beépített orosz nyelvű szinonimákkal rendelkezik az összes beépített parancshoz.

A listában szereplő szavak szóközzel vannak elválasztva.

A szó lehet parancs vagy három típus valamelyikének literálja – karakterlánc, numerikus vagy listaliterál. A parancs visszaadhat egy értéket, ebben az esetben függvénynek tekintendő. A literálok közvetlenül adják vissza értéküket. A karakterlánc-literál olyan szóként van formázva, amelyet dupla idézőjel előz meg. A számjegyekből álló szavakat numerikus literálokként értelmezzük. A programszövegben szereplő szavak felsorolásához szögletes zárójelek veszik körül.

Léteznek parancsok az értékek elmentésére és név szerinti lekérésére is, de sok implementáció kiegészíti azt a változó fogalmával – bevezetve egy kompakt parancsszintaxist a változó értékének lekérésére. Ezért ahhoz, hogy egy változó értékét megkapjuk, általában elegendő a nevét kettősponttal kiegészítve.

Van egy speciális szintaxis, amellyel nem rögzített számú paramétert adhatunk át néhány beépített parancsnak. Ehhez javasoljuk, hogy a parancsot és annak összes paraméterét zárójelbe helyezzük, például: (СПИСОК :A :Б :В :Г 1 2 3 4)Felhasználói parancsoknál ez a szintaxis nem alkalmazható, mert nincs szintaxis az így átadott paraméterek feldolgozásának leírására.

Az értelmezőnek átadott parancsok listája sorra kerül végrehajtásra. A következő szót a rendszer a rendszer aktuális szótárából származó parancsként értelmezi. Ha paramétereket vesz fel, akkor az értelmező végrehajtja a lista következő szavát, hogy egy értéket kapjon első paraméterként.

Ha egy parancs helyettesíti a paramétert, akkor a parancsnak értéket kell visszaadnia. Ha pedig a következő parancs által visszaadott értéket nem kívánja átadni egy másik parancsnak, akkor a rendszer hibát jelez, ha ilyen hívást talál a programszövegben, vagy megjeleníti az értéket, ha a parancsot interaktív módban hívták meg.

A matematikai és logikai kifejezések szokásos infix formáinak használata ismert operátorokon, például "(2 + 3) * 5" és "2 > 5" támogatott. De mivel a nyelv alapszabályai szerint a parancs jön először, majd a paraméterei, egyes dialektusokban (például LCSI LogoWorlds és LogoWriter) alapvető aritmetikai és logikai műveletekhez is léteznek parancsok, amelyek segítségével mely kifejezések a „szorozd összead 2 3 5” és „többet? 2 5"

Van egy parancs a szótár egyéni parancsokkal történő bővítésére, új parancsnevet, paraméterlistát és parancslistát fogad el.

A programvégrehajtás szabályozására két fő mechanizmus létezik: a fix ismétlésszámú ciklusutasítás és a rekurzió.

Helló Világ!

KÖSZÖNJÜK NYOMTATÁS [Hello World!] VÉGE

A logó orosz nyelvű változatában:

ÜDVÖZLÉSRE ÍRJ [Hello világ!] VÉGE

Megvalósítások

2010 júniusáig legalább 246 logó implementációja [3] történt a nyelv létrehozása óta.

Jelenleg nincs egységes szabvány a logó nyelvére, bár a nyelv alapvető szempontjaira vonatkozó bizonyos konvenciók széles körben elfogadottak. A Logo dialektusai jelentős eltéréseket mutatnak. A helyzetet bonyolítja számos teknős grafikus program jelenléte, amelyeket tévesen "Logo"-nak neveznek.

A nyelv legszélesebb körben használt és domináns megvalósítása akkoriban az Apple Logo rendszer volt , amelyet az LCSI fejlesztett ki az Apple II számítógéphez , és amelyet az 1980 -as években terjesztettek . Bulgáriában ezt a terméket bolgár és orosz nyelvre lokalizálták a Pravets 8 sorozat Apple II-vel kompatibilis számítógépeihez, "Logo 2.0" néven terjesztették, és széles körben használták az oktatási folyamatokban Bulgáriában és a Szovjetunióban . Ezt követően Oroszországban kiadták az MS-DOS-hoz készült LCSI termék oroszországi lokalizációját LogoWriter néven .

Az UCBLogo [4] ingyenes , többplatformos megvalósítása , más néven Berkeley Logo , ma már széles körben használatos , de hiányzik belőle a kezdetleges grafikus felhasználói felület .

Az MSWLogo [5] és újabb verziója az FMSLogo [6] [7] elérhető Microsoft Windows rendszerhez , és széles körben használják az Egyesült Királyság és Ausztrália iskoláiban . A MicroWorlds Logo [8] és az Imagine Logo [9] kereskedelmi megvalósításait is használják a nyugati iskolákban .

Az MSWLogo és az FMSLogo több teknőst és 3D grafikát, valamint fejlett I/O és egyéb bővítményeket támogat.

MacOS X - re elérhető az ACSLogo [ 10] ingyenes implementációja , amely meglehetősen fejlett grafikus felülettel, több nyelven lokalizálható, és lehetővé teszi saját honosítások hozzáadását.

Oroszországban az oktatási folyamat az LCSI MicroWorlds for Windows és Mac OS X orosz nyelvű lokalizációit használja, „LogoMira” és „PervoLogo” [11] néven .

Lásd még

Jegyzetek

  1. 1 2 3 https://www.ncwit.org/profile/cynthia-solomon
  2. Bob Johnstone. Ne törődj a laptopokkal: gyerekek, számítógépek és a tanulás átalakulása . - iUniverse, 2003.08.17. - S. 130. - 362 p.
  3. A Logo Tree Project (lefelé hivatkozás) . Hozzáférés dátuma: 2009. július 4. Az eredetiből archiválva : 2009. március 6. 
  4. Berkeley logó (UCBLogo) . Letöltve: 2010. február 2. Az eredetiből archiválva : 2010. január 25..
  5. MSWLogo, oktatási programozási nyelv . Letöltve: 2010. február 2. Az eredetiből archiválva : 2015. október 12..
  6. FMSLogo . Letöltve: 2010. február 2. Archiválva az eredetiből: 2015. szeptember 15.
  7. A Developer Wayback Machine -nél 2009. október 4-én archivált tervek egy többplatformos verziót is tartalmaznak
  8. Üdvözöljük az LCSI-ben . Letöltve: 2010. február 2. Az eredetiből archiválva : 2015. október 8..
  9. Imagine Logo – Oktatási szoftverértékelés – TEEM (hivatkozás nem elérhető) . Letöltve: 2010. február 2. Archiválva az eredetiből: 2009. augusztus 29. 
  10. ACSLogo Mac OS X rendszerhez. Letöltve: 2010. február 2. Az eredetiből archiválva : 2010. március 23..
  11. Orosz nyelvű termékek logója (elérhetetlen link) . Letöltve: 2009. július 4. Az eredetiből archiválva : 2009. augusztus 3.. 

Linkek

Irodalom