nagy zoltán - comenius logo referenciakönyv (1998, 212 oldal)

203
Helpből készített referenciakönyv összeállította: Nagy Zoltán

Upload: andras-kolbasz

Post on 24-Jun-2015

323 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Helpből készített referenciakönyv

összeállította: Nagy Zoltán

Page 2: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A Comenius Logo felülete:

Objektum szerkesztő Teljes rajzlap AlapszavakBetöltés Osztott képernyő GombsorMentés Írólap Demó programokSegítség Feladatok Program leállítás

2

Page 3: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Numerikus függvények

* * --- művelet 2 bemenő adattalszám1 * szám2 a bemenet1 * bemenet2 és a SZORZAT bemenet1 bemenet2 függvé-nyek megegyeznek Eredményül a bemenő adatok szorzatát kapjuk.

? KI 7 * 321? KI -3 * -515? KIÍR (MONDAT 2 "* 3 "EGYENLŐ 2 * 3)2 * 3 EGYENLŐ 6

++ --- művelet 1 vagy 2 bemenő adattalszám1 + szám2+száma bemenet1 + bemenet2 és az ÖSSZEG bemenet1 bemenet2 függvények megegyez-nekEredményül a bemenetként adott számok összegét kapjuk.

? KI 22 + 1840? HA ÖSSZEG 3 4 = 3 + 4 [KIÍR "JÓL VAN] [KIÍR "BOCS]JÓL VAN

Ha a műveletnek egyetlen paramétere van, akkor eredményként magát a bemenő számot kapjuk.

-- --- művelet 1 vagy 2 bemenő adattalszám1 - szám2-száma bemenet1 - bemenet2 és a KÜLÖNBSÉG bemenet1 bemenet2 függvények meg-egyeznekEredményül a szám1 és a szám2 különbségét kapjuk.

? KIÍR 44 - 1232

Egyetlen bemenő adat esetén a visszaadott érték az eredeti szám ellentettje.

? KI -2-2? KI -3-2-5

// --- művelet 2 bemenő adattal

3

Page 4: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

szám1 / szám2a bemenet1 / bemenet2 és a HÁNYADOS bemenet1 bemenet2 függvények meg-egyeznekKimenetként a szám1 szám2-vel való osztási eredményét kapjuk. A nullával való osztás HIBÁ-t idéz elő. Figyeljünk az / és az EGÉSZHÁNYADOS függvény közötti különb-ségre, hiszen ez utóbbi a bemeneti adatok maradékos osztásával kapott hányadost adja meg, mely mindig egész szám.

? KI 555555 / 3217361.09? KI EGÉSZHÁNYADOS 555555 3217361

ABSZABSZ --- függvény 1 bemenő adattalABSZ számEredménye a bemenő szám abszolút értéke.

? KIÍR ABSZ -55.455.4? KIÍR ABSZ -5 = 5IGAZ

ARCTGARCTG --- függvény 1 bemenő adattalARCTG számEredménye az a (fokokban mért) szög, amelynek tangense a bemenetként adott számmal egyezik meg. Ez az eredmény mindig -90 és 90 közé esik. Tehát az ARCTG a TG függ-vény inverze abban az esetben, ha a tangens értelmezési tartományát a (-90, 90) interval-lumra szűkítjük le.

? KI ARCTG -5-78.69? KI ARCTG 578.69? KI TG ARCTG 33.533.5

EGÉSZHÁNYADOS; EHEGÉSZHÁNYADOS; EH --- függvény 2 bemenő adattalEGÉSZHÁNYADOS szám1 szám2Eredményét a szám1-nek szám2-vel való maradékos osztásánál adódó hányados értéke adja meg. Ha a bemenő adatok nem egész számok, akkor első lépésként az EGÉSZ-RÉSZ függvény alkalmazásával csonkítani fogja őket a rendszer.

Az első paraméter másodikkal való maradékos osztása esetén kapott maradék a MARA-DÉK függvény által visszaadott érték. Figyeljük meg az EGÉSZHÁNYADOS és a HÁNYADOS függvények közötti különb-séget, mely az osztási eredményből olvasható le:

4

Page 5: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI EGÉSZHÁNYADOS 14 43? KI HÁNYADOS 14 43.5? KI MARADÉK 14 42

EGÉSZRÉSZEGÉSZRÉSZ --- függvény 1 bemenő adattalegészrészEGÉSZRÉSZ számEredménye a szám egészrésze (nem matematikai értelemben, inkább csonkolás), vagyis az eljárás azt az egész számot adja vissza, mely a törtrész elhagyása után keletkezik a számból. Hasonlítsuk össze a KEREKÍT függvénnyel!

? KI EGÉSZRÉSZ -34.76565-34? KI EGÉSZRÉSZ HATVÁNY 12

EHEGÉSZHÁNYADOS; EH --- függvény 2 bemenő adattalEGÉSZHÁNYADOS szám1 szám2Eredményét a szám1-nek szám2-vel való maradékos osztásánál adódó hányados értéke adja meg. Ha a bemenő adatok nem egész számok, akkor első lépésként az EGÉSZ-RÉSZ függvény alkalmazásával csonkítani fogja őket a rendszer.Az első paraméter másodikkal való maradékos osztása esetén kapott maradék a MARA-DÉK függvény által visszaadott érték. Figyeljük meg az EGÉSZHÁNYADOS és a HÁNYADOS függvények közötti különb-séget, mely az osztási eredményből olvasható le:

? KI EGÉSZHÁNYADOS 14 43? KI HÁNYADOS 14 43.5? KI MARADÉK 14 42

GYÖKGYÖK --- függvény 1 bemenő adattalGYÖK számahol a szám nem negatívEredménye a bemenet négyzetgyöke.

? NÉV "VALAMI 5? KIÍR GYÖK :VALAMI2.24? ISMÉTLÉS 3 [KIÍR GYÖK :VALAMI NÉV "VALAMI :VALAMI+5]2.243.163.87? TIZEDESJEGY! 18

5

Page 6: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KIÍR GYÖK 21,41421356237309505

HATVÁNYHATVÁNY --- függvény 1 bemenő adattalHATVÁNY számEredményét úgy kapjuk meg, hogy a természetes alapot, azaz e = 2.718281...-t a beme-nő szám által meghatározott kitevőre emeljük.

? KI HATVÁNY -50.01? KI ELEMSZÁM HATVÁNY -5

20 ; a belső pontosság igen nagy? TIZEDESJEGY! 18? KI HATVÁNY 12,71828182845904524

HÁNYADOSHÁNYADOS --- függvény 2 bemenő adattalHÁNYADOS szám1 szám2a HÁNYADOS bemenet1 bemenet2 és a bemenet1 / bemenet2 függvények meg-egyeznekEredményét a szám1 szám2-vel való osztásával kapjuk. A nullával való osztás HIBÁ-t okoz. Figyeljük meg a különbséget a HÁNYADOS és az EGÉSZHÁNYADOS függ-vény között, ami a bemenetek egészhányadosát adja meg (az eredmény egészrészét).

? KI HÁNYADOS 555555 3217361.09? KI EGÉSZHÁNYADOS 555555 3217361

KEREKÍTKEREKÍT --- függvény 1 bemenő adattalKEREKÍT számEredménye a bemenő számhoz legközelebb eső egész szám.Figyeljük meg a különbséget a KEREKÍT és az EGÉSZRÉSZ függvények között, mely nem kerekíti a bemenetét, hanem levágja annak törtrészét.

? KI KEREKÍT 7.728? KI KEREKÍT -55.5-56

COSKEREKÍT --- függvény 1 bemenő adattalKEREKÍT számEredménye a bemenő számhoz legközelebb eső egész szám.Figyeljük meg a különbséget a KEREKÍT és az EGÉSZRÉSZ függvények között, mely nem kerekíti a bemenetét, hanem levágja annak törtrészét.

? KI KEREKÍT 7.72

6

Page 7: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

8? KI KEREKÍT -55.5-56

KÜLÖNBSÉGKÜLÖNBSÉG --- függvény 2 bemenő adattalKÜLÖNBSÉG szám1 szám2a KÜLÖNBSÉG bemenet1 bemenet2 nem más, mint a bemenet1 - bemenet2Eredménye a két paraméter, szám1 és szám2 különbsége.

? KIÍR KÜLÖNBSÉG 44 -1232

LNLN --- függvény 1 bemenő adattalLN szám ahol a szám pozitív számEredménye a bemenetként szereplő szám természetes alapú logaritmusa (azaz az e = 2.71828... alapú logaritmusa).

? KI LN 102.3? KI ELEMSZÁM LN 10

19 ; a számok belső ábrázolásának pontossága nagyon nagy? TIZEDESJEGY! 18? KI LN 102,30258509299404568

MAMARADÉK; MA --- függvény 2 bemenő adattalMARADÉK szám1 szám2 ahol szám2 nem lehet 0Eredménye a bemenetek maradékos osztása esetén keletkező maradék lesz. Jegyezzük meg, hogy a kimenet előjele mindig azonos a szám1 előjelével.? KI MARADÉK 33 53? KI MARADÉK -33 5-3

MARADÉK; MA

ÖSSZEGÖSSZEG --- függvény 2 vagy N bemenő adattalÖSSZEG szám1 szám2(ÖSSZEG szám1 )az ÖSSZEG bemenet1 bemenet2 egyenértékű a bemenet1 + bemenet2 művelettel.Eredménye a két szám összege. Kettőnél több vagy kevesebb bemenet esetén az egész kifejezést zárójelek közé kell foglalni.

? KI (ÖSSZEG 22 33 44)99? HA ÖSSZEG 3 4 = 3 + 4 [KIÍR "HELYES!] [KIÍR "BOCS!]

7

Page 8: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

HELYES!

SINSIN --- függvény 1 bemenő adattalSIN szögEredménye a bemenő (fokokban mért) szög szinusza.

? KIÍR SIN 901? KIÍR ARCTG (SIN 45) / COS 4545? KIÍR ARCTG SIN 45 / COS 45

; először a COS-t számolja ki, aztán az osztást,; és csak ezután foglalkozik a SIN-szal és az ARCTG-sel

41.86

SZORZATSZORZAT --- függvény 2 vagy N bemenő adattalSZORZAT szám1 szám2(SZORZAT szám1 ... )a SZORZAT bemenet1 bemenet2 és a bemenet1 * bemenet2 függvények azonosakEredménye a két bemenő szám szorzata. Kettőnél több (vagy kevesebb) bemenő adat esetén az egész szerkezetet zárójelek közé kell tenni.

? HA 2 * 3 = SZORZAT 2 3 [KIÍR "IGEN] [KIÍR "NEM]IGEN? KI (SZORZAT 7)7

TGTG --- függvény 1 bemenő adattalTG szögEredménye a bemenő (fokokban mért) szög tangense. A függvény nem definiált 90 + i * 180 (ahol i egy egész szám) bemenő adatokra.

? KIÍR TG 451? KIÍR TG 501.19

Ha a TG függvényt a (-90, 90) intervallumra korlátozzuk, akkor létezik inverze, konkré-tan az ARCTG:

? KI TG ARCTG 72.572.5

VÉLETLENVÉLETLEN --- bemenő adat nélküli utasításVÉLETLEN

8

Page 9: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A rendszerórától kapott véletlen értékkel inicializálja a beépített véletlenszám-generár-ort.Ha a Logót kétszer egymás után elindítjuk, és az első kifejezésként ugyanazt a paran-csot, a KI VÉLETLENSZÁM 5-öt adjuk ki, akkor ugyanahhoz az eredményhez jutunk, mert a véletlenszám-generátor tulajdonképpen mindig ugyanarról az értékről indul. (Ez a sajátosság programunk fejlesztése, illetve a hibakeresés szakaszában igen hasznos le-het.) A VÉLETLEN utasítás „találomra megváltoztatja a véletlenszám-generátor kezdő-értékét, így a:

? VÉLETLEN? KI VÉLETLENSZÁM 5

utasítássorok különböző véletlenszámokat generálnak, akárhányszor újra elindítjuk a Logót.

VÉLETLENSZÁM; VSZVÉLETLENSZÁM; VSZ --- függvény 1 bemenő adattalVÉLETLENSZÁM számahol a szám nem negatívEredménye a 0 és szám-1 zárt intervallumból véletlenül választott egész szám. (Ha a be-menő szám nem egész, akkor ezt először kerekíti.) Például a VÉLETLENSZÁM 5 ered-ménye a következő számok egyike: 0, 1, 2, 3 vagy 4.

? ISMÉTLÉS 4 [KIÍR VÉLETLENSZÁM 5]0201

VSZ

9

Page 10: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Numerikus predikátumok

<< --- művelet 2 bemenő adattalszám1 < szám2a bemenet1 < bemenet2 és a KISEBB? bemenet1 bemenet2 függvények megegyez-nekEredménye IGAZ értékű, ha a szám1 kisebb, mint a szám2, egyébként pedig HAMIS.

? HA 2+3 < 6 [KIÍR "IGEN] [KIÍR "NEM]IGEN

Ne lepődjünk meg, ha a következőt látjuk:

? KIÍR 10 / 3 ; az eredmény csak 2 tizedes jegyet tartalmaz, 3.33 ; de a belső számolás ennél sokkal pontosabb

? KIÍR 3.33 < 10 / 3IGAZ

A tizedesjegyek száma...

<=<= --- művelet 2 bemenő adattalszám1 <= szám2Eredménye IGAZ, ha a szám1 kisebb, mint a szám2, vagy egyenlő vele, különben pedig HAMIS.

? KI 5 <= ABSZ -5IGAZ

Jegyezzük meg, hogy a <= művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé.

>> --- művelet 2 bemenő adattalszám1 > szám2a bemenet1 > bemenet2 és a NAGYOBB? bemenet1 bemenet2 függvények meg-egyeznekEredményül IGAZ értéket kapunk, ha a szám1 nagyobb, mint a szám2, különben pedig HAMIS-at.

? KI 2 > 7 / 3HAMIS? HA 2+3 > 6 [KIÍR "IGEN] [KIÍR "NEM]NEM

10

Page 11: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ne lepődjünk meg, ha a következőt látjuk:

? KIÍR 10 / 3 ; az eredmény csak 2 tizedesjegyet tartalmaz,3.33 ; de a belső számolás ennél sokkal pontosabb

? KIÍR 10 / 3 > 3.33IGAZ

A tizedesjegyek száma...

>=>= --- művelet 2 bemenő adattalszám1 >= szám2Eredménye IGAZ, ha a szám1 nagyobb, mint a szám2, vagy egyenlő vele. Különben az eredmény HAMIS.

? KI 7 >= KEREKÍT 7.44IGAZ

Jegyezzük meg, hogy a >= művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé.

<><> --- művelet 2 bemenő adattalakármi1 <> akármi2Eredménye IGAZ, ha a két bemenet különbözik egymástól, egyébként pedig HAMIS.

? KI (ÖSSZEG 2 3 4) <> 2 + 3 + 4HAMIS? KI 8 <> 3.4 + 4.5IGAZ

Jegyezzük meg, hogy a <> művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé. Figyeljünk arra is, hogy az üres szó és az üres lista (valamint az üres kép-sor) különböző objektumok:

? KI [ ] <> " IGAZ

== --- művelet 2 bemenő adattalakármi1 = akármi2a bemenet1 = bemenet2 és az EGYENLŐ? bemenet1 bemenet2 függvények meg-egyeznekHa mindkét bemenő adat szám, akkor az eredmény aszerint IGAZ vagy HAMIS, hogy a két szám egyenlő-e. Ha mindkét paraméter szövegkonstans vagy képsor, akkor az ered-mény csak abban az esetben IGAZ, ha a két bemenő adat azonos. Ha mindkét bemenet lista, csak akkor kapunk IGAZ értéket, ha a megfelelő elemeik egyenlőek (az = értelmé-ben).

? KI 2+3 = 4+1

11

Page 12: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

IGAZ

? KI "A = [A B C]HAMIS? KI "AAA = ELSŐ [AA BB CC]HAMIS? KI ELSŐNEK "A [B C] = UTOLSÓNAK "C [A B]IGAZ? KI ÜRESKÉPSOR = EN ELSŐ KÉREM 0 [ALAK]IGAZ

Jegyezzük meg, hogy az üres szó és az üres lista (valamint az üres képsor is) különböző objektumok:

? KI [ ] = " HAMIS

Mivel a Logoban a számok szavak (numerikus szavak), ezért a következők teljesülnek:

? KI 7 * 12 = SZÓ 8 UTOLSÓ [2 4]IGAZ? KI 27 = "27IGAZ

EGYENLŐ?EGYENLŐ? --- függvény 2 vagy N bemenő adattalEGYENLŐ? akármi1 akármi2(EGYENLŐ? akármi ... )az EGYENLŐ? bemenet1 bemenet2 és a bemenet1 = bemenet2 függvények meg-egyeznekEredménye IGAZ, ha a két bemenet azonos szó (szövegkonstans vagy szám), azonos képsor vagy lista. Egyébként az eredmény HAMIS.Ha a bemenetek száma több mint kettő, akkor az EGYENLŐ? csak abban az esetben ad vissza IGAZ értéket, ha az összes bemenet azonos. Különben az eredmény HAMIS.

? KI EGYENLŐ? 5 2+3.0IGAZ? KI EGYENLŐ? UN "KIGAZ? KI EGYENLŐ? [A [B C] ] [ [B C] A]HAMIS

Jegyezzük meg, hogy az üres szó, az üres lista (illetve az üres képsor) páronként külön-böző objektumok:

? KI EGYENLŐ? EN "A EN [A]HAMIS

KISEBB?KISEBB? --- függvény 2 vagy N bemenő adattalKISEBB? szám1 szám2

12

Page 13: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

(KISEBB? szám1 ... )a KISEBB? bemenet1 bemenet2 és a bemenet1 < bemenet2 függvények azonosakEredménye IGAZ, ha a szám1 kisebb, mint a szám2. Különben az eredmény HAMIS.Ha a bemenetek száma kettőnél több, akkor a KISEBB? eredménye csak abban az eset-ben lesz IGAZ értékű, ha a bemenetek növekvő sorrendben követik egymást. Különben az eredmény HAMIS.

? KI KISEBB? -4 4IGAZ? KI KISEBB? ABSZ -100 2 * 50HAMIS? KI (KISEBB? -7 -4 -1 2 5)IGAZ

NAGYOBB?NAGYOBB? --- függvény 2 vagy N bemenő adattalNAGYOBB? szám1 szám2(NAGYOBB? szám1 ... )a NAGYOBB? bemenet1 bemenet2 és a bemenet1 > bemenet2 függvények meg-egyeznekEredménye IGAZ, ha a szám1 nagyobb, mint a szám2. Egyébként a visszaadott érték HAMIS.Ha a bemenő adatok száma kettőnél több, akkor a NAGYOBB? eredménye csak abban az esetben lesz IGAZ, ha a bemenő adatok csökkenő sorrendben követik egymást. Min-den más esetben HAMIS az eredmény.

? KI NAGYOBB? 8 4IGAZ? KI NAGYOBB? 5 MARADÉK 22 14HAMIS? KI (NAGYOBB? 8 0 -8)IGAZ

13

Page 14: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Szó- és listafüggvények

<< --- művelet 2 bemenő adattalszám1 < szám2a bemenet1 < bemenet2 és a KISEBB? bemenet1 bemenet2 függvények megegyez-nekEredménye IGAZ értékű, ha a szám1 kisebb, mint a szám2, egyébként pedig HAMIS.

? HA 2+3 < 6 [KIÍR "IGEN] [KIÍR "NEM]IGEN

Ne lepődjünk meg, ha a következőt látjuk:

? KIÍR 10 / 3 ; az eredmény csak 2 tizedesjegyet tartalmaz,3.33 ; de a belső számolás ennél sokkal pontosabb

? KIÍR 3.33 < 10 / 3IGAZ

A tizedesjegyek száma...

<=<= --- művelet 2 bemenő adattalszám1 <= szám2Eredménye IGAZ, ha a szám1 kisebb, mint a szám2, vagy egyenlő vele, különben pedig HAMIS.

? KI 5 <= ABSZ -5IGAZ

Jegyezzük meg, hogy a <= művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé.

>> --- művelet 2 bemenő adattalszám1 > szám2a bemenet1 > bemenet2 és a NAGYOBB? bemenet1 bemenet2 függvények meg-egyeznekEredményül IGAZ értéket kapunk, ha a szám1 nagyobb, mint a szám2, különben pedig HAMIS-at.

? KI 2 > 7 / 3HAMIS? HA 2+3 > 6 [KIÍR "IGEN] [KIÍR "NEM]NEM

14

Page 15: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ne lepődjünk meg, ha a következőt látjuk:

? KIÍR 10 / 3 ; az eredmény csak 2 tizedesjegyet tartalmaz,3.33 ; de a belső számolás ennél sokkal pontosabb

? KIÍR 10 / 3 > 3.33IGAZ

A tizedesjegyek száma...

>=>= --- művelet 2 bemenő adattalszám1 >= szám2Eredménye IGAZ, ha a szám1 nagyobb, mint a szám2, vagy egyenlő vele. Különben az eredmény HAMIS.

? KI 7 >= KEREKÍT 7.44IGAZ

Jegyezzük meg, hogy a >= művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé.

<><> --- művelet 2 bemenő adattalakármi1 <> akármi2Eredménye IGAZ, ha a két bemenet különbözik egymástól, egyébként pedig HAMIS.

? KI (ÖSSZEG 2 3 4) <> 2 + 3 + 4HAMIS? KI 8 <> 3.4 + 4.5IGAZ

Jegyezzük meg, hogy a <> művelet egyetlen szó, tehát nem tehetünk szóközt a két relá-ciós jel közé. Figyeljünk arra is, hogy az üres szó és az üres lista (valamint az üres kép-sor) különböző objektumok:

? KI [ ] <> " IGAZ

== --- művelet 2 bemenő adattalakármi1 = akármi2a bemenet1 = bemenet2 és az EGYENLŐ? bemenet1 bemenet2 függvények meg-egyeznekHa mindkét bemenő adat szám, akkor az eredmény aszerint IGAZ vagy HAMIS, hogy a két szám egyenlő-e. Ha mindkét paraméter szövegkonstans vagy képsor, akkor az ered-mény csak abban az esetben IGAZ, ha a két bemenő adat azonos. Ha mindkét bemenet lista, csak akkor kapunk IGAZ értéket, ha a megfelelő elemeik egyenlőek (az = értelmé-ben).

15

Page 16: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI 2+3 = 4+1

IGAZ

? KI "A = [A B C]HAMIS? KI "AAA = ELSŐ [AA BB CC]HAMIS? KI ELSŐNEK "A [B C] = UTOLSÓNAK "C [A B]IGAZ? KI ÜRESKÉPSOR = EN ELSŐ KÉREM 0 [ALAK]IGAZ

Jegyezzük meg, hogy az üres szó és az üres lista (valamint az üres képsor is) különböző objektumok:

? KI [ ] = " HAMIS

Mivel a Logoban a számok szavak (numerikus szavak), ezért a következők teljesülnek:

? KI 7 * 12 = SZÓ 8 UTOLSÓ [2 4]IGAZ? KI 27 = "27IGAZ

CSERECSERE --- függvény 3 bemenő adattal

CSERE szám lista akármiCSERE szám szó1 szó2CSERE szám képsor1 képsor2

CSERE intervallum lista1 lista2CSERE intervallum szó1 szó2CSERE intervallum képsor1 képsor2

Ha az első bemenet szám, akkor a CSERE eredményeként a második bemenetben a szám sorszámú elemet a harmadik bemenetre cseréljük.

? KI CSERE 2 [A B C D] 1000[A 1000 C D]? KI CSERE 3 "HAJÓ "JTHAJTÓ

A számra vonatkozó feltétel, hogy 1 és a második bemenet elemszáma közé essen. (Ha a szám nem egész szám, akkor először ennek törtrészét levágja a Logo.)Ha az első paraméter a [szám1 szám2] intervallum, akkor a CSERE eredményeként a második bemenet módosítását kapjuk, melynek a fenti intervallum által meghatározott részét, a harmadik paraméterre való cseréjével kapható meg. Jegyezzük meg, hogy a harmadik bemenet mindig ugyanolyan típusú, mint a második. Az intervallum első érté-

16

Page 17: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ke a kezdő elem sorszámát adja, a második érték azt, hogy hány egymásutáni elemet cserélünk. Például a [3 2] törli a 3. és 4. elemet.

? KI CSERE [3 2] "MÁSZIK "LMÁLIK? KI CSERE [2 4] [A B C D E F] [X Y][A X Y F]? KI CSERE [2 4] [A B C D E F] "ROSSZHIBA: csere mellett nem használható ROSSZ? KI CSERE [2 4] [A B C D E F] [ROSSZ][A ROSSZ F]

Ha a CSERE függvény első paramétereként intervallum szerepel, akkor lehetőséget nyújt számunkra a második bemenet néhány elemének törölésére, illetve néhány új elem beszúrására:

? KI CSERE [1 0] [a b c] [10 20 30][10 20 30 a b c]? KI CSERE [3 0] "ABCDEF "XYZABXYZCDEF; [3 0] itt azt jelenti, hogy pontosan a 3. elem elé szúrunk be; amíg a [3 1] azt jelentené, hogy pontosan a 3. elemtől kezdünk,; és egy elemet áthidalunk? KI CSERE [2 3] [a b c d e f] [ ][a e f]

EGYENLŐ?EGYENLŐ? --- függvény 2 vagy N bemenő adattalEGYENLŐ? akármi1 akármi2(EGYENLŐ? akármi ... )az EGYENLŐ? bemenet1 bemenet2 és a bemenet1 = bemenet2 függvények meg-egyeznekEredménye IGAZ, ha a két bemenet azonos szó (szövegkonstans vagy szám), azonos képsor vagy lista. Egyébként az eredmény HAMIS.Ha a bemenetek száma több mint kettő, akkor az EGYENLŐ? csak abban az esetben ad vissza IGAZ értéket, ha az összes bemenet azonos. Különben az eredmény HAMIS.

? KI EGYENLŐ? 5 2+3.0IGAZ? KI EGYENLŐ? UN "KIGAZ? KI EGYENLŐ? [A [B C] ] [ [B C] A]HAMIS

Jegyezzük meg, hogy az üres szó, az üres lista (illetve az üres képsor) páronként külön-böző objektumok:

? KI EGYENLŐ? EN "A EN [A]HAMIS

ELEMELEM --- függvény 2 bemenő adattal

17

Page 18: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ELEM szám akármiELEM intervallum akármi

Ha az első paraméter egy szám, akkor az ELEM eljárás a második bemenet szám sorszá-mú elemét adja eredményül.Ha a második paraméter lista, akkor a visszaadott érték ennek szám sorszámú tagja. Ha a második paraméter szó, akkor az eredmény ennek szám sorszámú karaktere. Ha a má-sodik bemenet képsor, akkor eredményül ennek szám sorszámú fázisát kapjuk. Mindhá-rom esetben a szám értékének 1 és akármi elemszáma között kell lennie. (Ha a szám nem egész, akkor ennek törtrészét először levágja a rendszer.)

? KI ELEM 3 [A B C D E]C? KI ELEM 3 [ [A] [B] [C] [D] ][C]? KI ELEM 4 "Pétere? KI ELEM 2.73 [ [aa] [bb] [cc] [dd] ][bb]

Ha az első bemenet intervallum [szám1 szám2], akkor az ELEM függvény eredménye akármi egy része lesz, vagyis néhány megfelelő szomszédos eleme, karaktere vagy fázi-sa, mely a szám1-edik tagjától kezdődik és szám2 számú elemet tartalmaz.

? KI ELEM [3 4] "TULIPÁNLIPÁ? KI ELEM [2 1] [a b c d][b]

Ha az intervallum hossza 0, mint pl. [3 0], akkor (akármi típusától függően) üres lista, üres szó vagy üres képsor lesz a visszaadott érték. Az intervallumbeli szám1 értékének 1 és akármi elemszáma között kell lennie, azonban a szám2 meghaladhatja akármi utolsó elemét:

? KI ELEM [3 5] "JÁNOSNOS

ELEMEELEME --- függvény 2 bemenő adattalELEME szó1 szó2ELEME akármi listaA függvény a második paraméterben balról jobbfelé haladva az első bemenettel azonos részt keres. Ha sikerrel jár, akkor a függvény eredményeként a második bemenő adat azon pozícióját kapjuk, melynél az elsőt megtalálta:

? KI ELEME "A "TENGERALATTJÁRÓ7

18

Page 19: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha a függvény nem talál megfelelő részt a második paraméterben, akkor a visszaadott érték 0.Ha a második bemenő adat lista, akkor a függvény először ennek első elemét vizsgálja, hogy azonos-e (az EGYENLŐ?-ség értelmében) akármivel, és ha talál vele azonost, ak-kor eredményül a megfelelő pozíciót adja (illetve 0-t, ha nem talált):

? KI ELEME 1 [[1][2][3]]0? KI ELEME [2] [[1][2][3][2][1]]2

ELEME?ELEME? --- függvény 2 bemenő adattalELEME? akármi listaELEME? szó1 szó2

Eredménye IGAZ, ha akármi eleme a második paraméternek, egy listának. Különben az eredmény HAMIS.Ha a második paraméter szó, akkor az ELEME? az első bemenetet részszóként keresi a második bemenő adatban.

? KI ELEME? "ABC [A AB ABC ABCD]IGAZ? KI ELEME? "ABC [ [A AB ABC ABCD] ]

HAMIS ; a fenti listának egyetlen eleme van,; konkrétan az [A AB ABC ABCD] lista

? KI ELEME? [ABC] [ [A] [AB] [ABC] ]IGAZ? KI ELEME? "OR "GÁBORIGAZ

ELEMNÉLKÜLIELEMNÉLKÜLI--- függvény 2 bemenő adattalELEMNÉLKÜLI karakter szóELEMNÉLKÜLI akármi lista

A függvény törli az első paraméterként adott adat összes előfordulását a második beme-nő adatból. Az így kapott eredmény lesz az ELEMNÉLKÜLI által visszaadott érték.Ha a második paraméter szó, akkor az ELEMNÉLKÜLI kitörli az adott karaktert a szó-ból, valahányszor az szerepel benne. Ha a második bemenet lista, akkor az összes olyan eleme, mely azonos (az EGYENLŐ? -ség értelmében) az elsőként adott paraméterrel, kimarad a listából.

19

Page 20: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI ELEMNÉLKÜLI "L "HELLOHEO? KI ELEMNÉLKÜLI 1 [[1][2][3]][[1][2][3]]? KI ELEMNÉLKÜLI 1 [1 2 3 1 2 3][2 3 2 3]? KI ELEMNÉLKÜLI [A] [[B][C][D][A][A] 10000][[B][C][D] 10000]

ELEMSZÁM; ESZELEMSZÁM; ESZ --- függvény 1 bemenő adattalELEMSZÁM akármiHa a bemenő adat szó, akkor az ELEMSZÁM eredményeként azt kapjuk meg, hogy a szó hány karakterből áll. Ha a bemenet lista, akkor az ELEMSZÁM visszaadott értéke a lista elemeinek száma lesz. Ha a paraméter képsor, akkor az ELEMSZÁM eljárás ennek fázisszámát adja meg.Legyünk óvatosak: [A B [C D] ] listának nem 4 eleme van, hanem 3, melyek a követ-kezők: az A, a B és a [C D].

? KI ELEMSZÁM "LOGO4? KI ELEMSZÁM [LOGO]1? KI ELEMSZÁM EN "A0

ELEMTŐLELEMTŐL --- függvény 2 bemenő adattalELEMTŐL szó1 szó2ELEMTŐL akármi lista

A függvény a második paraméterben balról kezdve keresi az első bemenet előfordulását ha ez létezik és a második bemenetnek ezzel az elemmel kezdődő részét adja vissza eredményül.

? KI ELEMTŐL "AL "TENGERALATTJÁRÓALATTJÁRÓ

Ha mindkét paraméter szó, akkor a függvény karakterenként vizsgálja a szó2-t balról kezdve, és ellenőrzi, hogy ezzel kezdődik-e a szó1. Ha sikerrel jár, akkor a szó2 megfe-lelő része, mely a szó1-gyel kezdődik, lesz az eredményszó. Különben a függvény üres szót eredményez.

? KI ELEMTŐL "AB "MNCABXYZCABABXYZCAB? KI ELEMTŐL "ABBA "MABB

; üres szó lesz visszaadva, mert; az ABBA nem alszava a MABB-nak

20

Page 21: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha a második paraméter lista, akkor a függvény ennek első elemétől kezdve keresi az akármivel azonos tagot (az EGYENLŐ?-ség értelmében), és az eredmény a lista megfe-lelő része lesz, mely az akármivel kezdődik. Ha nincs ilyen elem, akkor a függvény az üres listát [ ] adja vissza:

? KI ELEMTŐL 1 [[1][2][3]][ ]? KI ELEMTŐL [2] [[1][2][3][2][1]][[2][3][2][1]]

ELSŐELSŐ --- függvény 1 bemenő adattalELSŐ akármiahol akármi tetszőleges nem üres szó, lista vagy képsorHa a bemenet szó, akkor az ELSŐ egy olyan szót ad vissza, mely az eredetinek csak az első karakterét tartalmazza. Ha a bemenő adat lista, akkor az ELSŐ eredménye ennek első eleme. Ha a bemenő paraméter képsor, akkor az ELSŐ eredményeként az eredeti képsornak csak az első fázisát tartalmazó képsort kapunk.

? KI ELSŐ "ABCA? KIÍR ELSŐ 99.5679? KI ELSŐ [ [A B C] D E][A B C]? KIÍR ELSŐ [ [A B C] D E]A B CLegyen az AUTÓK egy változó, melynek értéke egy 4 fázisból álló képsor. Ekkor:

? KI ELSŐ :AUTÓK

{képsor1} ; egy egyetlen fázisból álló képsor

ELSŐNEKELSŐNEK --- függvény 2 bemenő adattalELSŐNEK beteszELSŐNEK akármi listaELSŐNEK képsor1 képsor2ELSŐNEK szó1 szó2Ha a második paraméter lista, akkor a függvény eredménye egy olyan lista, melynek ELSŐ eleme akármi és többi eleme a bemenő lista elemeivel egyezik meg (az ered-ményre alkalmazva az ELSŐNÉLKÜLI függvényt a bemenő lista-át kapjuk meg).Ha a második paraméter képsor, akkor az ELSŐNEK eljárás egy módosított képsort ad vissza, mely a képsor1 és képsor2 fázisainak összefűzéséből adódik. Az ELSŐNEK képsor1 képsor2 ugyanaz, mint a KÉPSOR szó1 szó2.Ha a második bemenet szó, akkor az ELSŐNEK függvény eredménye egy módosított szó, mely a két bemenet, szó1 és szó2 összefűzésével adódik. Az ELSŐNEK szó1 szó2 ugyanaz, mint a SZÓ szó1 szó2.

21

Page 22: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI ELSŐNEK "A [B C D][A B C D]? KI ELSŐNEK "A [ ][A]? KI ELSŐNEK [ ] [ ][ [ ] ]

Legyen az AUTÓK egy 4 fázisból álló képsor értékű változó. Ekkor:

? KI ELSŐNEK :AUTÓK [44 77][ {képsor4} 44 77]? KI ELSŐNEK :AUTÓK :AUTÓK{képsor8}Ha az első bemenet szó és a második egy szó-elemű lista, akkor az ELSŐNEK függ-vény a MONDAT függvényhez hasonló. Összetettebb bemenetek esetén a függvények hatása különböző lehet:

? KI M [1 2] [3 4][1 2 3 4]? KI ELSŐNEK [1 2] [3 4][[1 2] 3 4]

ELSŐNÉLKÜLI; ENELSŐNÉLKÜLI; EN --- függvény 1 bemenő adattalELSŐNÉLKÜLI akármi ahol akármi egy tetszőleges nem üres szó, lista vagy képsorHa a bemenet szó, akkor az ELSŐNÉLKÜLI eredménye az a szó lesz, melyet az erede-tiből annak első karakterének elhagyásával kapunk. Ha a bemenő adat lista, akkor az ELSŐNÉLKÜLI egy listát ad vissza, mely az eredeti lista összes elemét tartalmazza, ki-véve az elsőt. Ha a bemenet egy képsor, akkor az ELSŐNÉLKÜLI eredményeként létrejövő képsor az eredetinek a fázisaiból fog állni, az elsőt elhagyva.

? KIÍR ELSŐNÉLKÜLI "LOGOLOGO? KIÍR EN [ ]HIBA: en mellett nem használható [ ]? KI EN EN [ [A 2] [B 3] [C 4] ][ [C 4] ]

EN

ESZELEMSZÁM; ESZ --- függvény 1 bemenő adattalELEMSZÁM akármiHa a bemenő adat szó, akkor az ELEMSZÁM eredményeként azt kapjuk meg, hogy a szó hány karakterből áll. Ha a bemenet lista, akkor az ELEMSZÁM visszaadott értéke a lista elemeinek száma lesz. Ha a paraméter képsor, akkor az ELEMSZÁM eljárás ennek fázisszámát adja meg.Legyünk óvatosak: [A B [C D] ] listának nem 4 eleme van, hanem 3, melyek a követ-kezők: az A, a B és a [C D].

? KI ELEMSZÁM "LOGO

22

Page 23: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

4? KI ELEMSZÁM [LOGO]1? KI ELEMSZÁM EN "A0

FORDÍTFORDÍT --- függvény 1 bemenő adattalFORDÍT akármiMegfordítja a bemenő paramétert alkotó elemek sorrendjét, és az így kapott adatot adja eredményül. Tehát a bemenő adat utolsó eleme lesz az eredményadat első eleme, az utolsó előtti a második, és így tovább. Az eredmény lehet: egy ugyanannyi karakterből álló szó, ha a bemenő adat szó, egy azonos elemszámú lista, ha a bemenő adat lista. Ha ennek valamely eleme maga is lista, akkor az „al-lista elemsorrendje már változatlan marad, egy ugyanannyi fázisból álló képsor, ha a bemenő adat képsor.

? KI FORDÍT "LÉGGÖMBBMÖGGÉL? KI FORDÍT [ [1 2 3] [4 5 6] [7 8 9] ][ [7 8 9] [4 5 6] [1 2 3] ]

JELJEL --- függvény 1 bemenő adattalJEL számahol a szám egy a 0 és 255 közé eső egész számEredményül azt a karaktert kapjuk, melynek ASCII kódja az adott számmal egyenlő. Ahhoz, hogy egy karakter (vagy egy szó első karakterének) ASCII kódját megtudjuk, használjuk a KÓD függvényt.

? KIÍR JEL 122z? KI JEL 32 + KÓD "Ee

KISEBB?KISEBB? --- függvény 2 vagy N bemenő adattalKISEBB? szám1 szám2(KISEBB? szám1 ... )a KISEBB? bemenet1 bemenet2 és a bemenet1 < bemenet2 függvények azonosakEredménye IGAZ, ha a szám1 kisebb, mint a szám2. Különben az eredmény HAMIS.Ha a bemenetek száma kettőnél több, akkor a KISEBB? eredménye csak abban az eset-ben lesz IGAZ értékű, ha a bemenetek növekvő sorrendben követik egymást. Különben az eredmény HAMIS.

? KI KISEBB? -4 4IGAZ? KI KISEBB? ABSZ -100 2 * 50HAMIS? KI (KISEBB? -7 -4 -1 2 5)IGAZ

KIVÁLASZT

23

Page 24: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KIVÁLASZT --- függvény 1 bemenő adattalKIVÁLASZT akármiahol akármi nem üresA függvény eredményeként a bemenetként szereplő akármi egy véletlenszerűen kivá-lasztott elemét kapjuk.Ha a bemenet szó, akkor a KIVÁLASZT eredménye ennek egy véletlenszerűen kivá-lasztott karaktere. Ha a bemenő paraméter lista, akkor a KIVÁLASZT ennek véletlen-szerűen választott listaelemét adja vissza. Ha bemenetként egy képsort adunk meg, ak-kor a KIVÁLASZT eredménye ennek véletlenszerűen kiválasztott fázisa.Ha a bemenet üres (szó, lista vagy képsor), akkor hiba következik be.

? KI KIVÁLASZT [1 2 3 4 5 6 7 8 9]8? KI KIVÁLASZT [1 2 3 4 5 6 7 8 9]2

Jegyezzük meg, hogy a KIVÁLASZT akármi és az ELEM 1 + VÉLETLENSZÁM ELEMSZÁM akármi akármi eljárások hatása azonos.

KÓDKÓD --- függvény 1 bemenő adattalKÓD karakterKÓD szóEredményül a bemenő karakternek vagy a bemenő szó első karakterének megfelelő AS-CII kódszámot kapjuk meg (ami egy a 0 és 255 közé eső egész szám).

? KI KÓD "A65? KI KÓD "!33? KI JEL 32 + KÓD "Aa

LISTALISTA --- függvény 2 vagy N bemenő adattalLISTA akármi1 akármi2(LISTA akármi1 ... )Eredményeként azt a listát kapjuk meg, amely az összes bemenő paramétert tartalmazza elemként. A bemenetek lehetnek szavak, listák vagy képsorok. Figyeljük meg a LISTA és a MONDAT függvények közötti különbségeket!

? KI LISTA 4 -6[4 -6]? KI LISTA "A [B C][A [B C] ]? KI MONDAT "A [B C][A B C]? NÉV "VAGYOK "TEKI? KI (LISTA :VAGYOK "AZ :VAGYOK)[TEKI AZ TEKI]? KI (LISTA)[ ] ; ha nincs bemenet, akkor az eredmény üres lista

24

Page 25: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A szavak, listák és képsorok keverve együtt is alkothatnak összetettebb listákat:

? NÉV "TEKNŐC ALAK? KI (LISTA [EZ A] :TEKNŐC 33 + 17)[ [EZ A] {képsor24} 50]

LISTA?LISTA? --- függvény 1 bemenő adattalLISTA? akármiEredménye csak akkor IGAZ, ha a bemenő adat lista. Különben az eredmény HAMIS.

? KI LISTA? [A B C]IGAZ? KI LISTA? [ ]IGAZ? KI LISTA? ELSŐ [A B C]HAMIS? KI LISTA? "ZOLIHAMIS

MMONDAT; M --- függvény 2 vagy N bemenő adattalMONDAT akármi1 akármi2(MONDAT akármi1 ... )Eredményeként azt a listát kapjuk, melyet a következőképpen készít el: ha az összes be-menet lista, akkor ezek elemei alkotják az egyszerű eredménylistát.

? KI M [A B C] [D [E] F] ; M a MONDAT rövidítése

[A B C D [E] F]

Ha valamelyik bemenő adat szó, akkor ezt elemként szúrja be az eredménylistába:

? KIÍR M "Péter [nincs jelen.]Péter nincs jelen.? KI M "PÉTER "PÁL[PÉTER PÁL]? KIÍR M "PÉTER "PÁLPÉTER PÁL

Ha valamely paraméter N fázisú képsor, akkor a {képsorN} formájú kifejezést foglalja az eredménylistába:

? KI LISTA [A teknőcök alapalakja] ALAK[A teknőcök alapalakja {képsor24} ]

Figyeljük meg a MONDAT és a LISTA közötti különbséget! Jegyezzük meg a KIÍRJEL és a KIÍR közötti különbséget is listákra való alkalmazásuk során.

25

Page 26: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI LISTA [A B C] "D[ [A B C] D]? KI M [A B C] "D[A B C D]

MONDAT; M

NAGYOBB?NAGYOBB? --- függvény 2 vagy N bemenő adattalNAGYOBB? szám1 szám2(NAGYOBB? szám1 ... )a NAGYOBB? bemenet1 bemenet2 és a bemenet1 > bemenet2 függvények meg-egyeznekEredménye IGAZ, ha a szám1 nagyobb, mint a szám2. Egyébként a visszaadott érték HAMIS.Ha a bemenő adatok száma kettőnél több, akkor a NAGYOBB? eredménye csak abban az esetben lesz IGAZ, ha a bemenő adatok csökkenő sorrendben követik egymást. Min-den más esetben HAMIS az eredmény.

? KI NAGYOBB? 8 4IGAZ? KI NAGYOBB? 5 MARADÉK 22 14HAMIS? KI (NAGYOBB? 8 0 -8)IGAZ

ÖSSZEKEVERÖSSZEKEVER --- függvény 1 bemenő adattalÖSSZEKEVER akármiEredményét a bemenetként kapott akármi elemeinek véletlenszerű összekeverésével (vagyis átrendezésével) kapja a rendszer.Jegyezzük meg, hogy az eredmény lehet:

egy ugyanannyi karakterből álló szó, ha a bemenet szó,egy azonos elemszámú lista, ha a bemenet lista. Ha a listának valamely eleme

maga is lista, akkor ennek elemei nem keverednek össze, egy azonos fázisszámú képsor, ha a bemenet képsor.

? KI ÖSSZEKEVER "LÉGGÖMBGÖÉLBMG? KI ÖSSZEKEVER "LÉGGÖMBBÖGÉMLG? KI ÖSSZEKEVER [1 2 3 [4 5] 6][3 [4 5] 2 6 1]

SZÁM?SZÁM? --- függvény 1 bemenő adattalSZÁM? akármiEredményül IGAZ értéket kapunk, ha akármi egy szám, azaz egy numerikus szó. Kü-lönben az eredmény HAMIS.

? KI SZÁM? 5 + 4.7IGAZ

26

Page 27: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI SZÁM? ELSŐ [A B C]HAMIS? KI SZÁM? SZÓ ELEMSZÁM "JÁNOS ELEMSZÁM "PÁLIGAZ

SZÓSZÓ --- függvény 2 vagy N bemenő adattalSZÓ szó1 szó2(SZÓ szó1 ... )Eredménye egy szó, melyet az összes bemenő szó összefűzésével (konkatenációjával) kapunk. A bemenő szavak üresek is lehetnek.

? KIÍR SZÓ "Win "dowsWindows? KIÍR (SZÓ 23 ".7)23.7? KI SZÁM? (SZÓ 23 ".7)IGAZ

Néha speciális karaktereket tartalmazó szavakkal dolgozunk, mint például A/B vagy A B azaz egy szó, mely szóközt tartalmaz. Ekkor a backslash (\) karaktert kell alkalmaznunk.

? KI (SZÓ "A "\32 "B)

A B ; ez egy szóközt tartalmazó szó

SZÓ?SZÓ? --- függvény 1 bemenő adattalSZÓ? akármiEredménye IGAZ értékű, ha a bemenet egy szó, azaz vagy szövegkonstans, vagy szám-jegyekből álló szó (vagyis szám). Különben az eredmény HAMIS.

? KI SZÓ? "EGY.SZÓIGAZ? KI SZÓ? UTOLSÓ [AHA EHE UHU]IGAZ? KI SZÓ? UTOLSÓNÉLKÜLI "EIGAZ ; az üres szó is szóNéha olyan szavakkal dolgozunk, melyekben speciális karakterek szerepelnek, mint pél-dául az A/B vagy A B azaz egy szóközt tartalmazó szó. Ekkor a backslash (\) karaktert kell használnunk:Escape Character \ and "Forbidden Words"...

? KI (SZÓ "PÉTER JEL 38 "PÁL)PÉTER&PÁL? KI SZÓ? (SZÓ "PÉTER JEL 38 "PÁL)IGAZ

UNUTOLSÓNÉLKÜLI; UN --- függvény 1 bemenő adattal

27

Page 28: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

UTOLSÓNÉLKÜLI akármi ahol akármi egy tetszőleges nem üres szó, lista vagy kép-sorHa a bemenő adat szó, akkor az UTOLSÓNÉLKÜLI eredménye az eredeti szóból az utolsó karakterének elhagyásával keletkező szó. Ha bemenetként lista szerepel, akkor az UTOLSÓNÉLKÜLI egy olyan listát ad vissza, ami az eredeti lista elemeit tartalmazza, kivéve ennek utolsó elemét. Ha a paraméter képsor, akkor az UTOLSÓNÉLKÜLI eredménye egy olyan képsor lesz, mely az eredeti fázisaiból áll, kivéve ennek legutolsó fázisát.

? KIÍR UTOLSÓNÉLKÜLI [ [1 I] [2 II] [3 III] ][1 I] [2 II]? KI UN UTOLSÓ UTOLSÓ UN [ [A 56] [B 78] [C 91] ]7

UTOLSÓUTOLSÓ --- függvény 1 bemenő adattalUTOLSÓ akármi ahol akármi tetszőleges nem üres szó, lista vagy képsorHa a bemenet szó, akkor az UTOLSÓ egy olyan szót ad vissza, mely az eredetinek csu-pán az utolsó karakterét tartalmazza. Ha a bemenő adat lista, akkor az UTOLSÓ ered-ménye ennek utolsó eleme. Ha a bemenő paraméter képsor, akkor az UTOLSÓ eredmé-nyeként az eredeti képsornak csak az utolsó fázisát tartalmazó képsort kapunk.

? KI UTOLSÓ [ [A 56] [B 78] [C 91] ][C 91]? KI UTOLSÓ UTOLSÓ [PÉTER ÉS PÁL]L

UTOLSÓNAKUTOLSÓNAK --- függvény 2 bemenő adattalUTOLSÓNAK beteszUTOLSÓNAK akármi listaUTOLSÓNAK képsor1 képsor2UTOLSÓNAK szó1 szó2Ha a második paraméter lista, akkor az UTOLSÓNAK eredménye egy olyan módosított lista, melynek UTOLSÓ eleme akármi, és UTOLSÓNÉLKÜLI elemei a bemenő lista elelmeivel egyeznek meg.Ha mindkét bemenet képsor, akkor az UTOLSÓNAK eredményeként egy olyan képsort kapunk, mely a képsor2 és a képsor1 fázisainak összefűzésével keletkezik. Az UTOL-SÓNAK képsor1 képsor2 és a KÉPSOR képsor2 képsor1 parancsok azonos hatásúak. (Figyeljünk a bemenő adatok sorrendjére!)Ha a második bemenet szó, akkor az UTOLSÓNAK egy módosított szót ad vissza, mely a szó2 és szó1 összefűzésével keletkezik. Az UTOLSÓNAK szó1 szó2 és a SZÓ szó2 szó1 parancsok azonos hatásúak. (Legyünk óvatosak a bemenő adatok sorrendjével!)

? KI UTOLSÓNAK 5 [1 2 3 4][1 2 3 4 5]? KI UTOLSÓNAK "A [ ][A]? KI UTOLSÓNAK [X Y] [Z W]

28

Page 29: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

[Z W [X Y] ]? KI UTOLSÓNAK "GÖMB "LÉGLÉGGÖMB

Legyen az AUTÓ egy 4 fázisból álló képsor tartalmú változó. Ekkor:

? KI UTOLSÓNAK :AUTÓ LISTA EN EN :AUTÓ EN :AUTÓ[ {képsor2} {képsor3} {képsor4} ]

UTOLSÓNÉLKÜLI; UN

ÜRES?ÜRES? --- függvény 1 bemenő adattalÜRES? akármiEredménye IGAZ, ha akármi üres szó, üres lista vagy üres képsor. Minden más esetben a kimenet HAMIS.

? KI ÜRES? [ ]IGAZ? KI ÜRES? EN UN "FIÚHAMIS

Jegyezzük meg, hogy az üres szó, az üres lista és az üres képsor páronként különböző objektumok:

? KI EGYENLŐ? EN "A EN [A]HAMIS? KI EN BETÖLTKÉPSOR "AUTO [1 1]{képsor0}? KI EGYENLŐ? EN "C EN BETÖLTKÉPSOR "AUTO [1 1]HAMIS

29

Page 30: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Rekordokra vonatkozó eljárások

ÁTÍRÁTÍR --- utasítás 1 bemenő adattalÁTÍR memóriaobjektumÁTÍR [ memóriaobjektum ]ahol a memóriaobjektum vagy egy új, vagy egy már definiált objektum neveMegnyitja és aktívvá teszi a Memóriaobjektum Szerkesztőt vagy a Memóriaobjektum Képsorszerkesztőt (a létrehozni, illetve javítani kívánt objektum fajtájától függően ha az eljárás, szó vagy lista értékű változó, mezőkkel rendelkező szó, vagy új név, akkor a szöveges Szerkesztőt indítja el, ha pedig képsor értékű változó, akkor a Képsorszerkesz-tő indul el). Ha a bemenet új név, akkor a Memóriában új objektum jön létre.A Logo alapszavai és a különleges jelentéssel bíró szavak nem szerkeszthetők ezzel a paranccsal. Ugyanez igaz minden rejtett memóriaobjektumra, melyet az ELFED utasí-tással tettünk fedetté, ha éppen nem tettük ideiglenesen láthatóvá a FED! eljárással. Ha valamely változó értéke olyan lista, mely üres szót tartalmaz elemként (vagy egy elemé-nek elemeként ... stb.), akkor a változó nem szerkeszthető anélkül, hogy értéke megsé-rülne, ugyanis az üres szavakat a szerkesztő kitörli. Ha a változó értéke olyan lista, mely képsort tartalmaz, akkor ennek egésze szintén nem szerkeszthető.Az ÁTÍR utasítás aktiválható egy saját eljárással is. Ebben az esetben a végrehajtási fo-lyamat leáll és csak azután folytatódik, miután a Szerkesztő ablakot becsuktuk.Más lehetőségek:ha az adott objektum még nem létezik, akkor a Memóriaablakban létrehozhatjuk az Új eljárás, Új változó vagy Új rekord utasítások egyikével ha ez az objektum már létezik, akkor a Memóriaablakban szerkeszthetjük.

ELFEDELFED --- utasítás 1 bemenő adattalELFED memóriaobjektumELFED memóriaobjektumok listája

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Láthatatlanná teszi a paraméterként megadott, felhasználó által definiált memóriaobjek-tumokat, vagyis ezután ezek fedettek lesznek. A fedett objektumok megjelenítése és fel-dolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb informá-ció a következő cím alatt:

Hogyan kezeli a Logo a fedett objektumokatAz összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ahhoz, hogy az elfedett objektumok listáját megtudjuk, használjuk a FEDETT függvényt. Az objektu-mok elrejtettségének megszüntetését a FELFED utasítással érhetjük el. Az összes fedett objektum ideiglenes láthatóvá tétele a FED! "HAMIS paranccsal lehetséges.A SAJÁTNEVEK, NEVEK és REKORDNEVEK listákat gyakran használjuk az EL-FED utasítás bemenő adataként. Az adott időpontban már fedett objektumok ezekben a listákban már nem szerepelnek csak akkor, ha ezek éppen ideiglenesen láthatók (gon-doljunk a FED! "HAMIS utasításra, illetve a Memóriaablak Elemek menüjének Elfedett is látszik menüpontjára).

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...Más lehetőség:

az Elfed almenüpont a Memóriaablak Elemek menüjében.

ELFEDMIND

30

Page 31: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ELFEDMIND --- bemenő adat nélküli utasításELFEDMIND

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

A felhasználó által definiált összes memóriaobjektumot láthatatlanná teszi, vagyis ezek fedettek lesznek. A fedett objektumok megjelenítése és feldolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb információ a következő cím alatt:Hogyan kezeli a Logo a fedett objektumokatAhhoz, hogy csak néhány adott objektumot tegyünk rejtetté, használjuk az ELFED uta-sítást. Az összes jelenleg fedett objektum nevét a FEDETT függvény eredménylistája tartalmazza. Adott objektumok visszaállítása a FELFED utasítással lehetséges. Az aktu-álisan fedett objektumok nem szerepelnek a SAJÁTNEVEK, NEVEK és REKORDNEVEK listáiban, hacsak ideiglenesen láthatóvá nem tettük őket a FED! "HAMIS utasítással, vagy a Memóriaablak Elemek menüjének Elfedett is látszik almenüjével.Más lehetőség:az Elfed almenüpont a Memóriaablak Elemek menüjében.

FED!FED! --- utasítás 1 bemenő adattalFED! logikai

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Ha pillanatnyilag vannak fedett objektumaink, akkor a FED! "HAMIS utasítással az összes ilyet ideiglenesen láthatóvá tehetjük. Ekkor a SAJÁTNEVEK, a NEVEK és a REKORDNEVEK eredménylistái ezeket is tar-talmazni fogják, láthatóak lesznek a Memóriaablakban, kiírja őket a KIÍRTARTALOM vagy a KIÍRSAJÁTSZAVAK utasítás, szerkeszthetők lesznek az ÁTÍR utasítással stb. Azonban ezeket az objektumokat még mindig rejtett objektumként kezeli a Logo, és a FEDETT eredménylistájának elemei maradnak.Hogyan kezeli a Logo a fedett objektumokatA FED! "IGAZ utasítás ezeket az ideiglenesen láthatóvá tett fedett objektumokat ismét rejtetté teszi.

Más lehetőség:a Memóriaablak Elemek menüjének Elfedett is látszik utasítása

FEDETTFEDETT --- bemenő adat nélküli függvényFEDETT

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Eredménye az összes fedett objektumot tartalmazó lista.Hasonlóan a SAJÁTNEVEK, NEVEK és REKORDNEVEK listáinak jelöléséhez, a FE-DETT listájának elemeiről a következők mondhatók el: a kettősponttal (:) kezdődőek je-lölik a változókat, az idézőjellel (") kezdődőek meghatározott tulajdonsággal rendelkező szavak, és amelyek nem kezdődnek különleges karakterrel, azok a saját eljárások jelölé-sére szolgálnak.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? ELFED (M [TUL1 TUL2] [:VÁLT1 :VÁLT2 :VÁLT3] ["ELJ1 "ELJ2])

31

Page 32: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

; 2 tulajdonság, 3 változó és 2 eljárás

? KI FEDETT[TUL1 TUL2 :VÁLT1 :VÁLT2 :VÁLT3 "ELJ1 "ELJ2]

Az összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ha csak néhány meghatározott objektumot szeretnénk elfedni, akkor az ELFED utasítást használjuk. A FELFED parancs újra láthatóvá teszi az elrejtett objektumokat. Ahhoz, hogy minden fe-dett objektum ideiglenesen látható legyen, használjuk a FED! "HAMIS utasítássort.

Más lehetőség:a Memóriaablak Elemek menüjének Elfedett is látszik almenüpontja láthatóvá teszi a pillanatnyilag fedett objektumok nevét is.

FELFEDFELFED --- utasítás 1 bemenő adattalFELFED memóriaobjektumFELFED memóriaobjektumok_listája

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Véglegesen megszünteti az adott saját objektum vagy saját objektumok fedett tulajdon-ságát (eltérően a FED! "HAMIS utasítástól, mely a fedett objektumokat csak ideiglene-sen teszi láthatóvá).A fedett objektumok listáját a FEDETT függvény eredményeként kapjuk meg. Az ösz-szes rejtett objektumot egyetlen lépésben láthatóvá tehetjük a FELFED FEDETT utasí-tássor begépelésével.

? KI FEDETT[A B :VÁLT22 "VALAKI]? FELFED [A :VÁLT22]? KI FEDETT[B "VALAKI]

Más lehetőség:a Memóriaablak Elemek menüjének Elfedett is látszik utasítása.

MEZŐMEZŐ --- függvény 2 bemenő adattala mező értékeiMEZŐ szó1 szó2Megkeresi azokat a mezőket, melyeket a szó1-re definiáltunk, és eredményül a szó2 ál-tal meghatározott mező értékét adja.Ha nem definiáltunk szó2 elnevezésű mezőt a MEZŐ! vagy a MEZŐK! utasítással a szó1-hez, akkor az eredmény üres lista.

? MEZŐ! "APA "NÉMETÜL "VATER? MEZŐ! "APA "ANGOLUL "FATHER ? MEZŐ! "ANYA "NÉMETÜL "MUTTER? MEZŐ! "ANYA "ANGOLUL "MOTHER ? KI MEZŐ "ANYA "ANGOLULMOTHER

32

Page 33: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI MEZŐK "APA ; az összes mezőértéket megadja[NÉMETÜL VATER ANGOLUL FATHER]? KI MEZŐ "ANYA "OROSZUL[ ]

Más lehetőségek:a Memóriaablakban az Objektumlista az összes definiált rekordot és ezek mezőit tartal-mazza. Ezeket a szavakat a és a jelölések teszik felismerhetővé.

MEZŐ!MEZŐ! --- utasítás 3 bemenő adattalúj mezőMEZŐ! szó1 szó2 akármiEz az utasítás a szó1-hez kapcsol egy szó2 nevű mezőt, melynek értéke a harmadik be-menetként megadott akármi lesz. Ha a szó1-nek már van adott nevű mezője, akkor en-nek régi értékét kicseréli az új értékre.

? MEZŐ! "APA "NÉMETÜL "VATER? MEZŐ! "APA "ANGOLUL "FATHER? MEZŐ! "ANYA "NÉMETÜL "MUTTER? MEZŐ! "ANYA "ANGOLUL "MOTHER? KI MEZŐK "APA[ANGOLUL FATHER NÉMETÜL VATER]? KI MEZŐ "ANYA "ANGOLULMOTHER

Egy szó összes mezőjét egyetlen lépésben is megadhatjuk, ha a MEZŐK! utasítást hasz-náljuk.Jegyezzük meg, hogy az adott szó nevű rekord, teljes mértékben különböző objektum a vele azonos nevű változótól:

? NÉV "APA 1000000? KI :APA1000000

Más lehetőség:a Memóriaablak Objektumlistájában látható a mezőket tartalmazó szavak listája. Új me-zőket definiálhatunk itt, illetve már meglévőket módosíthatunk vagy törölhetünk. A me-zőkkel rendelkező szavakat a következő ikonok jelölik: vagy .

MEZŐKMEZŐK --- függvény 1 bemenő adattalmezőlistaMEZŐK szóEredménye az adott szóval kapcsolatban definiált mezők listája a következő formában: [név1 érték1 név2 érték2 ... ]. A lista az összes mezőt tartalmazza, melyet a szóhoz kapcsoltunk a MEZŐ! vagy a MEZŐK! utasítással (és eddig nem töröltünk a TÖRÖL-MEZŐ eljárással).

33

Page 34: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? MEZŐ "APA "NÉMETÜL "VATER? MEZŐ "APA "ANGOLUL "FATHER? MEZŐ "ANYA "NÉMETÜL "MUTTER? MEZŐ "ANYA "ANGOLUL "MOTHER? KI MEZŐK "APA[ANGOLUL FATHER NÉMETÜL VATER]? KI MEZŐK "MOTHER[ ]

Más lehetőség:a Memóriaablak Objektumlistája az összes szót tartalmazza a hozzájuk tartozó mezők-kel együtt. Új mezőket is definiálhatunk itt, illetve már meglévőket módosíthatunk vagy törölhetünk. A mezőkkel rendelkező szavakat a következő ikonok valamelyike jelöli: vagy

MEZŐK!MEZŐK! --- utasítás 2 bemenő adattalúj mezőkMEZŐK! szó rekordmezők_listája Az adott szóhoz (a rekord neve) egyetlen lépésben több mezőt definiál, melyeket a rekordmezők listájában adunk meg. Az utasítás helyet-tesíthető a MEZŐ! utasítások megfelelő sorozatával.

? MEZŐK! "APA [ANGOLUL FATHER, NÉMETÜL VATER]

? KI MEZŐK "APA ; a teljes rekordmező-listát megtalálja

[ANGOLUL FATHER, NÉMETÜL VATER]

? MEZŐK! "ANYA [ANGOLUL MOTHER, NÉMETÜL MUTTER]

? KI REKORDNEVEK["ANYA "APA]

SAJÁT NEVEK, NEVEK és REKORDNEVEK listák...

Más lehetőség:a Memóriaablak Objektumlistájában olvasható az összes, mezőket tartalmazó szó neve. Új mezőket definiálhatunk itt, és már meglévőket módosíthatunk, illetve törölhetünk. Ezeket a szavakat a következő ikonok jelölik: vagy .

REKORDNEVEKREKORDNEVEK --- bemenő adat nélküli függvénya rekordokREKORDNEVEKEredménye a mezőket tartalmazó szavak listája. Az ELFED utasítással elrejtett szavak neveit csak abban az esetben tartalmazza a fenti lista, ha ideiglenesen láthatóvá tettük őket a FED! utasítással.

? MEZŐ! "APA "ANGOLUL "FATHER? MEZŐ! "APA "NÉMETÜL "VATER? MEZŐ! "ANYA "ANGOLUL "MOTHER

34

Page 35: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? MEZŐ! "ANYA "NÉMETÜL "MUTTER

? KI MEZŐK "APA ; az összes mezőjét megtalálja

[ANGOLUL FATHER NÉMETÜL VATER]? KI REKORDNEVEK["ANYA "APA]

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

Más lehetőség:a Memóriaablak Objektumlistájában olvasható az összes, mezőket tartalmazó szó. Új mezőket definiálhatunk itt, illetve már meglévőket módosíthatunk vagy törölhetünk. Ezeket a szavakat a következő ikonok jelölik: vagy .

REKORDOKREKORDOK --- bemenő adat nélküli utasításrekordok kiírásaREKORDOKKiírja az összes szót, melyhez eddig a MEZŐ! vagy a MEZŐK! utasítással mezőket de-finiáltunk (és még nem töröltük a TÖRÖLMEZŐ paranccsal). Az ELFED utasítással fe-detté tett szavakat (és mezőiket) nem írja ki. A REKORDOK és a KIÍRTARTALOM REKORDNEVEK utasítások azonosak. Ne keverjük össze a REKORDOK és a ME-ZŐK utasításokat!

? REKORDOK ; semmit nem ír ki, mert eddig egyetlen; mezőt sem definiáltunk

? MEZŐ! "APA "NÉMETÜL "VATER? MEZŐ! "APA "ANGOLUL "FATHER? MEZŐ! "ANYA "NÉMETÜL "MUTTER? MEZŐ! "ANYA "ANGOLUL "MOTHER? KI MEZŐK "APA[ANGOLUL FATHER NÉMETÜL VATER]

? REKORDOKAPA ANGOLUL értéke FATHERAPA NÉMETÜL értéke VATERANYA ANGOLUL értéke MOTHERANYA NÉMETÜL értéke MUTTER

Más lehetőség:a Memóriaablak Objektumlistájában látható a mezőket tartalmazó szavak listája. Új me-zőket definiálhatunk itt, illetve már meglévőket módosíthatunk vagy törölhetünk. A me-zőkkel rendelkező szavakat a következő ikonok jelölik: vagy .

TÖRÖLTÖRÖL --- utasítás 1 vagy N bemenő adattalTÖRÖL bemenet1(TÖRÖL bemenet1 bemenet2 ... )ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok_lis-tájaTörli a bemeneteként felsorolt összes memóriaobjektumot.

35

Page 36: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A SAJÁTNEVEK, NEVEK, és REKORDNEVEK listáit gyakran használjuk a TÖRÖL utasítás paramétereként. Vigyázzunk, hogy a pillanatnyilag fedett objektumok nem ele-mei ezen listáknak, azonban ha határozottan megnevezzük őket, akkor ezek is törölhe-tők.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? TÖRÖL NEVEK ; az összes változót törli? (TÖRÖL [F G] [:V1 V2] REKORDNEVEK)

; törli az F és G eljárásokat, a V1 és V2; változókat, és az összes; mezőket tartalmazó szót

? (TÖRÖL "F ":Vált ""P) ; törli az F eljárást, a :Vált változót,; és a "P szó összes mezőjét

Ha a TÖRÖL eljárás egyik bemenete nem saját objektum neve, akkor HIBA következik be csak létező objektumokat törölhetünk.

Más lehetőségek:használjuk a Memóriaablak Töröl utasítását az összes kijelölt objektum törlésére

TÖRÖLMEZŐTÖRÖLMEZŐ --- utasítás 2 bemenő adattalmező törléseTÖRÖLMEZŐ szó1 szó2Törli a szó1 nevű rekord szó2 nevű mezőjét

? MEZŐ! "APA "ANGOLUL "FATHER? MEZŐ! "APA "NÉMETÜL "VATER

? KI MEZŐK "APA ; a szó összes mezőjét megtalálja

[ANGOLUL FATHER NÉMETÜL VATER]? TÖRÖLMEZŐ "APA "ANGOLUL? KI MEZŐK "APA[NÉMETÜL VATER]

A szó nevű rekord összes mezője egyetlen lépésben is törölhető, a TÖRÖL ""szó utasí-tást vagy a TÖRÖL ["szó ] utasítást használjuk lásd a következő megjegyzést:

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

Más lehetőségek:a Memóriaablak Objektumlistájában az összes rekord minden mezője látható. Itt új me-zőket is definiálhatunk, illetve már meglévőket módosíthatunk vagy törölhetünk. A re-kordokat a vagy a ikonok jelölik.

TÖRÖLMUNKATÖRÖLMUNKA --- bemenő adat nélküli utasításmindent töröl

TÖRÖLMUNKATörli az összes memóriaobjektumot és az összes teknőcöt, lefuttatja az új SLOGO.INI fájlt ha ez létezik a Logo alapkönyvtárában.

36

Page 37: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Letörli a rajzlapot is, és alapállapotba hozza az egész Logót (ennek ablakát is, a LOGO-ABLAK! [ ] utasítás végrehajtásával), pontosan úgy, mintha kiléptünk volna a Logóból, és újra elindítottuk volna.Miután minden objektumot letörölt, minden beállítást az eredeti értékére változtat: egyetlen teknőc lesz, melynek neve 0, alapkoordinátái [0 0], iránya észak, LÁTHATAT-LAN, és tolla lent van. A Fő-ablak OSZTOTTABLAK módban lesz, az íróablakban 6 sor látszik, és a Memóriában egyetlen saját objektum sem található (azaz a TÖRÖL-MUNKA még az ELFED utasítással rejtetté tett objektumokat is törli).

37

Page 38: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Logikai függvények és igazságértékek

ÉSÉS --- függvény 2 vagy N bemenő adattalÉS logikai logikai(ÉS logikai ... )Eredménye IGAZ, ha mindkét bemenő adat logikai értéke IGAZ, minden más esetben HAMIS. Ha kettőnél több (vagy kevesebb) paramétere van, akkor az eredmény csak ab-ban az esetben IGAZ, ha az összes bemenet értéke IGAZ.

? KI ÉS SZÁM? ELSŐ [2 3] SZÁM? UTOLSÓ [2 3]IGAZ? HA ÉS (ELEMSZÁM [1 2 3] = 3) ELEME? 2 123 [KIÍR "IGEN]IGEN? KI (ÉS SZÁM? 5 SZÁM? 6 SZÁM? "ABCD)HAMIS

HAMISHAMIS --- különleges jelentéssel bíró szóA hamis, illetve nem logikai értéket ábrázolja. Feltételes eljárások (pl. HA, TESZT ), il-letve logikai függvények (ÉS, VAGY és NEM ) bemeneteként használatos.

? KI ÉS "IGAZ "HAMISHAMIS? KI 6 = 2 + 3HAMIS

IGAZIGAZ --- különleges jelentéssel bíró szóAz igaz, illetve igen logikai értéket ábrázolja. Feltételes eljárások, mint a HA és a TESZT, bemeneteként használatos, illetve a logikai függvények, ÉS, VAGY, és NEM esetében.

? KI ÉS "IGAZ "IGAZIGAZ? KI 6 = 2 + 3HAMIS

NEMNEM --- függvény 1 bemenő adattalNEM logikaiLogikai függvény. Tagadás. Eredménye IGAZ, ha a bemenet HAMIS, illetve HAMIS, ha a bemenő érték IGAZ.

? KI NEM "IGAZHAMIS? KI NEM SZÁM? ELSŐ "J55IGAZ? KI NEM 5HIBA: 5 nem IGAZ vagy HAMIS

38

Page 39: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

VAGYVAGY --- függvény 2 vagy N bemenő adattalVAGY logikai1 logikai2(VAGY logikai ... )Logikai függvény. Eredménye HAMIS, ha az összes bemenetének értéke HAMIS. Kü-lönben a visszaadott érték IGAZ. Ha kettőnél több bemenő paraméter van, akkor az egész utasítást zárójelek közé kell foglalni.

? KI VAGY "HAMIS "IGAZIGAZ? KI VAGY SZÁM? ELSŐ [[2 3]] SZÁM? UTOLSÓ [[2 3]]HAMIS? HA VAGY EGYENLŐ? 2 3 EGYENLŐ? 4 5 [KIÍR "JÓ] [KIÍR [NEM JÓ]]NEM JÓ

39

Page 40: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Változók létrehozása és felhasználása

ÁTÍRÁTÍR --- utasítás 1 bemenő adattalÁTÍR memóriaobjektumÁTÍR [ memóriaobjektum ]ahol a memóriaobjektum vagy egy új, vagy egy már definiált objektum neveMegnyitja és aktívvá teszi a Memóriaobjektum Szerkesztőt vagy a Memóriaobjektum Képsorszerkesztőt (a létrehozni, illetve javítani kívánt objektum fajtájától függően ha az eljárás, szó vagy lista értékű változó, mezőkkel rendelkező szó, vagy új név, akkor a szöveges Szerkesztőt indítja el, ha pedig képsor értékű változó, akkor a Képsorszerkesz-tő indul el). Ha a bemenet új név, akkor a Memóriában új objektum jön létre.A Logo alapszavai és a különleges jelentéssel bíró szavak nem szerkeszthetők ezzel a paranccsal. Ugyanez igaz minden rejtett memóriaobjektumra, melyet az ELFED utasí-tással tettünk fedetté, ha éppen nem tettük ideiglenesen láthatóvá a FED! eljárással. Ha valamely változó értéke olyan lista, mely üres szót tartalmaz elemként (vagy egy elemé-nek elemeként ... stb.), akkor a változó nem szerkeszthető anélkül, hogy értéke megsé-rülne, ugyanis az üres szavakat a szerkesztő kitörli. Ha a változó értéke olyan lista, mely képsort tartalmaz, akkor ennek egésze szintén nem szerkeszthető.Az ÁTÍR utasítás aktiválható egy saját eljárással is. Ebben az esetben a végrehajtási fo-lyamat leáll és csak azután folytatódik, miután a Szerkesztő ablakot becsuktuk.Más lehetőségek:ha az adott objektum még nem létezik, akkor a Memóriaablakban létrehozhatjuk az Új eljárás, Új változó vagy Új rekord utasítások egyikévelha ez az objektum már létezik, akkor a Memóriaablakban szerkeszthetjük.

CSÖKKENTCSÖKKENT --- utasítás 1 vagy 2 bemenő adattalcsökkentCSÖKKENT változónév(CSÖKKENT változónév szám )Ha az utasításnak csak egyetlen paramétere van, akkor a bemenetként kapott változó ér-tékét 1-gyel csökkenti. Egyéb esetben a megfelelő változót a második paraméterként adott szám értékével csökkenti. A változó értéke csak szám lehet. a CSÖKKENT "A és a NÉV "A :A - 1 parancsok hatása megegyezik a (CSÖKKENT "A 5) nem más, mint a NÉV "A :A - 5

? NÉV "VALAMI 101? CSÖKKENT "VALAMI

? KI :VALAMI

100? CSÖKKENT :VALAMIHIBA: A(z) 100 változónak nincs értéke

ELFED

40

Page 41: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ELFED --- utasítás 1 bemenő adattalELFED memóriaobjektumELFED memóriaobjektumok listájaHogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...Láthatatlanná teszi a paraméterként megadott, felhasználó által definiált memóriaobjek-tumokat, vagyis ezután ezek fedettek lesznek. A fedett objektumok megjelenítése és fel-dolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb informá-ció a következő cím alatt:

Hogyan kezeli a Logo a fedett objektumokatAz összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ahhoz, hogy az elfedett objektumok listáját megtudjuk, használjuk a FEDETT függvényt. Az objektu-mok elrejtettségének megszüntetését a FELFED utasítással érhetjük el. Az összes fedett objektum ideiglenes láthatóvá tétele a FED! "HAMIS paranccsal lehetséges.A SAJÁTNEVEK, NEVEK és REKORDNEVEK listákat gyakran használjuk az EL-FED utasítás bemenő adataként. Az adott időpontban már fedett objektumok ezekben a listákban már nem szerepelnek csak akkor, ha ezek éppen ideiglenesen láthatók (gon-doljunk a FED! "HAMIS utasításra, illetve a Memóriaablak Elemek menüjének Elfedett is látszik menüpontjára).

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...Más lehetőség: az Elfed almenüpont a Memóriaablak Elemek menüjében.

ELFEDMINDELFEDMIND --- bemenő adat nélküli utasításELFEDMIND

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

A felhasználó által definiált összes memóriaobjektumot láthatatlanná teszi, vagyis ezek fedettek lesznek. A fedett objektumok megjelenítése és feldolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb információ a következő cím alatt:Hogyan kezeli a Logo a fedett objektumokatAhhoz, hogy csak néhány adott objektumot tegyünk rejtetté, használjuk az ELFED uta-sítást. Az összes jelenleg fedett objektum nevét a FEDETT függvény eredménylistája tartalmazza. Adott objektumok visszaállítása a FELFED utasítással lehetséges. Az aktu-álisan fedett objektumok nem szerepelnek a SAJÁTNEVEK, NEVEK és REKORDNE-VEK listáiban, hacsak ideiglenesen láthatóvá nem tettük őket a FED! "HAMIS utasítás-sal, vagy a Memóriaablak Elemek menüjének Elfedett is látszik almenüjével.Más lehetőség: az Elfed almenüpont a Memóriaablak Elemek menüjében.

FED!FED! --- utasítás 1 bemenő adattalFED! logikai

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Ha pillanatnyilag vannak fedett objektumaink, akkor a FED! "HAMIS utasítással az összes ilyet ideiglenesen láthatóvá tehetjük. Ekkor a SAJÁTNEVEK, a NEVEK és a REKORDNEVEK eredménylistái ezeket is tar-talmazni fogják, láthatóak lesznek a Memóriaablakban, kiírja őket a KIÍRTARTALOM vagy a KIÍRSAJÁTSZAVAK utasítás, szerkeszthetők lesznek az ÁTÍR utasítással stb. Azonban ezeket az objektumokat még mindig rejtett objektumként kezeli a Logo, és a FEDETT eredménylistájának elemei maradnak.Hogyan kezeli a Logo a fedett objektumokat

41

Page 42: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A FED! "IGAZ utasítás ezeket az ideiglenesen láthatóvá tett fedett objektumokat ismét rejtetté teszi.Más lehetőség: a Memóriaablak Elemek menüjének Elfedett is látszik utasítása

FEDETTFEDETT --- bemenő adat nélküli függvényFEDETT

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Eredménye az összes fedett objektumot tartalmazó lista.Hasonlóan a SAJÁTNEVEK, NEVEK és REKORDNEVEK listáinak jelöléséhez, a FE-DETT listájának elemeiről a következők mondhatók el: a kettősponttal (:) kezdődőek je-lölik a változókat, az idézőjellel (") kezdődőek meghatározott tulajdonsággal rendelkező szavak, és amelyek nem kezdődnek különleges karakterrel, azok a saját eljárások jelölé-sére szolgálnak.SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? ELFED (M [TUL1 TUL2] [:VÁLT1 :VÁLT2 :VÁLT3] ["ELJ1 "ELJ2])

; 2 tulajdonság, 3 változó és 2 eljárás

? KI FEDETT[TUL1 TUL2 :VÁLT1 :VÁLT2 :VÁLT3 "ELJ1 "ELJ2]

Az összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ha csak néhány meghatározott objektumot szeretnénk elfedni, akkor az ELFED utasítást használjuk. A FELFED parancs újra láthatóvá teszi az elrejtett objektumokat. Ahhoz, hogy minden fe-dett objektum ideiglenesen látható legyen, használjuk a FED! "HAMIS utasítássort.Más lehetőség: a Memóriaablak Elemek menüjének Elfedett is látszik almenüpontja lát-hatóvá teszi a pillanatnyilag fedett objektumok nevét is.

FELFEDFELFED --- utasítás 1 bemenő adattalFELFED memóriaobjektumFELFED memóriaobjektumok_listája

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Véglegesen megszünteti az adott saját objektum vagy saját objektumok fedett tulajdon-ságát (eltérően a FED! "HAMIS utasítástól, mely a fedett objektumokat csak ideiglene-sen teszi láthatóvá).A fedett objektumok listáját a FEDETT függvény eredményeként kapjuk meg. Az ösz-szes rejtett objektumot egyetlen lépésben láthatóvá tehetjük a FELFED FEDETT utasítássor begépelésével.

? KI FEDETT[A B :VÁLT22 "VALAKI]? FELFED [A :VÁLT22]? KI FEDETT[B "VALAKI]

Más lehetőség:a Memóriaablak Elemek menüjének Elfedett is látszik utasítása.

42

Page 43: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

LOKÁLISLOKÁLIS --- utasítás 1 vagy N bemenő adattalLOKÁLIS szó1LOKÁLIS szavak_listája(LOKÁLIS szó1 ... )Új változót vagy változókat hoz létre az adott nevekkel, melyek lokálisak lesznek arra az eljárásra nézve, melyben a LOKÁLIS utasítás szerepel. Ha több név, vagy nevek lis-tája szerepel, akkor egyetlen lépésben több lokális változót hozhatunk létre. A lokális változók ideiglenesek, csak addig léteznek, amíg aktív az az eljárás, ami létrehozta őket.

Lásd még globális és lokális változókA LOKÁLIS utasítás (vagy utasítások) bárhová elhelyezhető az eljáráson belül, mielőtt a megfelelő változónak kezdőértéket adnánk a NÉV vagy a NEVEZ utasításokkal. A LOKÁLIS önmagában nem ad kezdőértéket a változóknak!

LOKÁLISNÉVLOKÁLISNÉV --- utasítás 2 vagy N bemenő adattalLOKÁLISNÉV szó1 akármi1(LOKÁLISNÉV szó1 akármi1 szó2 akármi2 ... )Az utasítás létrehoz egy szó1 nevű változót, illetve a szó1, szó2 ... nevű változókat, me-lyek lokálisak lesznek arra az eljárásra nézve, melyben a LOKÁLISNÉV parancs szerepel. Eltérően a LOKÁLIS eljárástól, a LOKÁ-LISNÉV rögtön összeköti akármi1, akármi2 ... értékekkel ezeket a lokális változókat. Ezért a LOKÁLISNÉV egyetlen lépésben ered-ményezi ugyanazt, mint a LOKÁLIS a NÉV utasítással kiegészítve.

TANULD PRÓBA(LOKÁLISNÉV "M 1000 "N MONDAT [1 2 3] [4 5 6] )(KI :M :N)

VÉGE

? PRÓBA1000 [1 2 3 4 5 6]

NÉVNÉV --- utasítás 2 bemenő adattalNÉV szó akármia NÉV szó akármi és a NEVEZ akármi szó utasítások megegyeznekEgy szó nevű változót definiál, melynek értékét a második paraméter határozza meg.A változó értékére a TARTALOM "szó kifejezéssel, vagy röviden a :szó formával hi-vatkozhatunk.

? NÉV "A [TE ÉS ÉN]? KI :A[TE ÉS ÉN]? KIÍR :ATE ÉS ÉN? KI TARTALOM "A[TE ÉS ÉN]

A NÉV utasítás használatával egyaránt létrehozhatunk globális és lokális változókat va-lamely saját eljárás törzsében.

43

Page 44: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Más lehetőségek:a Memóriaablak Elemek menüjének Új változó... utasítása új változót hoz létre, ha még nem szerepel azonos néven változó, ha már létezik ezen a néven változó, akkor ennek értékét módosíthatjuk a Memóriaablak Szerkesztő részében.

NÉV?NÉV? --- függvény 1 bemenő adattalNÉV? szóEredményül IGAZ értéket kapunk, ha a szó a következők valamelyike:egy globális változó neve (még ha pillanatnyilag elrejtettük is a változót az ELFED uta-sítással), vagy tetszőleges aktív eljárás egy lokális változójának a neve, ha ennek a vál-tozónak már adtunk kezdőértéket a NÉV vagy a NEVEZ utasítással, valamely aktív el-járás bemenő adatának neve.Különben az eredmény HAMIS.

? NEVEZ [A B C] "BETŰK? NÉV "SZÁMJEGYEK [0 1 2 3 8]? KIÍR NÉV? "BETŰKIGAZ? KIÍR NÉV? "SZÁMOKHAMIS

Más lehetőség:ha a szó jelenleg nem rejtett az ELFED utasítás miatt (vagy ha ideiglenesen láthatóvá tettük a FED! utasítással), akkor látható a Memóriaablak memóriaobjektumok listájá-ban.

NEVEKNEVEK --- bemenő adat nélküli függvényNEVEKEredménye az összes pillanatnyilag létező változó nevét tartalmazó lista. A lista tartal-ma a következő:az összes globális változó neve, melyet a NÉV vagy NEVEZ eljárással létrehoztunk (és még nem töröltünk). Az ELFED utasítással rejtetté tett változók neveit nem tartalmazza a lista, kivéve, ha ideiglenesen láthatóvá tettük őket a FED! utasítással, az összes lokális változó neve, azaz az összes éppen aktív eljárás bemenő adatainak neve; és az összes lokális változó neve, melyet a LOKÁLIS utasítással létrehoztunk, és a NÉV vagy a NEVEZ eljárással kezdőértékkel is elláttunk.

? NÉV "X 10000? KI NEVEK[:X]

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

Más lehetőség:a Memóriaablak bal oldalán láthatjuk a globális változók neveit. Ezeket a neveket a vagy a ikon jelöli.

NEVEZ

44

Page 45: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

NEVEZ --- utasítás 2 bemenő adattalNEVEZ akármi szó a NEVEZ akármi szó és a NÉV szó akármi utasítások azonosakEgy szó nevű változót definiál, melynek az első paraméter lesz az értéke.A változó értékére a TARTALOM "szó kifejezéssel, vagy röviden csak a :szó formával hivatkozhatunk.

? NEVEZ [TE ÉS ÉN] "A? KIÍR :ATE ÉS ÉN? KI :A[TE ÉS ÉN]? KI TARTALOM "A[TE ÉS ÉN]

A NEVEZ utasítással tetszőleges saját eljárás törzsében globális és lokális változók is létrehozhatók.Más lehetőségek:a Memóriaablak Elemek menüjének Új változó... utasítása új változót hoz létre, ha még nem szerepel azonos néven változó, ha már létezik ezen a néven változó, akkor ennek értékét módosíthatjuk a Memóriaablak Szerkesztő részében.

NÖVELNÖVEL --- utasítás 1 vagy 2 bemenő adattalnövelNÖVEL változónév(NÖVEL változónév szám )Ha az utasításnak egy bemenete van, akkor 1-gyel növeli a bemenetében meghatározott változó értékét.Ha az utasításnak két bemenete van, akkor a változó értékét az adott számmal növeli.A változó értéke szükségképpen numerikus kell, hogy legyen.a NÖVEL "A és a NÉV "A :A + 1 utasítások azonosaka (NÖVEL "A 5) és a NÉV "A :A + 5 utasítások megegyeznek

? NÉV "VALAMI 99? NÖVEL "VALAMI? KI :VALAMI100? NÖVEL :VALAMIHiba: A(z) 100 változónak nincs értéke

TARTALOMTARTALOM --- függvény 1 bemenő adattalTARTALOM szóahol a szó egy változó neveEredménye a szó nevű változóval összekapcsolt érték. Ezt a hozzárendelést a NÉV vagy a NEVEZ utasításokkal valósíthattuk meg. Egy aktív saját eljárás paraméterneveinek megfelelő érték is lehet a függvény eredmé-nye.A TARTALOM egy alapszó, amit kettősponttal helyettesíthetünk, azaz a TARTALOM "A ugyanarra az értékre hivatkozik, mint a :A.

? NÉV "NÉV "OTTÓ

45

Page 46: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI "NÉVNÉV? KI TARTALOM "NÉVOTTÓ? KI :NÉVOTTÓ

Ha a szó nevű változó egy képsor, akkor a TARTALOM függvény eredménye a követ-kező megjegyzés lesz: {képsorN }, ahol az N a képsor fázisszáma.Más lehetőség:a Memóriaablakban az összes globális változó neve és értéke megtalálható, ellenőrizhe-tő és módosítható. Ezeket a neveket a következő ikonok jelölik: vagy .

TÖRÖLTÖRÖL --- utasítás 1 vagy N bemenő adattalTÖRÖL bemenet1(TÖRÖL bemenet1 bemenet2 ... )ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok lis-tájaTörli a bemeneteként felsorolt összes memóriaobjektumot.A SAJÁTNEVEK, NEVEK, és REKORDNEVEK listáit gyakran használjuk a TÖRÖL utasítás paramétereként. Vigyázzunk, hogy a pillanatnyilag fedett objektumok nem ele-mei ezen listáknak, azonban ha határozottan megnevezzük őket, akkor ezek is törölhe-tők.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? TÖRÖL NEVEK ; az összes változót törli? (TÖRÖL [F G] [:V1 V2] REKORDNEVEK)

; törli az F és G eljárásokat, a V1 és V2; változókat, és az összes; mezőket tartalmazó szót

? (TÖRÖL "F ":Vált ""P) ; törli az F eljárást, a :Vált változót,; és a "P szó összes mezőjét

Ha a TÖRÖL eljárás egyik bemenete nem saját objektum neve, akkor HIBA következik be csak létező objektumokat törölhetünk.Más lehetőségek:használjuk a Memóriaablak Töröl utasítását az összes kijelölt objektum törlésére

TÖRÖLMUNKATÖRÖLMUNKA --- bemenő adat nélküli utasításmindent törölTÖRÖLMUNKATörli az összes memóriaobjektumot és az összes teknőcöt, lefuttatja az új SLOGO.INI fájlt ha ez létezik a Logo alapkönyvtárában. Letörli a rajzlapot is, és alapállapotba hozza az egész Logót (ennek ablakát is, a LOGO-ABLAK! [ ] utasítás végrehajtásával), pontosan úgy, mintha kiléptünk volna a Logóból, és újra elindítottuk volna.Miután minden objektumot letörölt, minden beállítást az eredeti értékére változtat: egyetlen teknőc lesz, melynek neve 0, alapkoordinátái [0 0], iránya észak, LÁTHATAT-LAN, és tolla lent van. A Fő-ablak OSZTOTTABLAK módban lesz, az íróablakban 6

46

Page 47: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

sor látszik, és a Memóriában egyetlen saját objektum sem található (azaz a TÖRÖL-MUNKA még az ELFED utasítással rejtetté tett objektumokat is törli).

47

Page 48: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Vezérlő és feltételes eljárások

AMÍGAMÍG --- utasítás 2 bemenő adattalAMÍG [ kifejezés ] utasításlistaA Logo elsőként a kifejezést értékeli ki. Ha ennek értéke IGAZ, akkor a Logo az utasí-táslista összes utasítását végrehajtja, majd újra kiértékeli a kifejezést. Ha ennek értéke még mindig IGAZ, akkor a Logo ismét végrehajtja az utasításlista összes utasítását. Ezt a folyamatot ismétli mindaddig, amíg a kifejezés kiértékelése az IGAZ értéket ered-ményezi.

? FIGYELJ 0 TL? NÉV "I IRÁNY? E 10 J 5? AMÍG [:I <> IRÁNY] [E 10 J 5]

Jegyezzük meg, hogy az utasításlistán belül az ismétlések aktuális számára a HÁNYA-DIK függvény alkalmazásával hivatkozhatunk.

ÁTDOBÁTDOB --- utasítás 1 bemenő adattalÁTDOB szóLeállítja az aktuálisan futó saját eljárást és a felsőbb szintű eljárásokat is, egészen addig, amíg el nem éri a megfelelő ELKAP utasítást, melynek első bemenete pontosan ugyan-az a szó.Próbáljuk az ELKAP és az ÁTDOB utasításokat együtt megérteni. Legyünk óvatosak a használatukkal.

? ELKAP "ITT [KIÍR "A ÁTDOB "ITT KIÍR "B]A? ; az A szót kiírja, és a lista többi részét nem hajtja végre

Ha az ÁTDOB nem talál hozzá tartozó ELKAP utasítást, akkor a vezérlés a legfelső szintre adódik vissza, vagyis a párbeszédes szintre. Ugyanez történik akkor is, amikor az ÁTDOB "FELSŐSZINT utasítást használjuk mindenféle ELKAP eljárás nélkül. Lásd még a FELSŐSZINT speciális szót is.Mivel az ELKAP és ÁTDOB utasítások együttes alkalmazásával nemcsak azt az eljárást állíthatjuk le, melyben az ÁTDOB szerepel, de az ezt meghívó eljárást is, az eljárást meghívó eljárást meghívó eljárást is stb., azaz az aktív eljárások láncolatának egy részét, esetleg egészét, ezeket együttesen 'szuper-STOP-nak'-hívják. (Hasonlítsuk össze a VISSZATÉR utasítással, mely csak saját eljárását állítja le.)

CIKLUSCIKLUS --- utasítás 3 bemenő adattalCIKLUS szó [SZ1 SZ2 ] utasításlistaCIKLUS szó [SZ1 SZ2 SZ3 ] utasításlistaahol azSZ1, SZ2, SZ3 számok, SZ3 a ciklus lépésköze

48

Page 49: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Először feltételezzük, hogy SZ1 < SZ2. A szó változó kezdetben SZ1-gyel egyenlő, és az utasításlistát végrehajtja a rendszer. Ekkor a szó változót 1-gyel növeljük (ha nem szerepel SZ3 bemenet, különben SZ3-mal nő az értéke) és az utasításlista újra végrehaj-tódik. Ennek a folyamatnak akkor lesz vége, ha a szó változó értéke nagyobb lesz, mint az SZ2.

? CIKLUS "J [1 3] [KI :J]123? CIKLUS "J [1 3 2] [KI :J]13

Ha SZ3 a lépésköz nincs megadva, és SZ1 > SZ2, akkor a szó változó minden egyes alkalommal 1-gyel csökken. Egyébként SZ3 adódik mindig a szó változó értékéhez: ha az SZ3 negatív, akkor a szó változó értéke minden alkalommal csökkenni fog:

? CIKLUS "JÁNOS [25 10 -7] [KI :JÁNOS]251811

Az utasításlistán belül a HÁNYADIK függvényt használhatjuk az ismétlések aktuális számára való hivatkozásra. Jegyezzük meg, hogy ha SZ3, a lépésköz 0, akkor az utasí-táslistát csak egyszer hajtja végre a rendszer. Ez akkor is igaz, ha SZ1 = SZ2.

CIKLUSCSAKCIKLUSCSAK --- utasítás 3 bemenő adattalCIKLUSCSAK szó akármi utasításlistaAz akármi első eleme (ami szó esetén egy karakter; lista esetén egy elem; képsor esetén egy fázis) lesz a szó változó kezdeti értéke, és az utasításlistát végrehajtja a rendszer. Ezután akármi második eleme lesz a szó változó értéke, s az utasításlista ismét végrehaj-tódi ... stb. akármi minden egyes elemére.Az utasításlistát pontosan annyiszor hajtja végre, amennyi az akármi elemszáma. Azaz, ha az akármi üres, akkor az utasításlista egyáltalán nem hajtódik végre.Jegyezzük meg, hogy az utasításlistán belül a HÁNYADIK függvényt használhatjuk, ha az ismétlések aktuális számára akarunk hivatkozni.

? CIKLUSCSAK "W [KROKODIL ZSIRÁF MAJOM] ~ [(KIÍR SZÓ "A(Z) HÁNYADIK ". "SZÓBAN ELEMSZÁM ~ :W "BETŰ "VAN)]

A(Z) 1. SZÓBAN 8 BETŰ VANA(Z) 2. SZÓBAN 6 BETŰ VANA(Z) 3. SZÓBAN 5 BETŰ VAN? ÚJTEKNŐC 1 [20 100 90]? ÚJTEKNŐC 2 [-50 -50 180]? CIKLUSCSAK "TEKNŐC MIND [KÉREM :TEKNŐC [E 20]]

ELÁGAZÁS

49

Page 50: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ELÁGAZÁS --- utasítás 2 bemenő adattal függvény 2 bemenő adattal

ELÁGAZÁS akármi [ág1 ág2 ... ]ahol minden egyes ág a következők valamelyike:kételemű Logo-szerkezet: feltétel utasításlista (jegyezzük meg, hogy ezt a két struktúrát az ágon belül nem foglaljuk zárójelbe [ ... ] ), kételemű Logo-szerkezet: felté-tel [kifejezés] (figyeljünk arra, hogy ez a két stuktúra nincs zárójelbe foglalva [ ... ] ), egyelemű Logo-szerkezet utasításlista, ha ez az ELÁGAZÁS eljárás utolsó ága. Ez az ág az úgynevezett „KÜLÖNBEN ág szerepét tölti be, egyelemű Logo-szerkezet [kifeje-zés], ha ez az ELÁGAZÁS eljárás utolsó ága. Ez az ág az úgynevezett „KÜLÖNBEN ág szerepét tölti be, ha akármi, az ELÁGAZÁS első paramétere szó, akkor minden egyes ág lehet egy következő formátumú sorozat:

szó1 szó2 ... szóN utasításlista vagyszó1 szó2 ... szóN [kifejezés]

és ekkor a feltétel akármi Logo-érték. Az eljárás első lépésként meghatározza az első paraméterként adott akármi értékét, az-tán összehasonlítja a kapott értéket minden egyes ág feltételével (vagy feltételeivel), amíg az összehasonlítás eredményeként IGAZ-at nem kap. Vigyázzunk, a feltételt meg-határozó adatokat nem értékeli ki! A fenti összehasonlításhoz a Logo a szokásos EGYENLŐ? függvényt használja. Majd amikor a megfelelő szelektort megtalálta, az adott ágban található utasításlista végrehajtását, illetve [kifejezés] kiértékelését kezdi meg.Ezután már nem végez több összehasonlítást, és az ELÁGAZÁS befejezte működését. Ha a megfelelő ág utasításlistát tartalmaz, akkor az ELÁGAZÁS is utasításként viselke-dik. Ha ez az ág [kifejezést] tartalmaz, akkor az egész ELÁGAZÁS függvénynek tekint-hető, és értékét a [kifejezés] kiértékelésével kapjuk meg.Ha akármi, az első paraméter szó, és egy ág összetett szelektort, vagyis szó1 szó2 ... szóN sorozatot tartalmaz feltételként, ez az ág akkor lesz megfelelő, ha a sorozat vala-mely szava EGYENLŐ? akármivel. Ha egyetlen összehasonlítás sem eredményez igaz értéket, és a szerkezetben szerepel „KÜLÖNBEN ág, akkor az ehhez tartozó utasításlis-tát, illetve [kifejezést] dolgozza fel a program. Ha nincs „KÜLÖNBEN ág a struktúrá-ban, akkor:

ha az ELÁGAZÁS utasításként szerepel, leáll és semmi nem történik,ha az ELÁGAZÁS függvényként szerepel, hiba következik be.

? NÉV "K 100? ELÁGAZÁS :K * 3 [200 [KIÍR "NEM] 300 [KIÍR "IGEN] 400 [KIÍR "NEM]]IGEN? ELÁGAZÁS :K [10 20 30 [NÉV "K :K * 3] [NÉV "K :K/10]]? KI :K10? NÉV "K ELÁGAZÁS MARADÉK :K 2 [0 [:K * 2 + 1] 1 [:K * 2]]? KI :K21

ELFELEJTELFELEJT --- utasítás 1 vagy N bemenő adattalELFELEJT akármi(ELFELEJT akármi1 akármi2 ... )

50

Page 51: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ez az eljárás a kapott bemenetet (vagy bemeneteket) mellőzi, vagyis semmit sem csinál velük.Az ELFELEJT utasítás abban az esetben használatos, amikor egy függvénytől olyan ér-téket kapunk, melyre nincs szükségünk. Például, használhatjuk egyszerű „léptető esz-közként egy számítási folyamat alatt, ilyenkor a kalkuláció bizonyos pontokon billen-tyűlenyomásig várakozik. Azonban a lenyomott billentyű értéke itt nem fontos, így egy-szerűen mellőzzük:

TANULD LASSÚ.SOKSZÖG :N :O :SZHA :N = 0 [VISSZATÉR]E :O J :SZELFELEJT OLVASKÓDLASSÚ.SOKSZÖG :N - 1 :O :SZ

VÉGE

? LÁTHATÓ LASSÚ.SOKSZÖG 12 180 150

ELKAPELKAP --- utasítás 2 bemenő adattalELKAP szó utasításlistaBalról jobbra haladva kiértékeli a bemenetként kapott Logo utasításlistát. Amikor ebben az ÁTDOB utasításhoz jut, mely az első paraméterként adott szóval együtt szerepel, ak-kor a vezérlés újra az ELKAP eljáráshoz kerül, és az ezt követő kifejezések kiértékelése történik meg.

? ELKAP "HELLO [KIÍR "A ÁTDOB "HELLO KIÍR "B] KI [ITT VAGYOK]AITT VAGYOK? ; az A betűt kiírta, de a lista további elemeit nem vette figyelembe? ISMÉTLÉS 3 [ELKAP "ITT [KIÍR "A ÁTDOB "ITT KIÍR "B ] ]AAA ; a B betűt soha nem írja ki

Az ELKAP eljárás első paraméterét címke fajtájúnak nevezzük, melyet maga az eljárás „deklarál. Ha a lista kiértékelése során az ÁTDOB szó utasítás végrehajtásához ér a program, akkor a pillanatnyilag futó eljárás leáll, és a magasabb szintű eljárásokat is le-állítja, egészen addig, amíg ehhez a címkéhez el nem jut. Ezzel az ÁTDOB és az EL-KAP eljáráspár nem lokális kiugrást határoz meg, ellentétben a VISSZATÉR és az EREDMÉNY utasításpárral, melyekkel lokális kiugrást definiálhatunk a saját eljárások-ban.Ha az ELKAP első bemenő adata HIBA, azaz az utasítás a következő formát veszi fel: ELKAP "HIBA lista, akkor a lista kiértékelése folyamán bekövetkező bármilyen hiba hibaüzenet küldését mellőzve az ELKAP eljárásnak adja vissza a vezérlést. Ezzel a program írójának lehetősége nyílik arra, hogy az ELKAP utasítást követő parancsokkal egy esetlegesen előforduló sajátságos hibát saját elképzeléseinek megfelelően kezeljen.

Próbáljuk meg együtt megérteni az ELKAP és az ÁTDOB utasításokat! Mindig nagy körültekintéssel használjuk őket!

Próbáljuk meg maradéktalanul megérteni a HIBA jelentését mint szó és mint függvény egyaránt mielőtt az ELKAP utasítással használnánk.

ER

51

Page 52: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

EREDMÉNY; ER --- utasítás 1 bemenő adattalEREDMÉNY akármiMeghatározza, hogy a pillanatnyilag futó függvény eredménye akármi lesz. Az ERED-MÉNY függvény csak saját függvény törzsében szerepelhet, konkrétan ez tesz különb-séget a függvény és utasítás között.Az EREDMÉNY utasítás leállítja annak a saját függvénynek a végrehajtását, melyben szerepel. A fenti tulajdonsága miatt különbözik a VISSZATÉR utasítástól, mely szintén leállítja az eljárás végrehajtását, de nem ad vissza semmilyen értéket a VISSZATÉR a saját utasításokban használatos, s nem a függvények esetén.

TANULD NÉGYZETÖSSZEG :A :BEREDMÉNY :A * :A + :B * :B

VÉGE

? KI NÉGYZETÖSSZEG 5 -661

EREDMÉNY; ER

FELSŐSZINTFELSŐSZINT --- különleges jelentéssel bíró szóÁTDOB "FELSŐSZINTLeállítja a pillanatnyilag futó saját eljárást és a felsőbb szintű hívó eljárásokat is, amíg a vezérlés a legfelső szintre, vagyis a Logo párbeszédes szintjére nem adódik vissza.Próbáljuk a FELSŐSZINT szót az ELKAP és az ÁTDOB utasításokkal együtt megérte-ni. Használat közben legyünk óvatosak.Az ÁTDOB "FELSŐSZINT nagymértékben különbözik a VISSZATÉR utasítástól. A VISSZATÉR csak a pillanatnyi saját eljárást állítja le, és a hívó eljáráshoz tér vissza.

GENERÁLGENERÁL --- függvény 3 bemenő adattalGENERÁL szám eljárásobjektum2 akármiGENERÁL eljárásobjektum1 eljárásobjektum2 akármiahol mindkét eljárásobjektum 1 bemenő adatot vár, és az eljárásobjektum1 mindig IGAZ vagy HAMIS értéket eredményez. A függvény egy listát generál a következőkép-pen : az eredménylista első eleme mindig a harmadik paraméter (akármi) lesz. A lista el-sőtől különböző elemét úgy kapjuk meg, hogy a már meghatározott előtte lévő elemre alkalmazzuk az eljárásobjektum2-t (a matematikából ismert rekurzív definíció). Ezt a folyamatot ismétljük, amíg:az eredménylista elemszáma megegyezik az adott számmal, vagy ha adott az eljárásob-jektum1, akkor ezt alkalmazzuk az újonnan generált elemre. Ha eredményül IGAZ érté-ket kapunk, akkor a folyamat folytatódik. Ha az eredmény HAMIS, akkor a folyamat le-áll, és az utolsó elemet már nem tesszük a listába.

? KI GENERÁL 10 [:% + 1] 1[1 2 3 4 5 6 7 8 9 10]? KI GENERÁL 5 [[X] [EREDMÉNY LISTA :X]] [ ][[ ] [[ ]] [[[ ]]] [[[[ ]]]] [[[[[ ]]]]] ]? KI GENERÁL [:% > 0] [EGÉSZHÁNYADOS :% 2] 100[100 50 25 12 6 3 1]

52

Page 53: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

HAHA --- utasítás 2 vagy 3 bemenő adattal

függvény 3 bemenő adattalutasítás: HA logikai lista1

HA logikai lista1 lista2ahol lista1, lista2 Logo-utasítások listája

függvény: HA logikai [ kifejezés1 ] [ kifejezés2 ]

A HA utasítás és a HA függvény a második és harmadik bemenetük alapján különböz-tethetők meg egymástól. Ha ezek a listák utasításokat tartalmaznak, akkor az egész HA szerkezet szintén utasítás. Ha a második és a harmadik bemenet kifejezés, melyek kiér-tékelés után eredményt adnak vissza, akkor az egész HA szintén visszaad egy értéket, s ezért ilyenkor függvényről beszélünk. Ha a HA parancsot függvényként használjuk, ak-kor egyetlen paramétere sem lehet üres lista.A HA parancsnak mindig teljes egészében bele kell férnie egyetlen logikai sorba. Ha utasításként szerepel, és csak 2 bemenete van, majd ezután egy új utasítás következik ugyanabban a logikai sorban, akkor az egész HA szerkezetet zárójelek közé kell foglal-ni. Ahhoz, hogy a HA parancs jobban olvasható legyen, néha hasznos a TESZT, HA-IGAZ és HAHAMIS utasításokkal helyettesíteni.Utasítás: ha az első bemenete IGAZ, akkor a lista1 elemeit hajtja végre. Ha az első be-menet értéke HAMIS és létezik a harmadik paraméterként megadott lista2, akkor az eb-ben található utasításokat hajtja végre. Ha az első bemenet HAMIS, és nincs harmadik bemenő adat, akkor a HA utasításnak semmiféle hatása sincs.

TANULD PRÓBA.1 :SZÁMHA MA :SZÁM 2 = 0 [KIÍR "PÁROS] [KIÍR "PÁRATLAN]

VÉGE

? PRÓBA.1 22PÁROS? PRÓBA.1 23PÁRATLAN

Függvény: Eredménye a kifejezés1 által visszaadott érték (azaz a kifejezés1 kiértékelé-sével kapott eredmény), ha az első bemenet IGAZ, különben pedig a kifejezés2 kiérté-kelésével kapott érték.

TANULD PRÓBA.2 :SZÁMER HA MA :SZÁM 2 = 0 ["PÁROS] ["PÁRATLAN]

VÉGE

? KI PRÓBA.2 22PÁROS? KI PRÓBA.2 23PÁRATLAN

HAHHAHAMIS; HAH --- utasítás 1 bemenő adattalHAHAMIS Logo_utasításlistaHa a HAHAMIS eljárás előtt ugyanabban az eljárásdefinícióban szerepel a TESZT uta-sítás, és a bemenet kiértékelésével HAMIS érték született, akkor végrehajtja a bemenő

53

Page 54: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

lista utasításait. Ha a kiértékelt bemenet IGAZ értéket eredményez, akkor a HAHAMIS utasításnak nincs hatása.Hol használjuk a TESZT, HAHAMIS és HAIGAZ eljárásokat

TANULD JÓ.EZ? :VÁLT

; igaz, hogy :VÁLT értéke 0-nál nagyobb és 6-nál kisebb?

TESZT ÉS (:VÁLT < 6) (:VÁLT > 0)HAI [KIÍR [EZ HELYES BEMENŐ ADAT] ]HAH [KIÍR [SAJNOS EZ NEM JÓ] ]

VÉGE

? JÓ.EZ? 6SAJNOS EZ NEM JÓ? JÓ.EZ? 3EZ HELYES BEMENŐ ADAT

HAHAMIS; HAH

HAIHAIGAZ; HAI --- utasítás 1 bemenő adattalHAIGAZ Logo_utasításlistaHa a HAIGAZ eljárás előtt ugyanabban az eljárásdefinícióban szerepel a TESZT utasí-tás, és a bemenet kiértékelésével IGAZ érték született, akkor végrehajtja a bemenő lista utasításait. Ha a kiértékelt bemenet HAMIS értéket eredményez, akkor a HAIGAZ uta-sításnak nincs hatása.Hol használjuk a TESZT, HAHAMIS és HAIGAZ eljárásokat

TANULD JÓ.EZ? :VÁLTTESZT ÉS (:VÁLT < 6) (:VÁLT > 0)HAI [KIÍR [EZ HELYES BEMENŐ ADAT] ]HAH [KIÍR [SAJNOS EZ NEM JÓ] ]

VÉGE

? JÓ.EZ? 2.66EZ HELYES BEMENŐ ADAT? JÓ.EZ? 32SAJNOS EZ NEM JÓ

HAIGAZ; HAI

HASZNÁLHASZNÁL --- utasítás 2 bemenő adattal

függvény 2 bemenő adattalHASZNÁL eljárásobjektum listaaholaz eljárásobjektum bemenő adatainak száma megegyezik a lista elemszámával.A korábban definiált eljárásobjektum, a lista által tartalmazott bemenő paraméterekkel való hívását érhetjük el a parancs használatával:

54

Page 55: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? HASZNÁL "KIÍR [2000000]2000000? KI HASZNÁL "SZÓ [M A J O M]MAJOM? KI HASZNÁL [[X Y Z][EREDMÉNY :X*:Y/:Z]] [100 200 300]66.67? KI HASZNÁL [LISTA :%2 + :%1] [200 300][500]

Jegyezzük meg:a HASZNÁL utasításként viselkedik, ha a bemeneteként adott eljárásobjektum utasítást határoz meg. Egyébként függvényként viselkedik, például a HASZNÁL "SZÓ [AA BB] eredménye megegyezik a SZÓ "AA "BB hatásával, és ha az eljárásobjektum olyan eljá-rást határoz meg, melynek bemenő adatai nem meghatározott számúak, akkor a listának akárhány eleme lehet:

? KI HASZNÁL "SZÓ [M A J O M]MAJOM

HÁNYADIKHÁNYADIK --- bemenő adat nélküli függvényHÁNYADIKCsak az ISMÉTLÉS, a CIKLUS, az AMÍG és a CIKLUSCSAK utasítások belsejében használható eljárás. Eredményeként egy pozitív egész számot kapunk, mely azt fejezi ki, hogy az adott ISMÉTLÉS utasítás bemeneteként szereplő utasításlistát eddig hányszor hajtottuk végre az éppen végrehajtás alatt lévő alkalmat is beleszámítva:

? ISMÉTLÉS 3 [KIÍR HÁNYADIK]123

A HÁNYADIK függvény lényegében változóként viselkedik, mely az ISMÉTLÉS uta-sítás törzsében mindig 1-gyel növekedik.

HIBAHIBA --- bemenő adat nélküli függvény

különleges jelentéssel bíró szófüggvény: HIBAspeciális szó: ELKAP "HIBA

Amikor függvényként használjuk, teljes hibaüzenetet eredményez, ha a számítás alatt hiba lép fel. Ha nem következik be hiba, akkor az eredmény [ ].A teljes hibaüzenet csak a számítás befejeződése előtt érhető el, vagyis mielőtt a vezér-lés a felső szintre adódik vissza. (Csak egyszer érhető el. Ha a HIBA függvényt közvet-lenül egymás után kétszer használjuk, és az első előfordulás hibaüzenetet eredményez-ne, akkor a második alkalmazás eredménye: [ ].) Ezért a HIBA függvényt csak a követ-kező formában használjuk:

ELKAP "HIBA lista

55

Page 56: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

parancs, vagyis az ELKAP és a HIBA mint különleges jelentésű szó szerepel. Ha a HIBA az első bemenete az ELKAP utasításnak, akkor a lista kiértékelése alatt bekövet-kező bármilyen hibát itt kezel le a rendszer nem küld hibaüzenetet, s az ELKAP utasí-tást követő eljárásokkal adhatjuk meg a saját reakciónkat a bekövetkezett sajátos hibára.

TANULD PRÓBA

ELKAP "HIBA [VÉGREHAJT OLVASLISTA] ; a HIBA mint szóKI HIBA ; a HIBA mint függvény

VÉGE

Próbáljuk ki a PRÓBA eljárást a következő bemenetekkel: KI 55 és 55.Ha lenyomjuk az F12 funkcióbillentyűt a kiértékelés során, akkor a Logo leállítja a vég-rehajtást, és egy hibakódot jelez, a 25-öt, azzal a megjegyzéssel, hogy VISSZATÉR.

List of Error Messages

HIBAÜZENETHIBAÜZENET --- utasítás 2 bemenő adattalHIBAÜZENET lista akármiAz eljárás alkalmazása esetén leáll a program végrehajtása, és saját hibaüzenetet küldhe-tünk. Ennek az utasításnak köszönhetően magunk határozhatjuk meg programunkban azokat a helyzeteket, melyekben hiba bekövetkeztével számolunk, például, ha az eljárá-sunk bemenő adata nem páros szám.A hiba üzenetét a listában (a HIBAÜZENET eljárás első paramétereként) adhatjuk meg:

? HIBAÜZENET [Elfogadhatatlan adat] "759HIBA: Elfogadhatatlan adat

A második bemenet, akármi az az érték, mely a teljes hibaüzenet részévé fog válni. En-nek megértése céljából tanulmányozzuk részletesen a HIBA függvényt:

? NÉV "I 333? ELKAP "HIBA [HA :I > 222 [ HIBAÜZENET [ Túl sok! ] :I ] ] KI HIBA[100 [ Túl sok! ] [ ] 0 [ ] 333 ]

Hibaüzenetek listája

ISMISMÉTLÉS; ISM --- utasítás 2 bemenő adattalISMÉTLÉS szám Logo_utasításlistaAz adott számnak megfelelő mennyiségben egymás után ismételve végrehajtja az utasí-táslistát. Ha az ISMÉTLÉS első bemenete 1-nél kevesebb, akkor az utasításlistát egy-szer sem hajtja végre. Ha a szám nem egész, akkor először csonkítja ennek törtrészét a Logo. Az ISMÉTLÉS utasítás másik ISMÉTLÉS belsejében is használható stb.

? ISMÉTLÉS 3 [KIÍR "HELLO]HELLOHELLOHELLO

56

Page 57: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? NÉV "A 4? NÉV "B [E 120 ISMÉTLÉS 4 [E 15 B 90] J 90]? ISM :A [ISM 10 [VÉGREHAJT :B J 1.5] ]

Gyakran hasznos a HÁNYADIK függvény alkalmazása az utasításlistában, mert ennek segítségével hivatkozhatunk a már megvalósított ismétlések számára (beleértve ebbe az éppen aktuális ismétlést is).

ISMÉTLÉS; ISM

LEKÉPEZLEKÉPEZ --- utasítás 1 vagy N bemenő adattal

függvény 1 vagy N bemenő adattalLEKÉPEZ eljárásobjektum lista1 (LEKÉPEZ eljárásobjektum lista1 lista2 ... )aholaz eljárásobjektum által várt bemenetek száma és a listák száma lista1, lista2... meg-egyezik, valamint az összes lista elemszáma egyenlőAz összes lista, lista1, lista2 ... első elemét összegyűjti egyetlen listába, és az eljárásob-jektum ezt a listát alkalmazza. Ezután a listák második elemét gyűjti ki, és az eljárásob-jektum ezeket használja... stb. Ezt a folyamatot folytatja a listák összes elemére.Ha az eljárásobjektum utasítást határoz meg, akkor a LEKÉPEZ eljárásnak nem lesz eredménye. Ezért a LEKÉPEZ ebben az esetben utasításként szerepel. Azonban, ha az eljárásobjektum függvényt határoz meg, akkor az összes alkalmazás részeredményét egy listában gyűjti a rendszer, mely lista a LEKÉPEZ eljárás eredményévé válik. Ekkor a LEKÉPEZ függvényként működik.

? LEKÉPEZ "KIÍR [[Hello] [Ahoj] [Bye]]HelloAhojBye? KI (LEKÉPEZ "LISTA [1 2 3 4] [A B C D] )[[1 A] [2 B] [3 C] [4 D]]

NYOMOZNYOMOZ --- utasítás 1 bemenő adattalNYOMOZ utasításlista

A Logót hibafelderítő módra állítja. Ez a mód lehetőséget biztosít nyomon követni és láthatóvá tenni azt a számítási folyamatot, illetve annak részeredményeit, melyet a be-menő adatként megadott lista határoz meg lépésenként, vagy nagyobb egységekben ha-ladva. Ez az utasítás csak közvetlenül az utasítássorban adható ki, s mellette másik uta-sítás nem szerepelhet a sorban. Így a NYOMOZ eljárást nem használhatjuk az ISMÉT-LÉS vagy a HA stb. utasítások belsejében sem.Nyomozás a Logóban

NYOMOZÓSZÜNETNYOMOZÓSZÜNET --- bemenő adat nélküli utasításNYOMOZÓSZÜNETAz utasítás segítségével olyan pontot definiálhatunk a programunkban, melyben a rend-szer a végrehajtást felfüggeszti, ha a Logo hibakereső módban működik. Ha a Logo nem ebben a módban találkozik a NYOMOZÓSZÜNET utasítással, akkor az eljárásnak nem lesz hatása.

57

Page 58: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TANULD PRÓBA :IKIÍRBELSŐ :INYOMOZÓSZÜNETKIÍRBELSŐ :I + 1PRÓBA :I + 2

VÉGE

? PRÓBA 1

123456789101112131415 ; stb. örökké ...

Azonban, ha a NYOMOZ utasítás bemenő paramétereként adjuk a PRÓBA eljárást, és lenyomjuk a Lépések ablakban, a Finish Active Procedure, a Finish All vagy a Visualise Computation gombot, akkor a kiértékelés mindig leáll a NYOMOZÓSZÜNET utasítást tartalmazó sort követő sorban.Tetszőleges saját eljárásban több NYOMOZÓSZÜNET utasítást is használhatunk. Ami-kor a végrehajtás az utasítás miatt leáll, akkor az írólapon tetszőleges Logo-parancsot kiadhatunk, vagy folytathatjuk a program végrehajtását az adott ponttól.

SZŰRŐSZŰRŐ --- függvény 2 bemenő adattalSZŰRŐ eljárásobjektum listaahol azeljárásobjektum 1 bemenő adatot vár, és mindig IGAZ vagy HAMIS értéket eredményez.A függvény az eljárásobjektumot alkalmazza a lista minden elemére, és eredményül azon elemek listáját adja, melyek megfelelnek az eljárásobjektum által meghatározott feltételnek.

? KI SZŰRŐ "SZÁM? [AAA 123 B [22 33] C -99][123 -99]? KI SZŰRŐ [ [MICSODA] [ER :MICSODA > 5 ] ] [1 2 3 4 5 6 7 8][6 7 8]? KI SZŰRŐ [:% > 5] [1 2 3 4 5 6 7 8][6 7 8]

TESZTTESZT --- utasítás 1 bemenő adattalTESZT logikaiMegjegyzi a bemenő szó IGAZ vagy HAMIS logikai értékét a HAIGAZ, illetve HA-HAMIS utasítások által való későbbi felhasználás céljából. A TESZT utasításnak ugyanabban az eljárásban kell szerepelnie, mint amelyikben az eredményét a HAIGAZ vagy HAHAMIS utasítás felhasználja.

Where to use TESZT, HAHAMIS, and HAIGAZ Procedures

TANULD JÓ.EZ? :VÁLT

; a :VÁLT értéke szigorúan 0 és 6 közé esik?

TESZT ÉS KISEBB? :VÁLT 6 NAGYOBB? :VÁLT 0HAI [KIÍR [EZ HELYES BEMENŐ ADAT] ]

58

Page 59: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

HAH [KIÍR [SAJNOS EZ NEM JÓ]VÉGE

? JÓ.EZ? 6SAJNOS EZ NEM JÓ? JÓ.EZ? 3EZ HELYES BEMENŐ ADAT

VÉGREHAJTVÉGREHAJT --- utasítás 1 bemenő adattal

függvény 1 bemenő adattalutasítás: VÉGREHAJT Logo_utasításlistafüggvény: VÉGREHAJT [ kifejezés ]Ha a VÉGREHAJT utasításként szerepel, akkor végrehajtja a Logo utasításlista összes utasítását. Az utasítás hatása a bemenő lista utasításainak hatásában realizálódik.

? VÉGREHAJT [KIÍR "EGY KIÍR "KETTŐ]EGYKETTŐ? NÉV "VALAMI [ISMÉTLÉS 20 [E 80 B 117] ]? VÉGREHAJT :VALAMI? VÉGREHAJT M [B 23] :VALAMI

a VÉGREHAJT lista és az ISMÉTLÉS 1 lista parancsok hatásukban megegyeznek.Ha a VÉGREHAJT parancsot függvényként használjuk, akkor eredménye a bemenő pa-raméterként kapott kifejezés eredményével egyezik meg (vagyis a kifejezés kiértékelé-sével kapott értékkel).

? NÉV :A VÉGREHAJT OLVASLISTA

: 23 * 9 ; ezt gépeljük be az OLVASLISTA

? KI :A207

VISSZATÉRVISSZATÉR --- bemenő adat nélküli utasításVISSZATÉRLeállítja az aktuálisan futó eljárás végrehajtását és visszaadja a vezérlést annak az eljá-rásnak, mely meghívta ezt az aleljárást. Ha nincs ilyen eljárás, akkor a vezérlés a legfelső szintre kerül vissza, azaz a párbeszé-des szintre. A VISSZATÉR csak a felhasználó által definiált Logo eljárások belsejében használható.Figyeljük meg az EREDMÉNY és a VISSZATÉR utasítások közötti különbséget: az EREDMÉNY szintén a saját eljárás végrehajtását állítja le. Azonban ez bemenete segít-ségével meghatározza az eljárás eredményét is, ezzel különbséget téve a függvények és utasítások között.

TANULD KIÍR.LISTÁT :ZHA ÜRES? :Z [VISSZATÉR]KIÍR ELSŐ :ZKIÍR.LISTÁT EN :Z

59

Page 60: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

VÉGE

? KIÍR.LISTÁT [A B C]ABC

VÁRJVÁRJ --- utasítás 1 bemenő adattalVÁRJ számahol a szám egy pozitív egész szám, mely legfeljebb 65535 lehet.A további végrehajtás szám milliszekundum ideig való késleltetését okozza. A VÁRJ 1000 a további futást körülbelül 1 másodpercig késlelteti.

VÁRJAMÍGVÁRJAMÍG --- utasítás 1 bemenő adattalVÁRJAMÍG [kifejezés ]Újra és újra kiértékeli a bemeneteként adott kifejezést, amíg ennek értéke IGAZ nem lesz.

? VÁRJAMÍG [GOMBNYOMÁS?]

; addig vár, amíg valamely billentyűt ; vagy egérgombot lenyomjuk

? VÁRJAMÍG [OLVASKÓD = -2]; addig vár, amíg az egérgombot felengedjük

60

Page 61: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Eljárások definiálása, szerkesztése és feldolgozása

.ALAPSZAVAK

.ALAPSZAVAK --- függvény 1 bemenő adattal

.ALAPSZAVAK számahol a szám 0, 1, 2 vagy 3Az eljárás eredményeként a Logo alapszavak listáját kapjuk meg. Ha a bemenő adat:

0, akkor a Logo angol és magyar alapszavainak felsorolását kapjuk,1, akkor a Logo magyar alapszavainak felsorolását kapjuk,2, akkor a Logo angol és magyar alapszavainak rövidítését tartalmazó listát kap-

juk eredményül,3, akkor a Logo magyar alapszavainak rövidítését tartalmazó listát kapjuk ered-

ményül.

ALAPSZÓ?ALAPSZÓ? --- fügvény 1 bemenő adattalALAPSZÓ? szóEredményül akkor kapunk IGAZ értéket, ha a bemenő szó egy Logo alapeljárás neve, vagyis ha a Logo nyelvnek egy belső, alaputasításához tartozó névről van szó. Különben a kimenő érték HAMIS. A TANULD utasítással definiált eljárásokat saját eljárásnak ne-vezzük, ezek nem alapszavak.

? KI ALAPSZÓ? "ARCTGIGAZ

TANULD NÉGYZET :OLDAL ; ez a mi saját eljárásunkISMÉTLÉS 4 [E :ODLAL J 90]

VÉGE

? KI ALAPSZÓ? "NÉGYZETHAMIS

ÁTÍRÁTÍR --- utasítás 1 bemenő adattalÁTÍR memóriaobjektumÁTÍR [ memóriaobjektum ]ahol a memóriaobjektum vagy egy új, vagy egy már definiált objektum neveMegnyitja és aktívvá teszi a Memóriaobjektum Szerkesztőt vagy a Memóriaobjektum Képsorszerkesztőt (a létrehozni, illetve javítani kívánt objektum fajtájától függően ha az eljárás, szó vagy lista értékű változó, mezőkkel rendelkező szó, vagy új név, akkor a szöveges Szerkesztőt indítja el, ha pedig képsor értékű változó, akkor a Képsorszerkesz-tő indul el). Ha a bemenet új név, akkor a Memóriában új objektum jön létre.A Logo alapszavai és a különleges jelentéssel bíró szavak nem szerkeszthetők ezzel a paranccsal. Ugyanez igaz minden rejtett memóriaobjektumra, melyet az ELFED utasí-tással tettünk fedetté, ha éppen nem tettük ideiglenesen láthatóvá a FED! eljárással. Ha valamely változó értéke olyan lista, mely üres szót tartalmaz elemként (vagy egy elemé-nek elemeként ... stb.), akkor a változó nem szerkeszthető anélkül, hogy értéke megsé-rülne, ugyanis az üres szavakat a szerkesztő kitörli. Ha a változó értéke olyan lista, mely képsort tartalmaz, akkor ennek egésze szintén nem szerkeszthető.

61

Page 62: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az ÁTÍR utasítás aktiválható egy saját eljárással is. Ebben az esetben a végrehajtási fo-lyamat leáll és csak azután folytatódik, miután a Szerkesztő ablakot becsuktuk.Más lehetőségek:ha az adott objektum még nem létezik, akkor a Memóriaablakban létrehozhatjuk az Új eljárás, Új változó vagy Új rekord utasítások egyikével ha ez az objektum már létezik, akkor a Memóriaablakban szerkeszthetjük.

ELFEDELFED --- utasítás 1 bemenő adattalELFED memóriaobjektumELFED memóriaobjektumok listája

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Láthatatlanná teszi a paraméterként megadott, felhasználó által definiált memóriaobjek-tumokat, vagyis ezután ezek fedettek lesznek. A fedett objektumok megjelenítése és fel-dolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb informá-ció a következő cím alatt:

Hogyan kezeli a Logo a fedett objektumokatAz összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ahhoz, hogy az elfedett objektumok listáját megtudjuk, használjuk a FEDETT függvényt. Az objektu-mok elrejtettségének megszüntetését a FELFED utasítással érhetjük el. Az összes fedett objektum ideiglenes láthatóvá tétele a FED! "HAMIS paranccsal lehetséges.A SAJÁTNEVEK, NEVEK és REKORDNEVEK listákat gyakran használjuk az EL-FED utasítás bemenő adataként. Az adott időpontban már fedett objektumok ezekben a listákban már nem szerepelnek csak akkor, ha ezek éppen ideiglenesen láthatók (gon-doljunk a FED! "HAMIS utasításra, illetve a Memóriaablak Elemek menüjének Elfedett is látszik menüpontjára).

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...Más lehetőség: az Elfed almenüpont a Memóriaablak Elemek menüjében.

ELFEDMINDELFEDMIND --- bemenő adat nélküli utasításELFEDMIND

Hogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

A felhasználó által definiált összes memóriaobjektumot láthatatlanná teszi, vagyis ezek fedettek lesznek. A fedett objektumok megjelenítése és feldolgozása eltér a Logoban szokásos módtól. Erről a témáról olvasható bővebb információ a következő cím alatt:

Hogyan kezeli a Logo a fedett objektumokatAhhoz, hogy csak néhány adott objektumot tegyünk rejtetté, használjuk az ELFED uta-sítást. Az összes jelenleg fedett objektum nevét a FEDETT függvény eredménylistája tartalmazza. Adott objektumok visszaállítása a FELFED utasítással lehetséges. Az aktu-álisan fedett objektumok nem szerepelnek a SAJÁTNEVEK, NEVEK és REKORDNE-VEK listáiban, hacsak ideiglenesen láthatóvá nem tettük őket a FED! "HAMIS utasítás-sal, vagy a Memóriaablak Elemek menüjének Elfedett is látszik almenüjével.Más lehetőség:az Elfed almenüpont a Memóriaablak Elemek menüjében.

FEDETTFEDETT --- bemenő adat nélküli függvény

62

Page 63: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

FEDETTHogyan és miért rejtsünk el memóriaobjektumokat...Kötetek használata...

Eredménye az összes fedett objektumot tartalmazó lista.Hasonlóan a SAJÁTNEVEK, NEVEK és REKORDNEVEK listáinak jelöléséhez, a FE-DETT listájának elemeiről a következők mondhatók el: a kettősponttal (:) kezdődőek je-lölik a változókat, az idézőjellel (") kezdődőek meghatározott tulajdonsággal rendelkező szavak, és amelyek nem kezdődnek különleges karakterrel, azok a saját eljárások jelölé-sére szolgálnak.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? ELFED (M [TUL1 TUL2] [:VÁLT1 :VÁLT2 :VÁLT3] ["ELJ1 "ELJ2]); 2 tulajdonság, 3 változó és 2 eljárás

? KI FEDETT[TUL1 TUL2 :VÁLT1 :VÁLT2 :VÁLT3 "ELJ1 "ELJ2]

Az összes saját objektum elrejtésére szolgál az ELFEDMIND utasítás. Ha csak néhány meghatározott objektumot szeretnénk elfedni, akkor az ELFED utasítást használjuk. A FELFED parancs újra láthatóvá teszi az elrejtett objektumokat. Ahhoz, hogy minden fe-dett objektum ideiglenesen látható legyen, használjuk a FED! "HAMIS utasítássort.Más lehetőség:a Memóriaablak Elemek menüjének Elfedett is látszik almenüpontja láthatóvá teszi a pillanatnyilag fedett objektumok nevét is.

KIÍRSAJÁTSZAVAKKIÍRSAJÁTSZAVAK --- bemenő adat nélküli utasítássaját eljárások címsorának kiírásaKIÍRSAJÁTSZAVAKKiírja az írólapra a saját eljárások címsorát. Az ELFED utasítással fedetté tett eljárások címsorát csak abban az esetben írja ki, ha ideiglenesen láthatóvá tettük őket a FED! "HAMIS paranccsal.

TANULD ÖSSZEFŰZ :X :NKIÍR M :X :N

VÉGE

TANULD ÜDVÖZÖLKIÍR "SZIA

VÉGE

TANULD FURCSASÁG :A :B :C :D :E :F :GER (M :A :B :C :D :E :F :G)

VÉGE

? KIÍRSAJÁTSZAVAKTANULD ÖSSZEFŰZ :X :NTANULD ÜDVÖZÖLTANULD FURCSASÁG :A :B :C :D :E :F :G

KIÍRTARTALOM; KTKIÍRTARTALOM; KT --- utasítás 1 bemenő adattal

63

Page 64: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

tartalom kiírásaKIÍRTARTALOM memóriaobjektumKIÍRTARTALOM memóriaobjektumok_listájaAz írólapra írja a bemeneteként adott objektumok definícióját, illetve definícióit.A KIÍRTARTALOM kiírja azokat az aktuálisan rejtett objektumokat is, melyekre előző-leg az ELFED utasítást alkalmaztuk. Ha csak a saját eljárások címsorát szeretnénk ki-íratni, használjuk a KIÍRSAJÁTSZAVAK utasítást.Más lehetőség:a Memóriaablakban lehetőségünk van a saját objektumaink ellenőrzésére, létrehozására, és módosítására.

KT

SAJÁTNEVEKSAJÁTNEVEK --- bemenő adat nélküli függvénya felhasználó által definiált eljárások SAJÁTNEVEKEredményeként az összes saját eljárást tartalmazó listát kapunk. Az ELFED utasítással rejtetté tett eljárások neveit csak abban az esetben listázza ki, ha ideiglenesen láthatóvá tettük őket a FED! utasítás alkalmazásával.

TANULD ÜDVÖZÖLKIÍR "SZIA

VÉGETANULD NEM.ÜDVÖZÖL

KIÍR "VÉGE

? KI SAJÁTNEVEK[NEM.ÜDVÖZÖL ÜDVÖZÖL]

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

Más lehetőség:a Memóriaablak Objektumlistájában az összes saját eljárás neve olvasható. Ezeket az el-járásokat a következő ikonok jelölik: vagy .

SAJÁTSZÓSAJÁTSZÓ --- utasítás 2 bemenő adattalSAJÁTSZÓ szó definíciólistaEgy olyan eljárást definiál, melynek a paraméterként adott szó a neve, és a bemenő adat-ként megadott definíciós lista a törzse.Ha a SAJÁTSZÓ utasítást a SZÓTARTALOM függvénnyel használjuk, akkor a progra-mot adatként dolgozhatjuk fel. A paraméterként szereplő szó nem egyezhet meg sem egy Logo alapszó nevével, sem pedig valamely, a Logóban speciális jelentést hordozó szóval. Ha a szóval azonos nevű saját eljárás már létezik, akkor ennek tartalmát az új definíció fe-lülírja.

TANULD PLUSZ.5 :XEREDMÉNY :X + 5

VÉGE ; a bemenő adatot 5-tel növeli

64

Page 65: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? NÉV "T SZÓTARTALOM "PLUSZ.5? KI :T[ [X] [EREDMÉNY :X + 5] ]? SAJÁTSZÓ "PLUSZ.6 LISTA [X] [EREDMÉNY :X + 6]? KI PLUSZ.6 -3 ; ez az új függvény 6-tal növeli a bemenet értékét3

SAJÁTSZÓ?SAJÁTSZÓ? --- függvény 1 bemenő adattalSAJÁTSZÓ? szóEredményül IGAZ értéket kapunk, ha a szó általunk definiált eljárás neve, egyébként az eredmény HAMIS.A Logo alapszavai nem saját szavak, felismerésükre az ALAPSZÓ? függvény szolgál. Az összes saját eljárás nevét a SAJÁTNEVEK függvény által visszaadott lista tartal-mazza.

? KI SAJÁTSZÓ? "NÉVHAMIS? KI ALAPSZÓ? "DUPLÁZHAMIS

TANULD DUPLÁZ :XEREDMÉNY 2 * :X

VÉGE

? KI SAJÁTSZÓ? "DUPLÁZIGAZ

Más lehetőség:a szó ha SAJÁTSZÓ? szerepel az Objektumlistában, ha pillanatnyilag nincs elrejtve az ELFED Logo-utasítással vagy az Elemek menü Elfed almenüpontjával. (Azonban még ha a szó eljárás rejtett is, kilistázható az Objektumlistában, ha ideiglenesen láthatóvá tesszük a FED! "HAMIS utasítás alkalmazásával vagy a Memóriaablak Elfedett is lát-szik menüpontjával.)

SZÓTARTALOMSZÓTARTALOM --- függvény 1 bemenő adattalSZÓTARTALOM szó ahol a szó egy saját eljárás neve.Eredménye a szó nevű saját eljáráshoz tartozó definíciós_lista.A SZÓTARTALOM függvény a SAJÁTSZÓ utasítással egységben használva lehetővé teszi, hogy a programokat adatként dolgozzuk fel.

TANULD DUPLÁZÓ :XKIÍR :X EREDMÉNY 2 * :X

VÉGE

? KI SZÓTARTALOM "DUPLÁZÓ[ [X] [KIÍR :X] [EREDMÉNY 2 * :X] ]

65

Page 66: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Figyeljük meg, hogy az adott nevű eljárás paraméterei nem teszik ki a kettőspontot (:). Az eljárástörzs könnyebben olvasható formában jelenik meg, ha a KIÍRSOR utasítást adjuk ki:

? KIÍRSOR SZÓTARTALOM "DUPLÁZÓXKIÍR :XEREDMÉNY 2 * :X

TANULDTANULD --- utasítás 1 vagy N bemenő adattalTANULD szóTANULD szó :bemenet1 :bemenet2 ...ahol a szó sem egy Logo alapszó neve, sem egy saját eljárás neve nem lehet,a bemenet1, bemenet2, ... pedig szavakA Logót párbeszédes módból eljárásdefiníciós módba állítja át. A párbeszédes mód pa-rancsjelét egy speciális parancsjelre cseréli: >, hogy világossá tegye a felhasználó szá-mára, hogy most egy új eljárás definícióját várja.A szó az új eljárás nevét adja meg, a további paraméterek :bemenet1, :bemenet2 stb. pe-dig az új eljárás bemenő adatainak a nevét határozzák meg.A TANULD utasítást követő sorokba gépelhetjük az új eljárás törzsét. Jegyezzük meg, hogy az eljárásdefiníciós mód csak soron belüli szerkesztőutasítások használatát teszi lehetővé. A definíció befejezését a VÉGE speciális szó külön sorba való begépelésével tudathatjuk a rendszerrel.

? TANULD NÉGYZET :OLDAL> ISMÉTLÉS 4 [E :OLDAL J 90]> VÉGE? ; a szokásos párbeszédes mód állt vissza

Lásd még:Utasítások és függvényekSaját eljárás definiálása

TÖRÖLTÖRÖL --- utasítás 1 vagy N bemenő adattalTÖRÖL bemenet1(TÖRÖL bemenet1 bemenet2 ... )ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok_lis-tájaTörli a bemeneteként felsorolt összes memóriaobjektumot.A SAJÁTNEVEK, NEVEK, és REKORDNEVEK listáit gyakran használjuk a TÖRÖL utasítás paramétereként. Vigyázzunk, hogy a pillanatnyilag fedett objektumok nem ele-mei ezen listáknak, azonban ha határozottan megnevezzük őket, akkor ezek is törölhe-tők.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

? TÖRÖL NEVEK ; az összes változót törli? (TÖRÖL [F G] [:V1 V2] REKORDNEVEK)

; törli az F és G eljárásokat, a V1 és V2; változókat, és az összes; mezőket tartalmazó szót

66

Page 67: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? (TÖRÖL "F ":Vált ""P) ; törli az F eljárást, a :Vált változót,; és a "P szó összes mezőjét

Ha a TÖRÖL eljárás egyik bemenete nem saját objektum neve, akkor HIBA következik be csak létező objektumokat törölhetünk.Más lehetőségek:használjuk a Memóriaablak Töröl utasítását az összes kijelölt objektum törlésére

TÖRÖLMUNKATÖRÖLMUNKA --- bemenő adat nélküli utasításmindent törölTÖRÖLMUNKATörli az összes memóriaobjektumot és az összes teknőcöt, lefuttatja az új SLOGO.INI fájlt ha ez létezik a Logo alapkönyvtárában. Letörli a rajzlapot is, és alapállapotba hozza az egész Logót (ennek ablakát is, a LOGO-ABLAK! [ ] utasítás végrehajtásával), pontosan úgy, mintha kiléptünk volna a Logóból, és újra elindítottuk volna.Miután minden objektumot letörölt, minden beállítást az eredeti értékére változtat: egyetlen teknőc lesz, melynek neve 0, alapkoordinátái [0 0], iránya észak, LÁTHATAT-LAN, és tolla lent van. A Fő-ablak OSZTOTTABLAK módban lesz, az íróablakban 6 sor látszik, és a Memóriában egyetlen saját objektum sem található (azaz a TÖRÖL-MUNKA még az ELFED utasítással rejtetté tett objektumokat is törli).

VÉGEVÉGE --- különleges jelentéssel bíró szóAz eljárásdefiníció végét jelzi. A VÉGE szó zár minden egyes saját eljárást.Amikor az eljárásdefiníciós módban (melyet a TANULD utasítással kezdünk meg) egy különálló sorba begépeljük, a Logo a szokásos párbeszédes módba vált vissza, amit az aktuális parancsjel határoz meg.Bár minden egyes saját eljárás utolsó sora a VÉGE szó, nem tartozik az eljárás definíci-ós listájába.Saját eljárás definiálása

67

Page 68: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Teknőcműveletek

ABLAKABLAK --- utasítás 1 bemenő adattal vagy bemenő adat nélkülABLAK(ABLAK téglalapnyi_terület )(ABLAK [ ])Az utasítás az aktív teknőcök számára definiálja az általuk felhasználható területet. Ez a terület nem más, mint amelyben a felhasználó láthatja a teknőcöt, melyben a teknőc mo-zoghat, rajzolhat, sokszöget hozhat létre a SOKSZÖG vagy a SOKSZÖGVONAL utasí-tással, melyben írhat a BETŰZD utasítással, melyet kitölthet a TÖLT eljárással stb.Ha az utasítást paraméter nélkül adjuk ki, és ennek az adott teknőcnek még nem hatá-roztunk meg felhasználható területet, akkor az általa elérhető terület az aktuális rajzlap-pal fog megegyezni. Ha a bemenet egy téglalapnyi terület, akkor ez határozza meg az el-érhető területet. Ha a bemenet üres lista [ ], akkor a korábbi beállítások törlésével újra-definiálja a felhasználható területet, s ezzel ismét a teljes rajzlap lesz az elérhető terület.Az ABLAK utasítás azt is meghatározza, hogy a teknőc hogyan viselkedjen, amikor el-éri a terület határát. Az utasítás használatával megadjuk, hogy a teknőc az úgynevezett ablak-módot használja, vagyis egy olyan módot, melyben a teknőc (az ELŐRE,, illetve más utasítások hatásaként) az általa felhasználható terület határán kívül is korlátozás nélkül mozoghat, csak ebben az esetben a felhasználó nem látja a teknőc alakját, és a teknőc nem rajzolhat, illetve írhat ott. Ekkor a felhasználható terület lényegében egy olyan ablakot ábrázol, melyen keresztül a teknőcök „végtelen síkjának egy részét figyel-hetjük.Az ÚJTEKNŐC utasítással létrehozott új teknőc mindig körkörös módban van, felhasz-nálható területe pedig az egész rajzlap. Ahhoz, hogy ezt ablak-módba kapcsoljuk, tegyük aktívvá, és használjuk az ABLAK utasítást. A körkörös módra a KÖRKÖRÖSEN utasítással tudjuk visszaállítani a teknő-cöt.Ha egy teknőcöt nagyon messzire mozgatunk, és „elvesztjük valahol a „végtelen síkban, akkor aktuális pozícióját a HELY függvény eredményéből tudhatjuk meg, és a HAZA utasítással alapkoordinátáiba hozhatjuk vissza. Érdekes megfigyelni a hatást, amikor né-hány teknőcöt körkörös módban, a többieket ezzel párhuzamosan ablak-módban mű-ködtetjük.

ALAKALAK --- bemenő adat nélküli függvényALAKEredménye az a képsor, mely pillanatnyilag az első aktív teknőc alakjaként használatos. Ha ennek aktuális alakja több, mint 1 fázisból áll, akkor az összes fázis, azaz a teljes képsor a függvény eredménye.Ahhoz, hogy az összes aktív teknőc alakját megváltoztassuk, használjuk az ALAK! uta-sítást.

? KI KIFIGYEL[0 1 2]? KI KÉPSOR? ALAKIGAZ

? NÉV "ALAKOM ALAK ; a 0 nevű teknőc alakja? KÉREM 2 [ALAK! :ALAKOM] ; legyen a 2 teknőc alakja

68

Page 69: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

; ugyanaz, mint a 0-é

? TÖRÖLTEKNŐC MIND? NÉV "ÚJ_ALAK KÉREM 2 [ALAK]HIBA: A(z) kérem eljárás nem ismeri a(z) 2 nevű teknőcöt.

ALAK!ALAK! --- utasítás 1 bemenő adattalALAK! képsorALAK! LGW_fájlALAK! [ ]A továbbiakban az összes pillanatnyilag aktív teknőc alakjaként az adott képsort fogja használni. Fázisok használataHa a bemenet egy LGW fájl neve, akkor az utasítássor a következővel egyenértékű:

? ALAK! BETÖLTKÉPSOR "LGW_fájl [ ]

tehát magában foglalja a BETÖLTKÉPSOR függvény végrehajtását is. Ha a fájlnévben nem szerepel kiterjesztés, akkor a rendszer automatikusan az .LGW kiterjesztést csatolja a fájlnévhez. Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel útvonal, akkor az alapkönyvtár KÉPSOR alkönyvtárában keresi a megfe-lelő fájlt. Ennek a beállításnak a megváltoztatására szolgál az ÚT! utasítás a "KÉPSOR első bemenettel.Az a képsor, melyet rendes körülmények között a Logo teknőcök alapalakjaként haszná-lunk (a 24 fázist tartalmazó kis háromszög), a "TEKNOC.LGW fájlban van elmentve. Tehát az ÚJTEKNŐC utasítással létrehozott teknőcöket ezzel az alakkal ábrázolja a rendszer, ha máshogy nem rendelkezünk. A teknőcök alapalakjának átdefiniálásához az SLOGO.INI fájlba kell a következő sorokat beírnunk:

FIGYELJ [ ]ALAK! új_alapalak

ÚJTEKNŐC 0 ... ; stb.FIGYELJ 0

Ha a bemenet egy [ ] üres lista, akkor az összes aktív teknőc aktuális alakja az alapala-kot veszi fel (mely vagy a Logo által meghatározott kis háromszög, vagy az SLO-GO.INI fájlban meghatározott új alapalak).

ALAKSZÍNALAKSZÍN --- bemenő adat nélküli függvényALAKSZÍNEredménye az első aktív teknőc aktuális aktív alakszíne, vagyis egy 0 és 15 közé eső egész szám, vagy az üres lista [ ], ha az első aktív teknőc számára nem határoztunk meg aktív alakszínt.Új teknőc létrehozásakor (az ÚJTEKNŐC utasítással vagy a jobb egérgombbal való kat-tintással a rajzlapon) a teknőcnek nem lesz aktív alakszíne, amíg mi meg nem határoz-zuk azt az ALAKSZÍN! utasítással.

ALAKSZÍN!ALAKSZÍN! --- utasítás 1 bemenő adattalALAKSZÍN! szín

69

Page 70: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ALAKSZÍN! [ ]Az aktív teknőcök aktív alakszínét határozza meg. A bemenő színnek a 16 alapszín egyikének kell lennie. Ha a bemenet [ ] üres lista, akkor az összes aktív teknőc aktív alakszínét „Nem-re állítja be, tehát ettől kezdve ezen teknőcök számára nem lesz aktív alakszín meghatározva. Ebben az esetben az ALAKSZÍN függvény eredménye szintén [ ] lesz.Jegyezzük meg, hogy bár az aktív alakszínnek a 16 alapszín egyikének kell lennie, az alakon belül helyettesíthető (a TOLLSZÍN! utasítással) bármilyen RGB színnel.

ALAPHELYZETALAPHELYZET --- bemenő adat nélküli utasításALAPHELYZETElőkészíti a rajzlapot az új rajzoláshoz úgy, hogy letörli a képernyőt, törli az összes tek-nőcöt, és a 0 nevű teknőcöt ismét létrehozza (eredeti állapotában lásd az ÚJTEKNŐC utasítást), valamint aktívvá és láthatóvá teszi, lásd a LÁTHATÓ utasítást.Az ALAPHELYZET hatása a következő utasítássorozatéval azonos:

? TR? RAJZLAPSZÍN! 15? TÖRÖLTEKNŐC MIND? ÚJTEKNŐC 0 [ ]? FIGYELJ 0? KÖRKÖRÖSEN? LÁTHATÓ

ÁLLAPOTÁLLAPOT --- bemenő adat nélküli függvényÁLLAPOTEredménye az [X Y szög, szó1, szó2 képsor] hattagú lista, mely az első aktív teknőc ak-tuális állapotát jellemzi. Az [X Y] ennek aktuális pozíciója, a szög a pillanatnyi iránya, a szó1 a TL, TF, TRD vagy TVT egyike, annak megfelelően, hogy a tolla TOLLATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ módban van-e. A szó2 a LÁTHATÓ vagy LÁTHATATLAN szó, attól függően, hogy a teknőc LÁTHATÓ? vagy el van rejt-ve. A képsor a teknőc aktuális alakja.A teknőc aktuális pozíciója az ELŐRE vagy a HÁTRA (illetve számos egyéb) utasítás-sal megváltoztatható. Az aktuális iránya a JOBBRA vagy a BALRA utasítások hatása-ként módosul. Tollának állapotát a következő utasításokkal állíthatjuk át: TOLLATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ. Egy rejtett teknőcöt a LÁTHATÓ utasítással lehet megjeleníteni, illetve egy látható teknőcöt a LÁTHATATLAN utasítás-sal lehet eltüntetni. A teknőchöz ennek új alakjaként az ALAK! utasítással kapcsolha-tunk képsort.

ANIMÁCIÓSMÓD!ANIMÁCIÓSMÓD! --- utasítás 1 bemenő adattalANIMÁCIÓSMÓD! logikaiAzt a módot határozza meg, hogy az aktív teknőcök alakja, illetve ezek fázisai milyen stratégiának megfelelően jelölik a teknőcöt. Az alapbeállítás mindig az ANIMÁCIÓS-MÓD! HAMIS. Ebben az esetben a teknőc aktuális alakjaként használt képsor fázisait a teknőc aktuális irányának ábrázolására használja. (Ekkor tehát, ha LÁTHATÓ? a tek-nőc, akkor mindig az irányának megfelelő fázis jelöli őt.) Fázisok használataAz ANIMÁCIÓSMÓD! IGAZ beállítást akkor használjuk, amikor a képernyőn animá-ciót szeretnénk létrehozni. Ebben a módban a fázisok függetlenek a teknőcök aktuális

70

Page 71: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

irányától, mi magunk határozhatjuk meg a FÁZIS! utasítás segítségével, hogy a teknő-cöt mikor melyik fázis jelölje rajzlapon.Az ANIMÁCIÓSMÓD! (egy bemenet nélküli szó) az ÚJTEKNŐC utasítás második pa-raméterén belül közvetlenül is használható, például:

ÚJTEKNŐC "TEKI [0 0 180 TF ANIMÁCIÓSMÓD! LÁTHATÓ]

A fenti sor szerint a TEKI nevű új teknőc animálható teknőc lesz, azaz a teknőc ANI-MÁCIÓSMÓD! IGAZ állapotú lesz. Hasonlítsuk össze ezt az eljárást a SZÖVEGDO-BOZMÓD! utasítással.

BBALRA; B --- utasítás 1 bemenő adattalBALRA szögAz összes aktív teknőcöt balra (vagyis az óramutató járásával ellenkező irányban) for-gatja el a paraméterként adott (fokokban mért) szöggel.Az első aktív teknőc pillanatnyi irányát az IRÁNY függvény eredményeként ismerhet-jük meg.A BALRA szög1 és a JOBBRA szög2 parancsok azonosak, ha szög1=-szög2. Lásd még a JOBBRA függvényt.

? B 90 ; az egyetlen aktív teknőc jelenleg a 0 nevű? KI IRÁNY270? B -90 ; vagyis JOBBRA 90? BALRA 390 ; vagyis BALRA 30

BALRA; B

BELÜL?BELÜL? --- függvény 1 vagy 2 bemenő adattalBELÜL? téglalapnyi_terület(BELÜL? pont téglalapnyi_terület )(BELÜL? teknőc téglalapnyi_terület )Ha a függvénynek csak egy paramétere van, eredménye akkor lesz IGAZ, ha az első ak-tív teknőc pillanatnyilag az adott téglalapnyi terület belsejében, vagy ennek határán he-lyezkedik el. Ha az első aktív teknőc pillanatnyilag a téglalapon kívül van, akkor a függ-vény HAMIS értéket ad vissza.Ha a függvénynek két bemenő adata van, melyek közül az első pont, akkor az eredmény abban az esetben IGAZ, ha az adott pont a meghatározott téglalapnyi területen belül (il-letve ennek határán) helyezkedik el. Különben az eredmény HAMIS. Ha az első beme-net egy teknőc neve, akkor a BELÜL? IGAZ értéket eredményez, ha az adott teknőc pil-lanatnyilag a téglalapon belül (illetve annak határán) helyezkedik el. Ez akkor is érvé-nyes, ha a teknőc éppen nem aktív, sőt akkor is, ha éppen nem látható, lásd még a LÁT-HATÓ? eljárást.

BETOLDKÉPBETOLDKÉP --- utasítás 1 bemenő adattalBETOLDKÉP képsorBETOLDKÉP LGW_fájlMinden egyes aktív teknőc kinyomtatja a rajzlapra a bemenetként szereplő képsor, illet-ve a bemenő LGW_fájlban tárolt képsor első fázisát.

71

Page 72: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A képsor első fázisának tollpontja az aktív teknőc aktuális pozíciójában lesz, melyet a HELY utasítás eredményeként tudhatunk meg, így tehát meghatározhatjuk a fázis pon-tos elhelyezkedését a rajzlapon.Amikor a képsort kirajzoltuk a BETOLDKÉP utasítással, akkor ez a rajzlap részévé vá-lik, és nem lehet eltávolítani róla többé, csak magának a lapnak a törlésével. Az aktív teknőcök aktuális alakját is kirajzolhatjuk a rajzlapra a LENYOMAT utasítás alkalma-zásával.Az aktív teknőcök aktuális iránya itt nem játszik szerepet: a képsort mindig a normális, „talpon álló helyzetben rajzolják ki a teknőcök.

? ÚJTEKNŐC 0 [-20 0 0]? ÚJTEKNŐC 1 [20 0 0]? FIGYELJ MIND? TF? LÁTHATÓ? NÉV "AUTÓ BETÖLTKÉPSOR "AUTO [ ]? ISMÉTLÉS 5 [E VSZ 100 J VSZ 180 BETOLDKÉP :AUTÓ]

BETŰ!BETŰ! --- utasítás 2 bemenő adattala teknőc által írott szöveg jellemzőinek beállításaBETŰ! szöveg [szám1 szám2 szám3 ]BETŰ! szöveg [szám1 szám2 szám3 szám4 szám5 ]ahola szám1 nem negatív,a szám2 0 és 1000 közé eső szám,a szám3, szám4 és szám5 értéke 0, vagy 1Azt a betűkészletet és -méretet állítja be, melyet az aktív teknőcök a BETŰZD utasítás végrehajtása esetén a rajzlapra való íráshoz használnak.A szöveg első bemenete adja meg a betűkészlet nevét. Ez lehet például a "System, vagy a [Times New Roman] a felhasználható betűkészletek aktuális listája teljes egészében a Windows-beli „felszereltségtől függ. A szám1 a betűméretet határozza meg (pontokban). Ha a paraméter értéke 0, akkor az alapértelmezett betűméretet fogja vá-lasztani. A szám2 a karakter „kövérségét határozza meg. A 400-as érték a Regular vas-tagságot jelenti, a 800-as érték a Bold vastagságot. Ha a szám3 1, akkor a kiírás dőlt be-tűkkel történik, különben a szokásos álló betűket használja. Ha a BETŰ! teljes második bemenete [ ], akkor a System betűkészletet választja.

? ÚJTEKNŐC "TEKI [ ]? FIGYELJ "TEKI? BETŰ! "Arial [20 800 0]? ISMÉTLÉS 3 [BETŰZD [Boldog születésnapot kívánok!] J 120]

Ha a vízszintes iránytól eltérő irányban is szeretnénk a rajzlapra írni, akkor csak vektor jellegű betűtípust (True Type, Adobe Type) használhatunk.A szám4 ha létezik 0 vagy 1. (Ha nem adott, akkor feltételezett értéke 0.) Ha az érték 1, akkor az egész téglalapnyi területet, melyet később a BETŰZD eljárással kiírandó szöveg mérete határoz meg, kitölti a háttér aktuális színével. (Az RGB színek esetén a Windows nem támogatja maradéktalanul ezt a lehetőséget.) A szám4 értékét mindannyi-szor hasznos 1-re állítani, valahányszor egy adott szöveggel teljesen felül akarunk írni egy másik szöveget a rajzlapon. Hasonlítsuk össze a következő helyzeteket:

72

Page 73: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? BETŰ! "Arial [20 0 0 0] BETŰZD "Szia? VÁRJ 1000? BETŰ! "Arial [30 0 0 0] BETŰZD "Világ!

; és? TR? BETŰ! "Arial [20 0 0 1] BETŰZD "Szia? VÁRJ 1000? BETŰ! "Arial [30 0 0 1] BETŰZD "Világ!

A szám5 a BETŰZD utasítással való kiírásnak a helyét határozza meg. Ha ez az érték 0, akkor annak a téglalapnyi területnek a bal felső sarka, melybe a szöveget később a BE-TŰZD utasítással írjuk, a teknőc aktuális pozíciójával egyezik meg. Ha ez az érték 1, akkor a szöveg alapvonalának kezdőpontja egyezik meg az aktuális teknőcpozícióval. Ez megkönnyíti a különböző betűméretű szövegek egy sorba írását:

? TR TF? BETŰ! "Arial [20 0 0 0 0] BETŰZD "Szia? IRÁNY! 90 E ELSŐ BETŰNÉGYZET "Szia IRÁNY! 0? BETŰ! "Arial [30 0 0 0 0] BETŰZD "Világ ; ez nem szép? TR? BETŰ! "Arial [20 0 0 0 1] BETŰZD "Szia? IRÁNY! 90 E ELSŐ BETŰNÉGYZET "Szia IRÁNY! 0? BETŰ! "Arial [30 0 0 0 1] BETŰZD "Világ ; ez már sokkal szebb

Ha valamely paraméter nem egész szám, akkor a rendszer először kerekíti a KEREKÍT függvénnyel.

BETŰZDBETŰZD --- utasítás 1 vagy N bemenő adattalBETŰZD szöveg(BETŰZD szöveg1 szöveg2 ... )Hatásaként az összes aktív teknőc kiírja az adott szöveget vagy szövegeket a rajzlapra aktuális pozíciójában, és a BETŰ! utasítással előzőleg beállított betűkészlettel és méret-tel.A szöveg1, szöveg2 ... a teknőcök aktuális tollszínével megegyező színnel íródik ki (ak-kor is, ha a teknőcök tolla TOLLATFEL állapotban van). Ezt a lehetőséget a Windows nem támogatja teljes mértékben RGB színű tollak esetén. Ha valamely bemenő szöveg1, szöveg2 ... lista, akkor a BETŰZD a külső zárójelek nélkül írja ki őket hasonlóan az írólapon használt KIÍR utasításhoz.A bemenetek kiírásának iránya a teknőc irányára merőleges lesz, tehát egy Északra néző teknőc az adott szöveget vízszintesen írja ki. Bizonyos betűkészlet esetén lehetőségünk van bármilyen irányban írni.

BETŰNÉGYZETBETŰNÉGYZET --- függvény 1 bemenő adattalBETŰNÉGYZET! szövegEredménye egy négyelemű, számokat tartalmazó lista [szélesség, magasság, meredek-ség, belső.ritkítás]. Az első két szám annak a téglalapnak a méretét adja meg, melyet le-fedne az első aktív teknőc által kiírt szöveg, ha a BETŰZD utasítás hatására kiírná a rajzlapra aktuális betűkészletével és méretével. Jegyezzük meg, hogy valójában semmit nem írunk ki!

73

Page 74: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az eredménylista harmadik és negyedik száma az adott betűkészlet néhány „finomabb DTP jellemzőjét határozza meg.A szöveg kiírása a BETŰZD utasítás hatására realizálódik. A betűkészlet és a méret be-állítására, illetve módosítására a BETŰ! utasítás szolgál.

EELŐRE; E --- utasítás 1 bemenő adattalELŐRE számAz összes jelenleg aktív teknőcöt az adott számú lépéssel (vagyis képponttal) elmozgat-ja abba az irányba, amelyikben állnak. Attól függően, hogy az egyes teknőcök tolla mi-lyen állapotban van (ezalatt a következőkre kell gondolni: TOLLATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ), vagy egy egyenes szakaszt rajzol (az aktuálisan be-állított színnel, tollvastagsággal és mintával), vagy semmit sem rajzol, vagy töröl, illetve invertál egy szakaszt.Ha egy aktív teknőc LÁTHATÓ?, akkor ennek alakja megjelenik a mozgás előtt és után. Jegyezzük meg, hogy az ELŐRE 0 utasítás azt jelenti, hogy előremozdul 0 lépést, azaz egy 1 hosszúságú egyenes vonalat húz (az aktuális pozíciótól az aktuális pozícióig). ELŐRE 1 egylépésnyi haladást eredményez, ezért a rajzolt vonal hossza 2. Ezenfelül:az ELŐRE szám1 és a HÁTRA szám2 függvények eredménye megegyezik, ha szám1=-szám2. az ELŐRE 0 ugyanaz, mint a PONT.? E 35? E -150

TANULD SOKSZÖG.SPI :LÉPÉS :SZÖGHA :LÉPÉS < 0.5 [VISSZATÉR]E :LÉPÉSB :SZÖGSOKSZÖG.SPI :LÉPÉS-3 :SZÖG

VÉGE

? SOKSZÖG.SPI 200 174

EGYMÁSUTÁNEGYMÁSUTÁN --- utasítás 1 bemenő adattalEGYMÁSUTÁN utasításlistaAz összes aktív teknőc (amelyek nevét a KIFIGYEL eredményeként kapott lista tartal-mazza) végrehajtja a paraméterként adott utasításlistát.Az utasítás végrehajtása közben mindig csak egy teknőc aktív. Az utasítás végrehajtása előtt aktív állapotban levő teknőcök egymásután külön-külön hajtják végre az utasítás-listában szereplő utasításokat, közben a többi teknőc inaktív állapotba kerül. Az utasítás befejezése után ismét aktívvá válik minden teknőc, amelyek előtte aktívak voltak. Az utasításlistában érdekes dolgok adódhatnak a KIFIGYEL függvény alkalmazásából: az adott pillanatban ennek értéke az egyedüli aktív teknőc neve, tehát azé, amelyik ép-pen végrehajtja a listát. Az EGYMÁSUTÁN utasítás kiértékelése után ugyanazok a tek-nőcök lesznek aktívak, amelyek előtte azok voltak.Amíg az EGYMÁSUTÁN esetén az aktív teknőcök egymás után hajtják végre a meg-adott utasításlistát, tehát adott időben mindig csak egyetlen teknőc munkálkodik, a KÉ-REM utasítás alkalmazásával minden megszólított teknőc egyszerre, „párhuzamosan végzi el a kívánt feladatokat.

74

Page 75: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? TR RA? ISMÉTLÉS 5 [ÚJTEKNŐC HÁNYADIK (M -150 + HÁNYADIK * 50 0 0)]? FIGYELJ [1 2 3 4 5]? LÁTHATÓ? ISMÉTLÉS 40 [E 140 B 189]? J 180 TOLLSZÍN! 4? EGYMÁSUTÁN [ ISMÉTLÉS 40 [E 140 B 189]]

ELŐRE; E

FÁZISFÁZIS --- bemenő adat nélküli függvényFÁZISEredményül annak a fázisnak a sorszámát kapjuk, mely az első aktív teknőc alakját ép-pen ábrázolja. Ha a teknőcöt alakjának első fázisával ábrázoljuk, akkor a FÁZIS függ-vény eredménye 1; ha az 5. fázissal, akkor az eredmény 5.Ha a teknőc aktuális alakja üres képsor, akkor a FÁZIS függvény eredménye 0.A FÁZIS függvény akkor is működik, ha a teknőc a képernyőn LÁTHATÓ, illetve ak-kor is, ha a teknőc alakját nem látjuk a rajzlapon, mert a LÁTHATATLAN utasítással eltüntettük onnan.

How to Use Phases of an Image

? J 50 ; használjuk az alapalakot (kis háromszög)

? KIÍR FÁZIS4

FÁZIS!FÁZIS! --- utasítás 1 bemenő adattalFÁZIS! számahol a szám egy a -32767 és 32767 közé eső egész számA továbbiakban az aktív teknőcök alakjának adott sorszámú fázisával ábrázolja a teknő-cöket. Az utasítás hatása csak azoknál a teknőcöknél mutatkozik meg, melyeknél az ANIMÁCIÓSMÓD! értéke IGAZ.Ha egy teknőc pillanatnyi alakja N fázisból áll, akkor a FÁZIS! 1 hatásaként a teknőcöt az első fázissal ábrázoljuk, a FÁZIS! 2 esetén a második fázissal stb. A bemenő számot a rendszer először modulo N-re redukálja, tehát a FÁZIS! N+1 és a FÁZIS! 1 egyenérté-kű, csakúgy, mint a FÁZIS! 0 és a FÁZIS! N stb.

? FÁZIS! 4? FÁZIS! FÁZIS+1

FÁZISPONTFÁZISPONT --- bemenő adat nélküli függvényFÁZISPONTEredménye a rajzlap területének azon [X Y szélesség magasság ] téglalapnyi területe, melyet az első aktív teknőc alakjának pillanatnyilag használt fázisa takar le.Az első két szám, X és Y az első aktív teknőc aktuális pozícióját ábrázolja. Ha az első aktív teknőc pillanatnyilag nem látható (mert előzőleg a LÁTHATATLAN utasítással elrejtettük alakját), akkor a FÁZISPONT függvény eredménye az [X Y 0 0] lista lesz. Ugyanezt az eredményt kapjuk akkor is, ha a teknőc nem láthatatlan, de jelenlegi alakja üres képsor, lásd az

75

Page 76: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ÜRESKÉPSOR utasítást is.

FIGYELJFIGYELJ --- utasítás 1 bemenő adattalFIGYELJ teknőcFIGYELJ teknőclistaAz összes bemeneteként adott teknőcöt aktívvá teszi. A Logo indításakor az egyetlen lé-tező és aktív teknőc a 0 nevű teknőc.

? KI KIFIGYEL0? ÚJTEKNŐC "TEKI [10 10 90]? FIGYELJ [TEKI]? ISMÉTLÉS 4 [E 60 J 90]

Az aktuálisan aktív teknőcök listáját (illetve egyetlen aktív teknőc esetén egy egyszerű nevet) a KIFIGYEL függvény eredményeként kapjuk meg. A teknőcök listabeli sor-rendjét az ÚJRASOROL utasítással változtathatjuk meg.Bármely létező teknőc, akár aktív, akár nem, szerepelhet a KÉREM eljárás címzettje-ként, hogy az adott utasításlistát végrehajtsa. Tetszőleges teknőc a TÖRÖLTEKNŐC utasítással törölhető.

HHÁTRA; H --- utasítás 1 bemenő adattalHÁTRA számAz összes jelenleg aktív teknőcöt a paraméterként adott számú lépéssel (azaz képpont-tal), az irányukkal ellentétes irányban mozgatja. Attól függően, hogy az egyes teknőcök tolla milyen állapotban van (ezalatt a következőkre kell gondolni: TOLLATLE, TOL-LATFEL, TOLLRADÍR vagy TOLLVÁLTÓ), vagy egy egyenes szakaszt rajzol (az ak-tuálisan beállított színnel, tollvastagsággal és tollmintával), vagy semmit sem rajzol, vagy töröl, illetve invertál egy szakaszt.Ha az aktív teknőc LÁTHATÓ?, akkor alakját a mozgás előtt és után a képernyőn lát-hatjuk.Érdemes megjegyezni, hogy a HÁTRA -szám utasítás ugyanazt a hatást éri el, mint az ELŐRE szám.? HÁTRA 40 ; megtesz hátrafelé 40 lépést? HÁTRA -40 ; előrelépeget 40 lépést? ISMÉTLÉS 4 [HÁTRA 100 B 90] ; hátrafelé mozogva egy négyzetet rajzol

HAZAHAZA --- bemenő adat nélküli utasításHAZAAz összes aktív teknőcöt alapkoordinátáiba viszi, melyeket akkor határoztunk meg, ami-kor a teknőcöt az ÚJTEKNŐC utasítással létrehoztuk.A teknőcök aktuális iránya nem változik meg, hasonlóan változatlan marad a tolluk álla-pota (TOLLATFEL, TOLLATLE, TOLLRADÍR vagy TOLLVÁLTÓ, a toll színe, min-tája és vonalvastagsága) is. Ezért a teknőcök vonalat húznak maguk után, amikor alap-pozíciójukba visszatérnek, ha a tolluk hegye a papírra ér, vagyis lent van a toll, vagy pe-dig tollváltó állapotban van. A teknőcök alakja látható marad, ha azelőtt az volt (lásd LÁTHATÓ?). A képernyőt nem törli.

HÁTRA; H

76

Page 77: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

HELYHELY --- bemenő adat nélküli függvényHELYEredménye az az [X Y] pont, mely az első aktív teknőc aktuális koordinátáit ábrázolja (a Cartesian koordinátarendszerben). Jegyezzük meg, hogy a Cartesian sík origója a rajzlap középpontjában helyezkedik el.Az aktív teknőcök pillanatnyi pozíciójának megváltoztatására (ami a Cartesian stílusban új [X1 Y1] pont meghatározását jelenti), szolgálnak a HELY!, az XHELY!, az XY-HELY! vagy az YHELY! utasítások.

? ÚJTEKNŐC "JANI [20 0 90]? FIGYELJ "JANI? KI HELY[20 0]? E 70? KI HELY[90 0]

HELY!HELY! --- utasítás 1 bemenő adattalHELY! pontAz összes aktív teknőcöt az adott pontba viszi, de aktuális irányukat változatlanul hagy-ja. Ha a teknőc tolla TOLLATLE állapotban van, akkor eredeti és új pozícióját vonallal köti össze.Az első aktív teknőc aktuális pozícióját a HELY függvény eredményeként kapjuk meg. Az XHELY!, az XYHELY!, az YHELY! és a HELY! utasítások mellett az aktív teknő-cök pozíciója az ELŐRE, a HÁTRA, a TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA utasításokkal is megváltoztatható.Ha L egy pont, HELY! :L egyenértékű az XYHELY! ELSŐ :L UTOLSÓ :L parancs-sorral.

? ÚJTEKNŐC "JANI [20 0 0]? ÚJTEKNŐC "FERI [40 0 0]? FIGYELJ MIND? EGYMÁSUTÁN [KI HELY][0 0][20 0][40 0]? HELY! [-220 150]? E 50 ; próbáljuk ki!

IRÁNYIRÁNY --- bemenő adat nélküli függvényIRÁNYEredményeként az első aktív teknőc aktuális irányát jelző szöget kapjuk meg.Azt a szöget kapjuk meg amennyivel az északi iránytól az óramutató járásával megegye-ző irányban fordulva az első aktív teknőc irányáig jutunk el. Ha a teknőc egyenesen északra néz, akkor 0, keletre nézve 90 stb. a függvény értéke. Az irány megváltoztatásá-ra a JOBBRA, a BALRA vagy az IRÁNY! utasítást használjuk.A 0 nevű alapteknőc alapiránya 0, ami az ÚJTEKNŐC utasítással átállítható (illetve bármely új teknőcnél definiálható).

77

Page 78: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

IRÁNY!IRÁNY! --- utasítás 1 bemenő adattalIRÁNY! szögElfordítja az aktív teknőcöket úgy, hogy új irányuk megegyezzen az adott szöggel (azaz aktuális irányuktól függetlenül).A Logo a szögeket északtól kezdődően, az óramutató járásával megegyezően, fokokban méri, tehát az IRÁNY! 0 hatására az összes aktív teknőc északra fog nézni, az IRÁNY! 90 hatására keletre stb.Az első aktív teknőc aktuális iránya az IRÁNY függvény eredményéből olvasható ki.

? ÚJTEKNŐC 1 [ ] ; az [ ] itt azonos a [ 0 0 0 ]-val

? ÚJTEKNŐC 2 [ ]? KÉREM 2 [IRÁNY! 180]? FIGYELJ [1 2]? E 100 J 45 E 100

IRÁNYSZÖGIRÁNYSZÖG --- függvény 1 bemenő adattalIRÁNYSZÖG pontIRÁNYSZÖG teknőcEredménye az az irány, melybe az első aktív teknőcnek kellene fordulnia ahhoz, hogy az adott pont által meghatározott pozíció felé nézzen. Az irányt északtól kezdődően, az óramutató járásával megegyezően, fokokban mérjük. Ha a bemenet egy teknőc, akkor a függvény eredménye az az irány, melybe az első aktív teknőcnek fordulnia kellene, hogy az adott teknőc felé nézzen.Jegyezzük meg, hogy az IRÁNYSZÖG függvény eredménye nem az a szög, amellyel a teknőcnek balra vagy jobbra kellene fordulnia, hogy az adott pontra nézzen. Ennek elle-nére az eredményt felhasználhatjuk az IRÁNY! utasításban, például:

? ÚJTEKNŐC "ÉVI [60 40 0]? FIGYELJ 0 E 40 ; legyen a 0 az egyetlen aktív teknőc? IRÁNY! IRÁNYSZÖG KÉREM "ÉVI [HELY] ; forduljon a 0 ÉVI felé? KI IRÁNY90

JJOBBRA; J --- utasítás 1 bemenő adattalJOBBRA szögAz összes aktív teknőcöt elforgatja jobbra (vagyis az óramutató járásának megfelelően) az adott szöggel (fokokban mérve).Az első aktív teknőc aktuális irányát az IRÁNY függvény eredményéből olvashatjuk ki.A JOBBRA szög és a BALRA szög parancsok hatása megegyezik, lásd még a BALRA utasítást.

? J 90 ; legyen az egyetlen aktív teknőc a 0 nevű? KI IRÁNY90? J -90 ; vagyis BALRA 90? J 380 ; vagyis JOBBRA 20

JOBBRA; J

78

Page 79: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KÉREMKÉREM --- utasítás 2 bemenő adattal

függvény 2 bemenő adattalutasítás: KÉREM teknőc utasításlista

KÉREM teknőclista utasításlistafüggvény: KÉREM teknőc [ kifejezés ]

KÉREM teknőclista [ kifejezés ]Ha a KÉREM eljárás második paramétere végrehajtandó utasításlista, akkor a KÉREM utasításként szerepel. Ha ez a bemenő adat kifejezés (melynek valamilyen érték az ered-ménye), akkor a KÉREM alapszó függvényként viselkedik.Ha a KÉREM eljárás utasítás, akkor az első paraméter által meghatározott teknőc, illet-ve teknőcök végrehajtják a második bemenetként megadott utasításokat. A fenti teknő-cök egyaránt lehetnek pillanatnyilag aktívak vagy sem ideiglenesen aktívvá válnak arra az időre, amíg az utasításlista elemeit végrehajtják. Az első paraméterben felsorolt ösz-szes teknőc párhuzamosan hajtja végre az utasításlista elemeit, ellentétben az EGY-MÁSUTÁN utasítással, melynek hatására az aktív teknőcök egyesével hajtják végre az utasításokat. Amikor a KÉREM utasítás befejeződött, a KIFIGYEL eredményeként ka-pott aktív teknőcök listája ugyanaz lesz, mint a parancs kiadása előtt volt.

? ÚJTEKNŐC "TEKI [10 10 90]? KI KIFIGYEL0? KÉREM "TEKI [(KI "Teki "a HELY "pontban "áll)]Teki a [10 10] pontban áll

Ha a KÉREM függvényként szerepel, akkor az első paraméterrel megcímzett teknőc, il-letve teknőcök egy kis időre ideiglenesen aktívvá válnak, és a rendszer kiértékeli a má-sodik bemenetet a kifejezés eredménye lesz a függvény által visszaadott érték, amely az első teknőccel kapcsolatos eredményt adja.Amikor a KÉREM függvény befejeződött, azaz megadja az eredményt, a KIFIGYEL ki-meneteként kapott aktív teknőcök listája ugyanaz lesz, mint a parancs kiadása előtt volt.

? ÚJTEKNŐC "TEKI [10 10 90]? KI KIFIGYEL0? (KI "Teki "a KÉREM "TEKI [HELY] "pontban "áll)Teki a [10 10] pontban áll

KIFIGYELKIFIGYEL --- bemenő adat nélküli függvényKIFIGYELHa pillanatnyilag egyetlen aktív teknőcünk van, akkor eredményként ennek nevét kap-juk. Különben eredménye az összes aktuálisan aktív teknőcöt tartalmazó lista.Ezt a listát a FIGYELJ utasítással módosíthatjuk. Legyünk figyelmesek, és ne keverjük össze a KIFIGYEL listáját a MIND függvény eredményével, mely megegyezik az ösz-szes pillanatnyilag létező teknőc nevét tartalmazó listával, melyben az aktív és passzív teknőcök neve is szerepel.A KIFIGYEL listájában a teknőcök sorrendje annak a sorrendnek felel meg, melyben az ÚJTEKNŐC utasítással létrehoztuk azokat. Ez a sorrend azonban megváltoztatható az ÚJRASOROL utasítás alkalmazásával. A KIFIGYEL függvényt gyakran használjuk az EGYMÁSUTÁN utasítással együtt.

79

Page 80: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KI KIFIGYEL0? KI MIND[0]

KIHASÍTKÉPKIHASÍTKÉP --- függvény 1 bemenő adattalKIHASÍTKÉP [ szám1 szám2 szám3 szám4 ]Eredményeként egy egyetlen fázisból álló képsort kapunk. Ezt a képsort az első aktív teknőc készíti (mintha fényképezőgépet használna), a rajzlapon őt körülvelő pillanatnyi környezetről.A 4 számból álló lista [szám1 szám2 szám3 szám4] határozza meg azt a téglalap alakú területet a rajzlapon az első aktív teknőc aktuális pozíciójához képest relatívan amelyi-ket az új képsorba kell másolni. A lista elemei határozzák meg a kép széleit (képpontok-ban) az első aktív teknőc aktuális pozíciójához képest:

szám1 távolság a terület bal határáigszám2 távolság a terület felső határáigszám3 távolság a terület jobb határáigszám4 távolság a terület alsó határáig

Ennek a területnek teljes egészében a rajzlapon kell lennie. A bemenő lista két első szá-ma határozza meg az új képsor tollpontját [szám1 szám2] is.Az eredményként kapott képsor valódi szélességét és magasságát a következőképpen kapjuk meg: szám1+szám3+1 és szám2+num4+1, melyek egyike sem lehet 255-nél na-gyobb. A tollpont helyzete (a képsor bal felső sarkához képest relatívan) nem szükséges, hogy a képsoron belül legyen. Így, például, a [-100 -100 140 160] bemenet megfelelő területet határoz meg a KIHASÍTKÉP utasítás számára, s az eredményképsor mérete [41 61], tollpontjának he-lye [-100 -100] lesz. A KIHASÍTKÉP [0 10 0 5] egy [1 16] méretű, és [0 10] tollpontú képsort készít el.Jegyezzük meg, hogy egyetlen teknőc alakja sem az első aktív teknőcé, sem másiké sem része az eredményképsornak, hacsak először nem készítünk róla egy másolatot a rajzlapra a LENYOMAT utasítással.

? TV! 3 TSZ! 12

? ISMÉTLÉS 4 [E 10 J 90] ; kis piros négyzet

? NÉV "ÚJ.ALAK KIHASÍTKÉP [1 11 11 1]? KI :ÚJ.ALAK

{képsor1} ; használjuk a Memóriaablakot ; ellenőrzésre

Ahhoz, hogy egy teknőc aktuális alakját megváltoztassuk, használjuk az ALAK! utasí-tást:

? ALAK! :ÚJ.ALAK? TR? TV! 1 TSZ! 0 LÁTHATÓ? E 50? ISMÉTLÉS 4 [E 50 J 90]

80

Page 81: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az eredményképsor átlátszóságának tetszőleges fajtáját az ÁTLÁTSZÓMÓD! utasítás alkalmazásával határozhatjuk meg.

KÍVÜL?KÍVÜL? --- függvény 1 vagy 2 bemenő adattalKÍVÜL? téglalapnyi_terület(KÍVÜL? pont téglalapnyi_terület )(KÍVÜL? teknőc téglalapnyi_terület )Ha a függvénynek csak egy paramétere van, akkor eredménye IGAZ, ha az első aktív teknőc pillanatnyilag az adott téglalapnyi területen kívül helyezkedik el. Ha az első ak-tív teknőc a téglalapon belül, vagy ennek határán található, akkor a függvény eredménye HAMIS.Ha a függvénynek két bemenő paramétere van, melyek közül az első egy pont, akkor az eredmény akkor lesz IGAZ, ha az adott pont a téglalapnyi területen kívül helyezkedik el. Különben az eredmény a HAMIS értéket veszi fel. Ha az első bemenet egy teknőc neve, a KÍVÜL? akkor ad IGAZ értéket, ha az adott teknőc pillanatnyilag a téglalapon kívül van. Ez akkor is érvényes, ha a teknőc éppen nem aktív, sőt akkor is, ha pillanat-nyilag nem látható, lásd még a LÁTHATÓ? eljárást.

KÖRKÖRÖSENKÖRKÖRÖSEN --- utasítás 1 bemenő adattal vagy bemenő adat nélkülKÖRKÖRÖSEN(KÖRKÖRÖSEN téglalapnyi_terület )(KÖRKÖRÖSEN [ ])Az utasítás az aktív teknőcök számára definiálja az általuk felhasználható területet. Ez a terület nem más, mint amelyben a felhasználó láthatja a teknőcöt, melyben a teknőc mo-zoghat, rajzolhat, sokszöget hozhat létre a SOKSZÖG vagy a SOKSZÖGVONAL utasí-tással, melyben írhat a BETŰZD utasítással, melyet kitölthet a TÖLT eljárással stb.Ha az utasítást paraméter nélkül adjuk ki, és eddig még nem határoztunk meg az adott teknőc számára felhasználható területet, az általa elérhető terület az aktuális rajzlappal fog megegyezni. Ha a bemenet egy téglalapnyi terület, akkor ez határozza meg a fel-használható területet. Ha a bemenet üres lista [ ], akkor a korábbi beállítások törlésével újradefiniálja a felhasználható területet, s ezzel ismét a teljes rajzlap lesz az elérhető te-rület.A KÖRKÖRÖSEN utasítás azt is meghatározza, hogy a teknőc hogyan viselkedjen, amikor eléri a terület határát. Az utasítás használatával megadjuk, hogy a teknőc az úgy-nevezett körkörös módot használja, vagyis egy olyan módot, melyben akármekkorát mozdul is el (az ELŐRE vagy más utasítások hatásaként), mindenképpen a rajzlapon marad. Valahányszor egy „körkörös módban lévő teknőc kimászik a képernyőről, auto-matikusan körbemászik rajta, és újra feltűnik a rajzlap ellentétes határán.Az ÚJTEKNŐC utasítással létrehozott új teknőc mindig körkörös módban van. Ahhoz, hogy ezt ablak-módba kapcsoljuk, tegyük aktívvá, és használjuk az ABLAK utasítást. Érdekes megfigyelni a hatást, amikor néhány körkörös módban dolgozó teknőc mellett a többieket ezekkel párhuzamosan ablak-módban működtetjük.

? TR? J 5.3? E 25000

LÁTHATÓLÁTHATÓ --- bemenő adat nélküli utasításLÁTHATÓ

81

Page 82: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az utasítás hatására az összes aktív teknőc alakja megjelenik a képernyőn.Az aktív teknőcök a LÁTHATATLAN utasítás kiadásával eltüntethetők a képernyőről. Azt, hogy az első aktív teknőc alakja pillanatnyilag látható-e a rajzlapon, a LÁTHATÓ? függvény eredménye mutatja meg. A rajzolás sebessége látható teknőc (vagy teknőcök) esetén sokkal lassabb. Ezért ésszerű néha elrejteni a teknőcöket a képernyőről.Az aktív teknőcök alakjának megváltoztatására szolgál az ALAK! utasítás, tetszőleges képsor bemenettel.

? LÁTHATÓ? ISMÉTLÉS 90 [E 140 J 172]? TF? H 150? TL? LÁTHATATLAN

? ISMÉTLÉS 100 [E 80 J 176] ; hasonlítsuk össze a rajzolás sebességét!

Más lehetőségek:a szürke plusz billentyű (a numerikus billentyűzeten) az összes aktív teknőcöt láthatóvá teszi,a Shift + szürke plusz billentyű (a numerikus billentyűzeten) az összes teknőcöt (még a pillanatnyilag nem aktívakat is) megjeleníti, lásd még az About Other Keys in the Main Window megjegyzést is.

LÁTHATÓ?LÁTHATÓ? --- bemenő adat nélküli függvényLÁTHATÓ?Eredménye IGAZ értékű, ha az első aktív teknőc aktuálisan látható a rajzlapon. Külön-ben a kimenet HAMIS.Az aktív teknőcök a LÁTHATÓ utasítás alkalmazásával jeleníthetők meg a rajzlapon. Az összes aktív teknőcöt elrejthetjük a képernyőről a LÁTHATATLAN utasítással. Több teknőc létezése esetén egy adott teknőcöt a KÉREM és a LÁTHATÓ utasítások kombinációjával tehetünk láthatóvá.

? TF? B 90? ISMÉTLÉS 50 [E 5 HA LÁTHATÓ? [LÁTHATATLAN] [LÁTHATÓ] ]

LÁTHATATLANLÁTHATATLAN --- bemenő adat nélküli utasításLÁTHATATLANAz utasítás eltünteti az összes aktív teknőcöt a képernyőről.Ha az aktív teknőcök alakját újra látni szeretnénk a képernyőn, használjuk a LÁTHATÓ utasítást. A LÁTHATÓ? függvény eredményeként megtudjuk, hogy az első aktív teknő-cöt pillanatnyilag ábrázolja-e a képernyőn a rendszer. Amikor a teknőc (vagy teknőcök) láthatóak, akkor a rajzolás sokkal lassabb. Emiatt indokolt elrejteni a teknőcöket a kép-erenyőről.Az összes aktív teknőc alakjának megváltoztatása az ALAK! utasítással lehetséges, ha ennek bemenete valamelyik képsor.

? LÁTHATÓ? ISMÉTLÉS 90 [E 140 J 172]

82

Page 83: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? TOLLATFEL? H 150? TOLLATLE? LÁTHATATLAN

? ISMÉTLÉS 100 [E 80 J 176] ; hasonlítsuk össze a rajzolás sebességét

Más lehetőségek:a szürke mínusz billentyű (a numerikus billentyűzeten) az összes aktív teknőcöt elrejti,a Shift + szürke mínusz billentyű (a numerikus billentyűzeten) az összes teknőcöt elrej-ti, lásd még Egyéb billentyűk a Fő-ablakban.

LENYOMATLENYOMAT --- bemenő adat nélküli utasításLENYOMATAz összes aktív teknőc kinyomtatja alakját (illetve ennek aktuális fázisát) a rajzlapra. A LENYOMAT utasítással a képsor fázisa a rajzlap tartalmának részévé válik.Ne keverjük össze a LENYOMAT és a BETOLDKÉP utasításokat, mivel ez utóbbi a bemeneteként adott képsort rajzolja ki, nem magának a teknőcnek az alakját.Legyen az egyetlen aktív teknőcünk a 0 nevű, és legyen ennek alakja az alapalak (vagy-is a kis háromszög):

? FIGYELJ 0? TF? LÁTHATÓ? ISMÉTLÉS 24 [E 45 LENYOMAT J 165]? J 90 E 110

MINDMIND --- bemenő adat nélküli függvényMINDA függvény eredményeként a jelenleg létező teknőcök listáját kapjuk meg, mely az ÚJ-TEKNŐC utasítással létrehozott összes teknőc nevét tartalmazza.Ne keverjük össze ezt a listát a KIFIGYEL függvény eredményével, melyben csak az aktív teknőcök neve szerepel. Az adott pillanatban létező teknőcök közül néhány vagy akár mind lehet nem aktív is.

? KI MIND[0 PETI KATI 1 2]? KI KIFIGYEL0

A MIND függvény eredményeként kapott listában a teknőcök olyan sorrendben szere-pelnek, amilyenben őket az ÚJTEKNŐC paranccsal létrehoztuk. Ezt a sorrendet az ÚJ-RASOROL utasítás segítségével változtathatjuk meg. A teknőcök törlésére a TÖRÖL-TEKNŐC parancs szolgál. A TÖRÖLMUNKA eljárás az összes teknőcöt törli, és egy-ben létrehozza az alapteknőcöt, melynek neve 0, és elhelyezi a [0 0] pontba, a rajzlap origójába.

PONTPONT --- bemenő adat nélküli utasításPONT

83

Page 84: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Minden aktív teknőc, melynek tolla TOLLATLE állapotú, kitesz egy pontot az aktuális pozíciójában, tolla aktuális színének és vonalvastagságának megfelelően.Jegyezzük meg, hogy a PONT nem más, mint az ELŐRE 0, lásd még az ELŐRE eljá-rást.

PONTSZÍNPONTSZÍN --- bemenő adat nélküli függvényPONTSZÍNEredménye egy 0 és 15 közé eső szám, attól függően, hogy a rajzlapon az első aktív tek-nőc aktuális pozíciójában levő pontnak milyen színe van.Az első aktív teknőc koordinátáinak megismeréséhez használjuk a HELY függvényt. A rajzlap teljes hátterének színét a RAJZLAPSZÍN! utasítással változtathatjuk meg. A tel-jes háttér jelenlegi színét (mely bármelyik pont aktuális színétől különbözhet) a RAJZ-LAPSZÍN függvény eredményéből olvashatjuk le.

? RAJZLAPSZÍN! 7? TR? KI PONTSZÍN

7 ; most a rajzlap minden egyes pontja szürke

SOKSZÖGSOKSZÖG --- utasítás 1 bemenő adattalSOKSZÖG sokszöglistaAz összes aktív teknőc egy a bemenő sokszöglistának megfelelő kitöltött sokszöget raj-zol a rajzlapra a következő módon:Ha a lista az s1 s2 számokkal kezdődik, akkor ezek közül az első az ELŐRE s1 utasítást ábrázolja, a második pedig a JOBBRA s2 parancsot. Ha a következő két elem szintén szám, akkor ugyanezen a módon értékeli őket a Logo stb. Így a:

? SOKSZÖG [100 90 100 90 100 90 100 90]

egy kitöltött négyzetet eredményez. Ha s1 (nem negatív) szám, és s2 sokszöglista, akkor a párnak megfelelő utasításcsokor az s2 sokszöglista s1-szer való ismétlését eredménye-zi. Így a:

? SOKSZÖG [4 [100 90] ]

hatására ugyanazt a négyzetet kapjuk, mint fent. A sokszög körvonalát a teknőcök az aktuális tollszínükkel rajzolják, és az aktuális kitöltőszínnel és töltőmintával töltik ki a belső tartományt.Az összes aktív teknőc töltőszínét a TÖLTŐSZÍN! utasítással állíthatjuk be. Amíg nem használjuk ezt az utasítást, a töltőszín mindig megegyezik a pillanatnyi tollszínnel. Az első aktív teknőc aktuális töltőszínének lekérdezésére szolgál a TÖLTŐSZÍN függvény. Az összes aktív teknőc kitöltőmintáját a TÖLTŐMINTA! utasítással állíthatjuk be. Az első aktív teknőc aktuális kitöltőmintáját a TÖLTŐMINTA függvény eredményéből ol-vashatjuk ki. A töltőminta és töltőszín fenti beállításai vonatkoznak a TÖLT utasításra is.Összetettebb sokszöglista megadásával bonyolultabb alakzatokat is rajzolhatunk. Pró-báljuk ki az alábbiakat:

84

Page 85: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? ÚJTEKNŐC 0 [0 0 0]? ÚJTEKNŐC 1 [0 0 180]? FIGYELJ [0 1]? TF? TOLLSZÍN! 4? TÖLTŐSZÍN! 8? SOKSZÖG [5 [100 144]]? J 90? SOKSZÖG [11 [23 134 39 83 5 [45 99]]]

Ha egy sokszöglista által meghatározott sokszög körvonala nem záródik (vagyis külön-böző a kezdő- és a végpontja), akkor a SOKSZÖG utasítás bezárja ezt, egy további, „zá-ró-vonal hozzáadásával. Így a következő sokszöglisták ugyanazt a sokszöget ábrázolják [100 120 100 120], [100 120 100 120 100 120] és [3 [100 120]].A SOKSZÖG utasítás mindig kitölti a sokszög belsejét, ami a felhasználó által (különö-sen bonyolult sokszögek esetén) nem mindig határozható meg előre.

SOKSZÖGVONALSOKSZÖGVONAL --- utasítás 1 bemenő adattalSOKSZÖGVONAL sokszöglistaAz összes aktív teknőc egy a bemenő sokszöglistának megfelelő, nem kitöltött sokszö-get rajzol a rajzlapra a következő módon:Ha a lista az s1 s2 számokkal kezdődik, akkor ezek közül az első az ELŐRE s1 utasítást ábrázolja, a második pedig a JOBBRA s2 parancsot. Ha a következő két elem szintén szám, akkor ugyanezen a módon értékeli őket a Logo stb. Így a:

? SOKSZÖGVONAL [100 90 100 90 100 90 100 90]

eredményeként egy nem kitöltött négyzetet kapunk. Ha s1 (nem negatív) szám, és s2 sokszöglista, akkor a párnak megfelelő utasításcsokor az s2 sokszöglistaz s1-szer való ismétlését eredményezi. Ezért a:

? SOKSZÖGVONAL [4 [100 90] ]

hatására ugyanahhoz a kitöltetlen négyzethez jutunk, mint fent. A teknőcök a sokszög körvonalát az aktuális tollszínükkel rajzolják, amit a TOLLSZÍN utasítás segítségével lehet megváltoztatni.Összetettebb sokszöglisták meghatározásával bonyolultabb alakzatokat is rajzolhatunk. Próbáljuk ki az alábbiakat:

? ÚJTEKNŐC 0 [0 0 0]? ÚJTEKNŐC 1 [0 0 180]? FIGYELJ [0 1]? TF? TSZ! 4? SOKSZÖGVONAL [5 [100 144]]? J 90? SOKSZÖGVONAL [11 [23 134 39 83 5 [45 99]]]

Ha egy sokszöglista által meghatározott sokszög körvonala nem záródik (vagyis külön-böző a kezdő- és a végpontja), akkor a SOKSZÖGVONAL utasítás bezárja ezt, egy to-

85

Page 86: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

vábbi, „záró-vonal hozzáadásával. Így a következő sokszöglisták ugyanazt a sokszöget ábrázolják [100 120 100 120], [100 120 100 120 100 120] és [3 [100 120]].

SZÖVEGDOBOZSZÖVEGDOBOZ --- függvény 1 bemenő adattalSZÖVEGDOBOZ [ ]SZÖVEGDOBOZ szóahola szó a következők egyike: SIZE, TITLE, BG, FRAME, FROM, PP, OFFSET, MARGIN, EDIT, ASIZE és MOUSEHa bemenetként üres lista szerepel, akkor a függvény eredménye az első aktív szöveg-dobozteknőc összes beállítását tartalmazó lista, melyben azon beállítások is szerepelnek, melyeket nem módosítottunk, s így megtartották az eredeti értéküket:

? ÚJTEKNŐC 1 [100 -100 0]? KÉREM 1 [SZÖVEGDOBOZMÓD! "IGAZ LÁTHATÓ]? NÉV 1 98765? KÉREM 1 [KI SZÖVEGDOBOZ [ ]][PP 1 SIZE [0 0] TITLE 1 FRAME 1 BG 15 EDIT 1 OFFSET 0MARGIN 0 FROM [0 0]]

Ha a bemenet a fent felsorolt szavak valamelyike, akkor a függvény eredményeként az adott kulcsszónak megfelelő beállítást kapjuk meg. A fenti kulcsszavak közül azok ma-gyarázata, melyek a függvényhez tartozó utasítás mellett is szerepelhetnek, a SZÖVEG-DOBOZ! leírásánál olvashatók. A kivételként adódó két szó jelentése a következő: ha bemenő paraméterként a SIZE szó szerepel, akkor a függvény eredményeként a szöveg-doboz aktuális méretét kapjuk, mely abban az esetben különbözhet a SIZE-tól, ha ezt nem adtuk meg, és ezzel a Logo döntésére bíztuk az aktuális méret meghatározását. A másik lehetséges bemenet a MOUSE szó. Ebben az esetben az eredmény [ ] üres lista, vagy egy olyan [O S] lista, melyben a szövegdoboz azon oszlop- (O) és sorkoordinátái (S) szerepelnek, mely pozíción álló ka-rakterre az egérrel kattintottunk. Tehát ha a RÁKATTINTOTT eredménye nem ÜRES?, akkor a KÉREM RÁKATTINTOTT [SZÖVEGDOBOZ "MOUSE] eredményeként a megfelelő sor- és oszlopkoordinátákat kapjuk.Jegyezzük meg, hogy sem a SIZE, sem a MOUSE lehetőséget nem használhatjuk a SZÖVEGDOBOZ! parancs érvényes bemeneteként.

Szövegdobozteknőc létrehozása

SZÖVEGDOBOZ!SZÖVEGDOBOZ! --- utasítás 1 bemenő adattalSZÖVEGDOBOZ! listaahola lista egy következő formátumú lista [kulcsszó1 érték1 kulcsszó2 érték2... ], ahol az összes kulcsszó a következő szavak közül választható: SIZE, TITLE, BG, FRAME, FROM, PP, OFFSET, MARGIN és EDITA szövegdobozok több tulajdonságának beállítására van lehetőségünk, ilyenek a méret, a címsor, a háttérszín, a kerettípus, korlát a változók elfogadható értékére (a numerikus értékek esetén), az értékek kijelzésének stílusa a doboz belsejében, az offset, a margó és a szerkesztés megengedése, illetve letiltása. Figyeljük meg, hogy a Comenius Logo je-len verziójában a szövegdobozok tulajdonságait csak a Logo alapszavainak alkalmazá-sával adhatjuk meg, erre menüpont nem szolgál.A SZÖVEGDOBOZ! utasítással az összes aktív szövegdobozteknőc megfelelő tulaj-donságait állíthatjuk be. A fenti kulcsszavak érvényes értékei és jelentésük a követke-zőkben olvasható:

86

Page 87: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A Méret beállítása: Az aktív szövegdobozteknőcök méretének beállításához használjuk a SZÖVEGDOBOZ! [SIZE [O S]] utasítást, ahol az [O S] két egész számból álló lista. Az alapbeállítás [ ] vagy az ezzel megegyező [0 0], melyek esetén a Logo a szövegdo-bozban megjelenő változó aktuális értékének megfelelő méretűre állítja a szövegdobozt. (Ha nem adtuk meg a szövegdoboz méretét, akkor a SZÖVEGDOBOZ függvény ered-ményeként megkaphatjuk aktuális méretét.) Ha szerepel az utasítás paraméterében a SIZE kulcsszó, akkor mindkét adott számnak egésznek, és 1-nél nagyobbnak kell len-nie. Az O a szövegdoboz oszlopainak számát adja meg, értéke legfeljebb 80 lehet. Az S a szövegdoboz sorainak számát határozza meg, értéke legfeljebb 25 lehet. Ha a szövegdoboz egy slider, akkor ennek mindig egysorosnak (vízszintes slider) vagy egyoszloposnak (függőleges slider) kell lennie. Ezért a slider méretének megadása ese-tén a rendszer az O és S értékek közül csak a nagyobbat fogja figyelembe venni. Ez a slider a vízszintes méretét határozza meg, ha O S, illetve a függőleges méretét, ha O < S.A Címsor beállítása: A TITLE kulcsszó alapértéke 1, melynek jelentése az, hogy a meg-felelő szövegdoboz (ami valójában egy ablak) rendelkezik címsorral, melyben a doboz-hoz rendelt változó neve olvasható. Ha a kulcsszó értékét 0-ra állítjuk, akkor a címsor nem jelenik meg. A függőleges slider mindig címsor nélkül látható.A Háttérszín beállítása: A háttér színe a SZÖVEGDOBOZ! [BG szín] utasítás kiadásá-val állítható be az egyik alapszínre, illetve a 1 érték használatával átlátszó hátteret adha-tunk szövegdobozunknak. Az alapértelmezés szerint a háttér színe fehér, tehát az érték 15 (illetve sliderek esetén 7). Jegyezzük meg, hogy ha a képernyőn látható szövegdobo-zok némelyike átlátszó háttérszínű, akkor a Logo működése lelassulhat.A Keret beállítása: Alapértelmezésben a FRAME kulcsszó értéke 1, melynek jelentése az, hogy a megfelelő szövegdoboz (ami valójában egy ablak) kerettel rendelkezik. Ha a kulcsszó értékét 0-ra állítjuk be, akkor a rendszer nem jelzi ki a keretet.A Változó értékhalmazának beállítása: Ha a szövegdobozban megjelenő X változó elfo-gadható értékeit egy [A, B] zárt intervallumra szeretnénk korlátozni, melynek mindkét határa egész szám, akkor ez a SZÖVEGDOBOZ! [FROM [A B]] utasítással megtehető. Az alapbeállítás [ ], vagy az ezzel megegyező [0 0], melyek jelentése szerint az X érté-keire semmiféle kikötést nem teszünk (még az sem feltétel, hogy numerikus értékű vál-tozó legyen). Ha a FROM [A B] (ahol A < B) utasítással megadunk egy intervallumot, akkor A és B értéke csak egész szám lehet. Ezután abban az esetben, ha a szövegdobozhoz tartozó X változónak (ha már létezik) nem megfelelő értéket próbál adni a felhasználó, a változó az A értékét veszi fel. Ez alól a szabály alól egyetlen kivétel van, ha egy B értékénél nagyobb számot próbálunk meg-adni, akkor a változó a B értékét veszi fel. Ha a szövegdobozteknőcöt hozzuk létre első lépésként a változó értékének megfelelő korlátozásával, majd ezután készítjük el a hoz-zá tartozó változót, hibás értéket adva ennek, akkor szintén a fenti szabályt alkalmazza a rendszer:

? ÚJTEKNŐC "Z [LÁTHATÓ]? FIGYELJ "Z? SZÖVEGDOBOZMÓD! "IGAZ? SZÖVEGDOBOZ! [FROM [1 100]]? NÉV "Z "HELLO? KI :Z1

87

Page 88: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az elfogadható érték beállításához megadott intervallumnak legalább 2 különböző szá-mot kell tartalmaznia, emiatt a SZÖVEGDOBOZ! [FROM ...] utasítás számára nem szerepelhet érvényes bemenetként az [A, A] típusú intervallum.A Stílus beállítása (szép kiírás): Az opció alkalmazásával megadhatjuk a szövegdoboz-ban megjelenő tartalom kijelzésének módját. A PP kulcsszó értéke 1 és 6 közötti egész szám lehet, melyek közül az 1 az alapérték. Ha a beállított érték:1 akkor a szövegdoboz tartalma a Memóriaablak ellenőrző ablakában megjelenő módon lesz látható,2 akkor a szövegdoboz tartalma úgy jelenik meg, ahogy a KIÍRJEL utasítás hatására je-lenne meg az írólapon, tehát egyetlen hosszú sorban,3 akkor a szövegdoboz tartalma egy sorban, egyetlen hosszú szóként jelenik meg,4 akkor a szövegdoboz tartalma úgy jeleneik meg, ahogy a KIÍRSOR utasítás hatására jelenne meg az írólapon, tehát listákat tartalmazó lista esetén a belső listák külön sorokba kerülnek,5 akkor a hatás a 4 értékkel megegyező, a különbség az, hogy a szövegdoboz belsejé-ben megjelenő szöveg színét is megadhatjuk. Ha a sorba beszúrunk egy listát, mely egy 0 és 15 közötti egész számot tartalmaz, a 16 alapszín egyikének számát, akkor az ezt a listát követő szöveg a sor végéig, illetve egy másik színmegadásig az adott színnel kiírva jelenik meg,6 akkor a szövegdoboz sliderré válik, tehát ezt az értéket csak abban az esetben alkal-mazhatjuk, ha a hozzá tartozó változó értéke egész szám. A slider segítségével a változó aktuális értéke a görgető doboz helyzetével mutatható meg. Slider esetén mindig meg kell adnunk az elfogadható értékek intervallumát a FROM kulcsszóval. Ha ezt mégsem tennénk meg, akkor a rendszer az [1 10] alapbeállítást használja. A SIZE kulcsszó értékétől függően a slider függőleges, illetve vízszintes le-het.Az Offset beállítása: Az OFFSET kulcsszó értéke -999 és 999 közé eső tetszőleges egész szám lehet, az alapérték 1. Ha a szövegdobozhoz tartozó X változó értéke többso-ros szöveg (tehát ha az X teknőc PP opcióját 1, 4 vagy 5 értékűre állítjuk be), akkor előfordulhat, hogy a szövegdobozban csak a szöveg egy része fér el. Az OFF-SET kulcsszó beállításával megadhatjuk, hogy mely részt szeretnénk a szövegdobozban látni.Az OFFSET 1 beállítás esetén a szövegdoboz legfelső sorában az aktuális szöveg első sora jelenik meg. Ha a beállítás OFFSET 2, akkor a szövegdoboz legfelső sorában az aktuális szöveg második sora látható stb. Az OFFSET -1 érték azt jelenti, hogy a szö-vegdoboz legalsó sorában az aktuális szöveg utolsó sorát láthatjuk. Ha az OFFSET -2 adjuk meg, akkor a szövegdoboz legutolsó sorában az aktuális szöveg utolsó előtti sora jelenik meg stb. Az OFFSET lehetőség hatása csak abban az esetben észlelhető, ha maga a szöveg na-gyobb, mint amekkora a szövegdobozban elférne.A Margó beállítása: A MARGIN kulcsszó értéke a -99 és 99 közé eső tetszőleges egész szám lehet, az alapérték 0. A MARGIN 1 beállítás esetén a szövegdoboz első oszlopa üres marad, és ennek megfelelően a teljes szöveg egy karakterrel jobbra tolódik el. Tet-szőleges más pozitív szám alkalmazása esetén az adott számnak megfelelő számú osz-loppal tolódik el a szöveg jobbra. Ha negatív számot adunk meg, akkor a szöveg elmozdítása bal felé törté-nik.A Szerkesztés beállítása: Az EDIT kulcsszó értéke 0 vagy 1 lehet, az alapérték 1 (kivéve a sliders esetén, ugyanis ekkor az alapérték 0). Ha egy X szövegdobozteknőc esetén az

88

Page 89: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

EDIT opciót 1 értékre állítjuk (vagy egyáltalán nem használjuk), akkor a szövegdoboz szerkeszthető lesz, s ezzel módosíthatjuk a megfelelő változó aktuális tartalmát, még-hozzá a következőképpen:vagy dupla egérkattintással a szövegdobozra akár a program futása alatt is. Ekkor az OLVASKÓD függvény eredményeként -3 értéket kapunk (de CSAK akkor, ha a szö-vegdoboz tartalmát módosítottuk is!), a RÁKATTINTOTT függvény eredménye a meg-felelő teknőcváltozó neve lesz, és az EGÉRHELY függvény a szövegdoboz aktuális po-zícióját adja értékül. Az OLVASKÓD függvény eredménye -3 lesz abban az esetben is, ha vontatjuk a slider görgető dobozát, vagy az EDIT ":X parancs kiadásával akár a program futása alatt is.A SZÖVEGDOBOZ! [EDIT 0] parancs használata esetén letiltjuk a szövegdoboz tartal-mának szerkesztését.

SZÖVEGDOBOZMÓD!SZÖVEGDOBOZMÓD! --- utasítás 1 bemenő adattalSZÖVEGDOBOZMÓD! logikaiIGAZ logikai értékű bemenet esetén a parancs hatására az összes aktív teknőc szöveg-dobozzá válik.Ha a bemenő érték HAMIS, akkor az aktuálisan aktív teknőcök hagyományos teknőccé változnak vissza. A megfelelő változók értékére nem hat ez a parancs, de a továbbiak folyamán nem jelennek meg vizuálisan a képernyőn a szövegdobozokban. A teknőcök alakja az alapalakot veszi fel (a kis háromszög).Szövegdobozteknőc létrehozása

TAKARTTAKART --- függvény 1 bemenő adattal vagy bemenő adat nélkülTAKART(TAKART pont )Ha nem adunk bemenő adatot, akkor a TAKART függvény eredményeként azon teknő-cök listáját kapjuk meg, melyeket pillanatnyilag az első aktív teknőc takar.Egy teknőc sohasem takarja önmagát. Ha egy teknőc nem LÁTHATÓ? soha nem takar-hat más teknőcöt, és őt sem takarhatja másik teknőc. A teknőcök sorrendje a MIND eredménylistájában semmiféle szerepet nem játszik itt: a takarás nincs figyelemmel a teknőcök „korára. Tehát a függvény eredménye szempontjából nem lényeges az, hogy egy adott teknőc egy másik alatt vagy felett helyezkedik el a képernyőn.

? NÉV "L BETÖLTKÉPSOR "ABC [1 4]? ÚJTEKNŐC "A (M -57 121 ELEM 1 :L)? ÚJTEKNŐC "B (M -24 93 ELEM 2 :L)? ÚJTEKNŐC "C (M 4 131 ELEM 3 :L)? ÚJTEKNŐC "D (M 25 82 ELEM 4 :L)? FIGYELJ [A B C D]? LÁTHATÓ? EGYMÁSUTÁN [ (KI KIFIGYEL "eltakarja: TAKART) ]A eltakarja: [B]B eltakarja: [A C]C eltakarja: [B]D eltakarja: [ ]

Ha a függvénynek van paramétere, akkor eredménylistájában az összes olyan teknőc szerepel, amelynek alakja pillanatnyilag takarja az adott pontot.

TAKAR?

89

Page 90: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TAKAR? --- függvény 1 bemenő adattalTAKAR? teknőcTAKAR? teknőcök_listájaEredménye IGAZ, ha az első aktív teknőc pillanatnyilag takarja a bemenetként meg-adott teknőcöt.Takarásról akkor beszélünk, ha az első aktív teknőc alakjának (illetve ennek aktuális fá-zisának) és az adott teknőc alakjának legalább egy közös pontja van. Ne felejtsük el, hogy minden egyes fázis minden esetben azt a téglalapot határozza meg, mely az adott képet tartalmazza tehát ez az esetleg láthatatlan környezet is a fázishoz tartozik.Ha a bemenet teknőclista, akkor a függvény eredménye akkor IGAZ, ha az első aktív teknőc a listában felsorolt teknőcök közül legalább egyet takar. Különben a függvény eredménye HAMIS.Egy teknőc sohasem takarja önmagát. Ha egy teknőc nem LÁTHATÓ?, akkor nem ta-karhat más teknőcöt, s őt sem takarhatja egyetlen más teknőc sem. A teknőcök sorrendje a MIND eredménylistájában, semmiféle szerepet nem játszik itt: a takarás nincs tekin-tettel a teknőcök „korára. Tehát a függvény eredménye szempontjából nem lényeges az, hogy egy adott teknőc egy másik alatt, vagy felett helyezkedik el a képernyőn.? FIGYELJ 0? KI TAKAR? 0HAMIS ; egy teknőc sem takarja önmagát

TEKNŐCOLVASLISTA; TOLTEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvényTEKNŐCOLVASLISTAEgy szerkeszthető sor jelenik meg az első aktív teknőc aktuális pozíciójában (a teknőc pozíciójában lesz a vezérlő közepe). A Logo ekkor addig vár, amíg a felhasználó beír valami szöveget a szerkesztő-vezérlőbe, és lenyomja az Enter billentyűt. A szerkesztő-vezérlő ekkor bezáródik, és a begépelt szöveg adja a TEKNŐCOLVASLISTA függvény eredményét.A szerkesztő-vezérlőnek mindig egyszerű kerete van, és színe az első aktív teknőc aktu-ális tollszínétől és kitöltőszínétől függ. (Ha ezek a színek különbözőek, akkor a szöveg a vezérlőben a tollszínnel fog megegyezni, és háttérszíne lesz a kitöltőszínnel megegyező. Ha ezek azonosak, akkor a háttérszín az alapértelmezett Windows háttérszín lesz [általá-ban fehér] és a szöveg színe lesz az aktuális tollszín.)

TERÜLETTERÜLET --- bemenő adat nélküli függvényTERÜLETEredménye üres lista [ ], ha az első aktív teknőc által felhasználható terület, (melyen mozoghat, rajzolhat és írhat) pillanatnyilag azonos a rajzlappal. Ha már előzőleg módo-sítottuk az adott teknőc által használható területet, akár a KÖRKÖRÖSEN, akár az AB-LAK utasítással, a TERÜLET függvény eredménye egy olyan lista [X Y sz m], mely meghatározza az aktuális elérhető területet ennek bal felső sarkával [X Y], szélességével sz és magasságával m.

TFTOLLATFEL; TF --- bemenő adat nélküli utasításTOLLATFELAz utasítás hatására az összes aktív teknőc tolla felemelkedik a rajzlapról. Ezután az ak-tív teknőcök a rajzlapon való mozgás során nem jelölik útjukat vonallal.

90

Page 91: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az aktív teknőcök tollának állapotát a TOLL! utasítással változtathatjuk meg, igény sze-rint a TL, TRD vagy TVT bemenő paramétert használva. Ugyanez a hatás érhető el köz-vetlenül a TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ utasítások kiadásával.Az ÚJTEKNŐC utasítással létrehozott új teknőc tolla lent van, de a teknőc nem aktív. Az első aktív teknőc tollának állapotát a TOLL függvény eredménye adja meg. A TÖ-RÖLRAJZLAP utasítás nem változtatja meg a teknőcök tollának állapotát.

TANULD VÁLTOZÓ.TOLL

HA TOLL = "TL [TOLLATFEL] [TOLLATLE] ; ha lent van, emelje fel,VÉGE ; különben tegye le

TANULD ÚJ.SOKSZÖG :N :OLDAL :SZÖGISMÉTLÉS :N [VÁLTOZÓ.TOLL E :OLDAL J :SZÖG]

VÉGE

? ÚJ.SOKSZÖG 180 150 142

A teknőcök tollának összes jellemzőjét egyetlen lépésben is beállíthatjuk, ha a TOL-LÁLLAPOT! utasítást használjuk. Ha ezen jellemzők aktuális beállításait szeretnénk egyetlen függvény eredményeként megkapni, akkor érdemes a TOLLÁLLAPOT eljá-rást használni.

TLTOLLATLE; TL --- bemenő adat nélküli utasításTOLLATLEAz összes aktív teknőc tollát leteszi az utasítás. Ettől kezdve minden egyes aktív teknőc vonalat húz (az aktuális színével, vonalvastagságával és mintájával), amikor a rajzlapon mozog.Az aktív teknőcök tollának állapota a TOLL! utasítással változtatható meg, ha a megfe-lelő paraméterrel használjuk a következők közül TF, TRD vagy TVT. Hasonló ered-mény érhető el közvetlenül a TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ utasítá-sok használatával is.Amikor új teknőcöt hozunk létre az ÚJTEKNŐC utasítással, akkor ennek tolla lent van, de a teknőc nem aktív. Az első aktív teknőc tollának aktuális állapotát a TOLL függ-vény eredménye mutatja meg. A TÖRÖLRAJZLAP utasítás nem változtatja meg a tek-nőcök tollának állapotát.

? TL ; a 0 nevű teknőc letette a tollát

? KI TOLLTL? ÚJTEKNŐC "LIZA [ ]? FIGYELJ MIND

? TF ; minden teknőc felemelte a tollát

A teknőcök tollának összes jellemzőjét egyetlen lépésben is beállíthatjuk, ha a TOL-LÁLLAPOT! utasítást használjuk. Ha ezen jellemzők aktuális beállításait szeretnénk egyszerre lekérdezni, akkor érdemes a TOLLÁLLAPOT eljárást használni.

91

Page 92: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TLMTÖLTŐMINTA; TM --- bemenő adat nélküli függvényTÖLTŐMINTAEredménye az a töltőminta, amit előzőleg az első aktív teknőcnek beállítottunk. Ha nem határoztunk meg eddig kitöltőmintát az adott teknőcnek, akkor alapértelmezésben ez a teljes szín, melyet a 0 érték jelez.Ennek a függvénynek az eredményeként kapott mintát használja a TÖLT és a SOK-SZÖG utasítás is a kitöltés során. Az aktív teknőcök aktuális kitöltőmintája a TÖLTŐ-MINTA! utasítással állítható be.

TLM!TÖLTŐMINTA!; TLM! --- utasítás 1 bemenő adattalTÖLTŐMINTA! töltőmintaAz aktív teknőcök aktuális kitöltő mintáját definiálja, melyet később a TÖLT és a SOK-SZÖG utasítások kiadása esetén lálthatunk a képernyőn. Ha eddig még nem használtuk ezt az utasítást, akkor az aktuális kitöltő minta a 0.? ÚJTEKNŐC "PISTI [ 100 100 90 ]? FIGYELJ "PISTI? KI TLM0? TLM! 4? KI TLM4Az első aktív teknőc aktuális kitöltő mintáját a TÖLTŐMINTA függvény eredményéből olvashatjuk le.

TLSZTÖLTŐSZÍN; TLSZ --- bemenő adat nélküli függvényTÖLTŐSZÍNEredménye az a szín, melyet előzőleg az első aktív teknőc aktuális töltőszínének állítot-tunk be. Ha eddig semmilyen töltőszínt nem határoztunk meg a teknőcnek, akkor alap-értelmezésben a toll színével egyezik meg.A TÖLTŐSZÍN függvény eredményeként kapott színt használja a TÖLT és a SOK-SZÖG utasítás is a kitöltés során. Egy aktív teknőc aktuális töltőszíne a következőkép-pen állítható be:a TÖLTŐSZÍN! utasítással, vagy a teknőc tollszínének meghatározásával, akár az ÚJ-TEKNŐC ekkor a töltőszín fekete , akár közvetlenül a TOLLSZÍN! utasítás használatá-val.

? ÚJTEKNŐC "PÉTER [ 0 0 0 ]? FIGYELJ "PÉTER? KI TÖLTŐSZÍN0? TOLLSZÍN! 7? KI TOLLSZÍN7? KI TÖLTŐSZÍN7? TÖLTŐSZÍN! 11? KI TOLLSZÍN7? KI TÖLTŐSZÍN

92

Page 93: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

11

TLSZ!TÖLTŐSZÍN!; TLSZ! --- utasítás 1 bemenő adattalTÖLTŐSZÍN! színMeghatározza az összes aktív teknőc aktuális kitöltőszínét, melyet ezek később a TÖLT és a SOKSZÖG utasítások alkalmazása esetén használnak.Ha egy teknőc számára eddig még nem adtunk meg töltőszínt, akkor ez azonos lesz a teknőc tollszínével. Ezen utasítás azonban lehetővé teszi, hogy különböző színeket hasz-náljunk az alakzatok körvonalához, illetve ennek kitöltéséhez. Vigyázzunk arra, hogy valahányszor beállítjuk a teknőc tollszínét a TOLLSZÍN! utasítással, az aktuális kitöltő-szín ugyanerre a színre változik.Az első aktív teknőc aktuális töltőszínét a TÖLTŐSZÍN függvény eredményéből tudhat-juk meg.

? ÚJTEKNŐC 22 [ 100 100 180 ]? FIGYELJ 22? (KI TSZ TLSZ)0 0? TLSZ! 7? KI TLSZ7? TSZ! 11? (KI TSZ TLSZ)11 11

A kitöltés mintájának meghatározása a TÖLTŐMINTA! utasítással lehetséges.

TMTOLLMINTA; TM --- bemenő adat nélküli függvényTOLLMINTAEredménye az első aktív teknőc aktuális tollmintájának megfelelő szám.Az összes aktív teknőc tollmintáját a TOLLMINTA! utasítással változtathatjuk meg. Ha az ÚJTEKNŐC paranccsal létrehozott új teknőc esetén nem határozzuk meg a tollmintát, akkor a folytonos vonalt állítja be a rendszer.? KI TOLLMINTA ; ez az alapértelmezett beállítás

0? NÉV "P 0? ISMÉTLÉS 5 [ISMÉTLÉS 36 [E 170 B 10] NÖVEL "P TOLLMINTA! :P]

TM!TOLLMINTA!; TM! --- utasítás 1 bemenő adattalTOLLMINTA! tollmintaAz utasítás az összes aktív teknőc tollmintáját állítja be, mellyel ezek TOLLATLE álla-potban rajzolnak a következőkben.Az első aktív teknőc pillanatnyi tollmintáját a TOLLMINTA függvény eredményéből tudhatjuk meg. Ha az ÚJTEKNŐC eljárással létrehozott új teknőc számára nem határo-zunk meg tollmintát, akkor a rendszer a folytonos vonalat állítja be.

? TOLLMINTA! 3 ; csak a 0 nevű teknőcünk legyen? KI TOLLMINTA

93

Page 94: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

3

TOLTEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvényTEKNŐCOLVASLISTAEgy szerkeszthető sor jelenik meg az első aktív teknőc aktuális pozíciójában (a teknőc pozíciójában lesz a vezérlő közepe). A Logo ekkor addig vár, amíg a felhasználó beír valami szöveget a szerkesztő-vezérlőbe, és lenyomja az Enter billentyűt. A szerkesztő-vezérlő ekkor bezáródik, és a begépelt szöveg adja a TEKNŐCOLVASLISTA függvény eredményét.A szerkesztő-vezérlőnek mindig egyszerű kerete van, és színe az első aktív teknőc aktu-ális tollszínétől és kitöltőszínétől függ. (Ha ezek a színek különbözőek, akkor a szöveg a vezérlőben a tollszínnel fog megegyezni, és háttérszíne lesz a kitöltőszínnel megegyező. Ha ezek azonosak, akkor a háttérszín az alapértelmezett Windows háttérszín lesz [általá-ban fehér] és a szöveg színe lesz az aktuális tollszín.)

TOLLTOLL --- bemenő adat nélküli függvényTOLLEredményül a következő szavak egyikét kapjuk: TF, TL, TRD vagy TVT az első aktív teknőc tollának állapotától függően, azaz annak megfelelően, hogy ennek tolla TOL-LATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ módban van.Egy aktív teknőc tollának állapotát a TOLL! utasítással változtathatjuk meg, ha a követ-kező bemenetek valamelyikét használjuk TF, TL, TRD vagy TVT. Ugyanez a hatás ér-hető el közvetlenül a TOLLATFEL, TOLLATLE, TOLLRADÍR vagy TOLLVÁLTÓ utasítások használatával is.? KI KIFIGYEL0

? TVT ; azaz TOLLVÁLTÓ; a 0 nevű teknőc tollának állapota megváltozott

? KI TOLLTVT? ÚJTEKNŐC "JÚLIA [40 -20 115]

? KÉREM "JÚLIA [TOLL! KÉREM 0 [TOLL] ] ; legyen JÚLIA tolla ugyanolyan, ; mint a 0 nevű teknőcé

? KÉREM "JÚLIA [KI TOLL]TVT

Ha az első aktív teknőc tollának összes jellemzőjét egyetlen lépésben szeretnénk meg-kapni, akkor használjuk a TOLLÁLLAPOT eljárást. Érdemes megvizsgálni a TOLLÁL-LAPOT! utasítást is.

TOLL!TOLL! --- utasítás 1 bemenő adattalTOLL! szóahol a szó a következők egyike: TF, TL, TRD vagy TVTAz összes aktív teknőc tollának állapotát TOLLATFEL, TOLLATLE, TOLLRADÍR vagy TOLLVÁLTÓ állapotúra változtatja. Például a TOLL! "TL egyenértékű a TOL-LATLE, illetve egyszerűen a TL utasítással.

94

Page 95: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az első aktív teknőc tollának aktuális állapotát a TOLL függvény eredményéből olvas-hatjuk ki.

? ÚJTEKNŐC "KATI [-20 20 90]? KÉREM "KATI [KI TOLL]

TL ; az új teknőc tollának állapota mindig TL

? FIGYELJ "KATI

? TOLL! "TRD ; vagyis egyszerűen TRDA teknőcök tollának összes jellemzője egyetlen lépésben is beállítható a TOLLÁLLA-POT! utasítás alkalmazásával. Az első aktív teknőc tollának állapotáról összetett infor-máció nyerhető egyetlen mozdulattal, ha a TOLLÁLLAPOT eljárást használjuk.

TOLLATFEL; TF

TOLLATLE; TL

TOLLÁLLAPOTTOLLÁLLAPOT --- bemenő adat nélküli függvényTOLLÁLLAPOTEredményeként az első aktív teknőc tollának 4 aktuális beállítását tartalmazó listát ka-punk. A lista első eleme TL, TF, TRD vagy TVT, attól függően, hogy a teknőc tolla TOL-LATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ állapotban van. A második tag a toll pillanatnyi színét.A harmadik a toll pillanatnyi vonalvastagságát, A negyedik pedig aktuális mintáját ábrázolja. Ez a függvény lényegében a TOLL, TOLLSZÍN, TOLLVASTAGSÁG és TOLLMIN-TA függvények egy lépésben történő végrehajtásaként szerepelhet. Az összes fenti jel-lemző beállítása a TOLLÁLLAPOT! utasítással lehetséges.

? TOLLÁLLAPOT! [TF 10 6 1]? KI TOLLÁLLAPOT[TF 10 6 1]? KIÍR TOLLTF? KIÍR TSZ10? KIÍR TV6? KIÍR TM1

TOLLÁLLAPOT!TOLLÁLLAPOT --- bemenő adat nélküli függvényTOLLÁLLAPOTEredményeként az első aktív teknőc tollának 4 aktuális beállítását tartalmazó listát ka-punk.

95

Page 96: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A lista első eleme TL, TF, TRD vagy TVT, attól függően, hogy a teknőc tolla TOL-LATLE, TOLLATFEL, TOLLRADÍR vagy TOLLVÁLTÓ állapotban van. A második tag a toll pillanatnyi színét.A harmadik a toll pillanatnyi vonalvastagságát, A negyedik pedig aktuális mintáját ábrázolja. Ez a függvény lényegében a TOLL, TOLLSZÍN, TOLLVASTAGSÁG és TOLLMIN-TA függvények egy lépésben történő végrehajtásaként szerepelhet. Az összes fenti jel-lemző beállítása a TOLLÁLLAPOT! utasítással lehetséges.

? TOLLÁLLAPOT! [TF 10 6 1]? KI TOLLÁLLAPOT[TF 10 6 1]? KIÍR TOLLTF? KIÍR TSZ10? KIÍR TV6? KIÍR TM1

TOLLMINTA; TM

TOLLMINTA!; TM!

TOLLRADÍR; TRDTOLLRADÍR; TRD --- bemenő adat nélküli utasításTOLLRADÍRAz összes aktív teknőc tollállapotát megváltoztatja úgy, hogy ha ezek a rajzlapon mo-zognak, akkor letörlik (az aktuális vonalvastagságuknak megfelelő méretben) azokat a pontokat, melyeken áthaladnak. Egy adott pont törlése azt jelenti, hogy színe az aktuális háttérszínre változik.Az aktív teknőcök tollának állapota a TOLL! utasítással változtatható meg, ha a TF, TL vagy TVT bemenő adatok valamelyikével használjuk. Ugyanez a hatás érhető el közvet-lenül a TOLLATFEL, TOLLATLE vagy TOLLVÁLTÓ utasítás kiadásával. Az első ak-tív teknőc tollának aktuális állapotát a TOLL függvény eredménye mutatja meg. Az ak-tuális háttérszín beállítására a RAJZLAPSZÍN! utasítás szolgál.

? ISMÉTLÉS 4 [E 50 J 90]? TOLLRADÍR? ISMÉTLÉS 4 [E 50 J 90]? KI TOLLTOLLRADÍR? TOLLATLE

A teknőcök tollának összes jellemzőjét egyetlen eljárás segítségével is beállíthatjuk, ha a TOLLÁLLAPOT! utasítást használjuk. Ha ezen jellemzők aktuális beállításaira va-gyunk kíváncsiak egyetlen lépésben, akkor érdemes a TOLLÁLLAPOT függvényt hasz-nálni.

TOLLSZÍN; TSZTOLLSZÍN; TSZ --- bemenő adat nélküli függvény

96

Page 97: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TOLLSZÍNEredménye az első aktív teknőc tollának aktuális színe. Az összes aktív teknőc tollszínét a TOLLSZÍN! utasítással állíthatjuk be. Ha az ÚJTEKNŐC utasítással egy új teknőcöt hozunk létre, akkor ennek alapértelmezett tollszíne fekete, amit a 0 érték jelöl.Figyeljünk arra, hogy ha egy teknőc tollszíne RGB kevert szín, akkor csak abban az esetben látjuk a rajzot ennek megfelelő színben, ha a vonalvastagsága 1-nél nagyobb, lásd a TOLLVASTAGSÁG! utasítást is.? KI TSZ0? ÚJTEKNŐC 1 [-10 0 0]? FIGYELJ [0 1]? TSZ! 7? EGYMÁSUTÁN [KIÍR TSZ]77

A teknőcök tollának összes jellemzőjét egyetlen lépésben is beállíthatjuk, ha a TOL-LÁLLAPOT! utasítást használjuk. Ha ezen jellemzők aktuális beállításait szeretnénk egyszerre megtudni, akkor érdemes a TOLLÁLLAPOT eljárást használni.

TOLLSZÍN!; TSZ!TOLLSZÍN!; TSZ! --- utasítás 1 bemenő adattalTOLLSZÍN! színA bemenetnek megfelelően definiálja az összes aktív teknőc aktuális tollszínét. Az első aktív teknőc tollának aktuális színét a TOLLSZÍN függvény eredményeként kapjuk meg. A teknőcök csak abban az esetben rajzolnak a rajzlapon (az aktuálisan be-állított színnel, mintával és vonalvastagsággal), ha aktívak, és tolluk TOLLATLE mód-ban van (illetve TOLLVÁLTÓ módban, melyben különleges hatások érhetők el).Jegyezzük meg, hogy ha a teknőc tollszíne RGB kevert szín, akkor a teknőc által rajzolt vonalak csak akkor jelennek meg valóban RGB színű vonalakként a rajzlapon, ha a toll vonalvastagsága nagyobb 1-nél.A teknőcök tollának összes jellemzőjét egyetlen lépésben is meghatározhatjuk a TOL-LÁLLAPOT! utasítás alkalmazásával. Az első aktív teknőc tollának összes jellemzőjét egyetlen mozdulattal megkapjuk, ha a TOLLÁLLAPOT eljárást használjuk.

TOLLVASTAGSÁG; TVTOLLVASTAGSÁG!; TV! --- utasítás 1 bemenő adattalTOLLVASTAGSÁG! tollvastagságA bemenetnek megfelelően definiálja az összes aktív teknőc aktuális tollvastagságát.Az első aktív teknőc aktuális tollvastagságát a TOLLVASTAGSÁG függvény eredmé-nyeként kapjuk meg. A teknőcök csak abban az esetben rajzolnak a rajzlapra (a pillanat-nyilag beállított színnel, mintával és vonalvastagsággal), ha éppen aktívak és tolluk TOLLATLE állapotban van (illetve TOLLVÁLTÓ állapotban, melyben különleges ha-tások érhetők el). Az ÚJTEKNŐC utasítással újonnan létrehozott teknőcök tollvastagsá-ga 1.

? KI TV1? ISMÉTLÉS 5 [E 30 TV! TV * 3]

TOLLVASTAGSÁG!; TV!TOLLVASTAGSÁG!; TV! --- utasítás 1 bemenő adattal

97

Page 98: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TOLLVASTAGSÁG! tollvastagságA bemenetnek megfelelően definiálja az összes aktív teknőc aktuális tollvastagságát.Az első aktív teknőc aktuális tollvastagságát a TOLLVASTAGSÁG függvény eredmé-nyeként kapjuk meg. A teknőcök csak abban az esetben rajzolnak a rajzlapra (a pillanat-nyilag beállított színnel, mintával és vonalvastagsággal), ha éppen aktívak és tolluk TOLLATLE állapotban van (illetve TOLLVÁLTÓ állapotban, melyben különleges ha-tások érhetők el). Az ÚJTEKNŐC utasítással újonnan létrehozott teknőcök tollvastagsá-ga 1.

? KI TV1? ISMÉTLÉS 5 [E 30 TV! TV * 3]

TOLLVÁLTÓ; TVTTOLLVÁLTÓ; TVT --- bemenő adat nélküli utasításTOLLVÁLTÓAz összes aktív teknőc tollának működését megváltoztatja. Miközben a rajzlapon mo-zog a teknőc, invertálja (az aktuális vonalvastagság méretének megfelelően) azon pon-tok színét, melyeken áthalad. Az invertálás alatt az a folyamat értendő, melyben a pon-tok színe az eredeti pontszínnek, valamint a toll és a háttér színének megfelelően meg-változik. A tollnak ez az állapota igen érdekes hatást okoz, a toll és a háttér pillanatnyi színkombinációjától függően.Legyen a RAJZLAPSZÍN, vagyis a háttér színe fehér, és a teknőc tollszíne fekete. Raj-zoljunk először TOLLATLE módban, majd változtassuk a toll állapotát TOLLVÁLTÓ módra, a toll színét fehérre és folytassuk a rajzolást:

? TR RA TL? TV! 15 TSZ! 0

? ISMÉTLÉS 300 [E VSZ 130 J VSZ 360]; összefirkálja a képernyőt

? TV! 20 TSZ! 15 ; fehérre állítjuk a toll színét

? TVT? ISMÉTLÉS 300 [E VSZ 130 J VSZ 360]

Az aktív teknőcök tollának állapota a TOLL! utasítás alkalmazásával változtatható meg a megfelelő paramétert használva. Ugyanez a hatás érhető el közvetlenül a TOLLAT-FEL, TOLLATLE vagy TOLLRADÍR utasítások használatával is. Az első aktív teknőc tollának pillanatnyi állapotát a TOLL függvény eredménye mutatja.A teknőcök tollának összes jellemzőjét egyetlen lépésben is beállíthatjuk, ha a TOL-LÁLLAPOT! utasítást használjuk. Ha ezen jellemzők aktuális beállításait szeretnénk egyszerre lekérdezni, akkor érdemes a TOLLÁLLAPOT eljárást használni.

TÖLTTÖLT --- bemenő adat nélküli utasításTÖLTAz összes aktív teknőc kitölti az őt körülvevő környezetet az aktuális töltőszínével és töltőmintájával, a pillanatnyi kitöltő stratégiát alkalmazva.

98

Page 99: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az aktív teknőcök mindegyikénél a TÖLTŐSZÍN! utasítás használatával állíthatjuk be a kitöltés színét. Amíg ezt az utasítást nem használjuk, a töltőszín mindig az aktuális toll-színnel egyezik meg. Az első aktív teknőc aktuális töltőszínét a TÖLTŐSZÍN függvény eredményéből olvashatjuk ki. Az összes aktív teknőc kitöltőmintájának beállítására a TÖLTŐMINTA! utasítás szolgál. Az első aktív teknőc töltőmintáját a TÖLTŐMINTA függvénnyel kérdezhetjük le. A kitöltési stratégia beállítására a TÖLTŐMÓD! utasítás ad lehetőséget.A kitöltőminta és -szín fenti beállításait használja a SOKSZÖG utasítás is.

TÖLTŐMÓD!TÖLTŐMÓD! --- utasítás 1 bemenő adattalTÖLTŐMÓD bemenetahol a bemenet vagy 0, vagy 1Az aktív teknőcök kitöltési stratégiáját határozza meg:a TÖLTŐMÓD 0 azt a stratégiát állítja be, amely esetén az aktív teknőc az adott terület (vagyis saját környezete) színétől különböző színnel vagy színekkel határolt területet tölti ki. (Pontosabban: a környező terület definíciója ebben az esetben nem más, mint a teknőcöt körülvevő folyamatos, homogén terület, melyen belül az összes pont színe megegyezik a teknőc aktuális pozíciójában lévő pont színével, amit a PONTSZÍN függ-vény eredményeként kaphatunk meg.) Használjuk gondosan ezt a függvényt, ugyanis ha a terület határán „rés van, akkor a szín ezen keresztül „kifolyhat a külső környezetbe is, és így nagyobb területet, vagy akár az egész rajzlapot is kitölthetjük véletlenül. A Co-menius Logóban az összes teknőc számára ez a stratégia az alapbeállítás,a TÖLTŐMÓD 1 azt a stratégiát állítja be, amely esetén az aktív teknőc azt a területet (vagyis saját környezetét) tölti ki, amely határvonalának színe valamely aktív teknőc tollszínével egyezik meg. Ebben a stratégiában a terület tetszőleges számú más színt is tartalmazhat, mégis az egész területet ki fogja tölteni. Ha pillanatnyilag nincs ilyen határ a rajzlapon, akkor az egész lapot kifesti az adott színnel.Bármely teknőc használhatja akár a 0, akár az 1 stratégiát. Ha nem használjuk a TÖL-TŐMÓD utasítást, akkor az összes teknőc a szélesebb körben elterjedt 0 stratégiával töl-ti ki a területeket. (Ezt használja például a Paintbrush alkalmazás is.) A kiválasztott töl-tőmód nem befolyásolja a SOKSZÖG utasítást.

TÖLTŐMINTA; TLM

TÖLTŐMINTA!; TLM!

TÖLTŐSZÍN; TLSZ

TÖLTŐSZÍN!; TLSZ!

TÖRÖLMUNKATÖRÖLMUNKA --- bemenő adat nélküli utasításmindent törölTÖRÖLMUNKATörli az összes memóriaobjektumot és az összes teknőcöt, lefuttatja az új SLOGO.INI fájlt ha ez létezik a Logo alapkönyvtárában.

99

Page 100: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Letörli a rajzlapot is, és alapállapotba hozza az egész Logót (ennek ablakát is, a LOGO-ABLAK! [ ] utasítás végrehajtásával), pontosan úgy, mintha kiléptünk volna a Logóból, és újra elindítottuk volna.Miután minden objektumot letörölt, minden beállítást az eredeti értékére változtat: egyetlen teknőc lesz, melynek neve 0, alapkoordinátái [0 0], iránya észak, LÁTHATAT-LAN, és tolla lent van. A Fő-ablak OSZTOTTABLAK módban lesz, az íróablakban 6 sor látszik, és a Memóriában egyetlen saját objektum sem található (azaz a TÖRÖL-MUNKA még az ELFED utasítással rejtetté tett objektumokat is törli).

TÖRÖLRAJZTÖRÖLRAJZ --- bemenő adat nélküli utasításTÖRÖLRAJZTörli a rajzlap tartalmát, vagyis lefedi az aktuális háttérszínnel.Ellentétben a TÖRÖLRAJZLAP utasítással, a TÖRÖLRAJZ nem változtatja meg az aktív teknőcök aktuális irányát, koordinátáit, illetve tollának állapotát. Az aktuális hát-térszín lekérdezése a RAJZLAPSZÍN függvény, megváltoztatása pedig a RAJZLAP-SZÍN! utasítással lehetséges.

TÖRÖLRAJZLAP; TRTÖRÖLRAJZLAP; TR --- bemenő adat nélküli utasításTÖRÖLRAJZLAPTörli a rajzlap tartalmát, vagyis lefedi azt az aktuális RAJZLAPSZÍN-nel.Minden teknőcöt az alapkoordinátáiba visz (anélkül, hogy vonalat húznának), és az alapirányába állít be, annak megfelelően, ahogy ezeket az ÚJTEKNŐC utasítással meg-adtuk. Az aktív teknőcök listáját nem módosítja. A teknőcök látható, illetve láthatatlan állapotát nem változtatja meg lásd a LÁTHATATLAN és LÁTHATÓ utasításokat. Ugyancsak nem módosítja a teknőcök tollának színét, mintáját, vonalvastagságát és állapotát (ez utóbbi alatt a toll lent/toll fent állapot értendő).Vizsgáljuk figyelmesen a TÖRÖLRAJZ, az ALAPHELYZET és a TÖRÖLRAJZLAP utasítások közötti különbségeket.Más lehetőségek:az Ablak menü Rajzlapot töröl utasítása a Fő-ablakban, a jobb egérgomb lenyomása a rajzlap területén, majd a felbukkanó helyi menüből a Rajzlapot töröl utasítás kiválasztá-sa.

TÖRÖLTEKNŐCTÖRÖLTEKNŐC --- utasítás 1 bemenő adattalTÖRÖLTEKNŐC teknőcTÖRÖLTEKNŐC teknőcök_listájaTörli az adott teknőcöt, illetve teknőcöket, ha azok léteznek. Legyünk óvatosak: a 0 nevű teknőc is törölhető! A teknőcök törlése azt jelenti, hogy eltávolítja őket a MIND listájából. Ahhoz, hogy csak az aktív teknőcök listájából távolítsuk el, használjuk a FI-GYELJ utasítást.Ha a 0 teknőcöt töröljük, akkor a következő ALAPHELYZET vagy TÖRÖLMUNKA utasítás végrehajtásával újra létrehozzuk, ennek alapkoordinátáiban, a [0 0] -ban és az alapirányával, ami 0 fok, azaz egyenesen észak felé néz. Új teknőc létrehozásához hasz-náljuk az ÚJTEKNŐC utasítást.

TR

100

Page 101: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TRD

TSZ

TSZ!

TV

TV!

TVT

ÚJRASOROLÚJRASOROL --- utasítás 1 bemenő adattalÚJRASOROL teknőcök_listájaA MIND eredménylistájaként megkapható, az összes teknőcöt tartalmazó listának egy új sorrendjét határozhatjuk meg a függvény segítségével. A sorrend változása hatással van a pillanatnyilag aktív teknőcök listájára is, amit a KIFIGYEL eredménylistájaként kapunk. Ha a bemenet a [teknőc1 teknőc2 ... teknőcN] lista és ennek minden eleme vagy aktív, vagy passzív teknőc, akkor a teknőc1 lesz a MIND lista első eleme, teknőc2 a má-sodik eleme stb. Az első teknőc, ami pillanatnyilag aktív a teknőc1, ... teknőcN közül, lesz a KIFIGYEL lista első eleme, vagyis ez lesz az első aktív teknőc.Ha az ÚJRASOROL bemenő listája nem tartalmazza az összes létező teknőc nevét, ak-kor a fel nem sorolt teknőcök közötti sorrend változatlan marad a MIND és a KIFI-GYEL listákon belül, csak jobbra tolódnak el.Emlékezzünk, hogy:sok Logo-utasításban találkozunk az első aktív teknőc fogalmával, a RÁKATTINTOTT függvény a legifjabb teknőc fogalmát használja. A teknőcök „kora határozza meg a „teknőcalakok sorrendjét is, amikor fedik egymást a képernyőn, tehát ettől függ, hogy melyik teknőc lesz a másik mögött.A szép animációs hatások eléréséhez érdemes megváltoztatni az ÚJRASOROL utasítás-sal a teknőcök sorrendjét. Ezzel mi magunk határozhatjuk meg azt, hogy melyik teknőc legyen látható a többi felett, amikor ezek a rajzlapon mozognak.Legyen 5 teknőcünk, s ezek közül 2 aktív. Ekkor:

? KI MIND

[0 1 2 3 4] ; az összes teknőc? KI KIFIGYEL[1 3] ; az aktív teknőcök? ÚJRASOROL [3 4 2]? KI MIND[3 4 2 0 1] ; most az 1 nevű a legifjabb teknőc? KI KIFIGYEL[3 1] ; most a 3 nevű az első aktív teknőc

ÚJTEKNŐCÚJTEKNŐC --- utasítás 2 bemenő adattalÚJTEKNŐC szó [ ]ÚJTEKNŐC szó [ szám1 szám2 szám3 ]ÚJTEKNŐC szó [ szám1 szám2 szám3 ... szavak alak ]

101

Page 102: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ahola ... szavak ... tetszőleges szavak a következők közül: TF, TL, TRD, TVT, TOL-LATFEL, TOLLATLE, TOLLRADÍR, TOLLVÁLTÓ, LÁTHATÓ, LÁTHATATLAN, FIGYELJ, vagy ANIMÁCIÓSMÓD!, ésaz alak képsor, "LGW_fájl, vagy képsor értékű :változóEgy olyan új teknőcöt hoz létre, melynek az adott szó lesz a neve, és minden további be-menő adat az aktuális beállításait határozza meg.Ha a második bemenet üres lista [ ], akkor az utasítás a következővel egyenértékű: ÚJ-TEKNŐC szó [0 0 0]. Ha a második paraméter nem üres, akkor az első két szám [szám1 szám2 ] a teknőc új alapkoordinátáit, a szám3 új alapirányát határozza meg. Ha a második paraméternek nincs több eleme, akkor a teknőc minden további beállítása az alapértékét veszi fel, azaz:tollának színe 0,tollának vonalvastagsága 1,tollának állapota TOLLATLE,a teknőc LÁTHATATLAN,a teknőc alakja az alapalak, későbbi megváltoztatása az ALAK! utasítással lehetséges,a teknőc írásmódja az alapértelmezett, megváltoztatásához az ÍRÁS! utasítás használha-tó.Ha a második paraméterben további szavak szerepelnek, illetve megadjuk az alakot is, akkor ezek segítségével azonnal meghatározhatunk néhány alapbeállítást:a toll állapotát a TF, TL, TRD és TVT rövidítésekkel, illetve a megfelelő teljes szavak-kal, a teknőc megjelenítését a LÁTHATÓ vagy a LÁTHATATLAN szavakkal, aktívvá tehető a teknőc a FIGYELJ szó használatával, a teknőc aktuális alakja, ha az alakot is meghatározzuk.Lehetőségünk van arra, hogy a rendszer által beállított alapalakot megváltoztassuk, ha az alábbiak közül valamelyik sort beszúrjuk az SLOGO.INI fájlba. Ebben az esetben minden újonnan létrehozott teknőc akármilyen alakot kapja aktuális alakjaként, ha mi másként nem határozunk:

KÉREM [ ] [ALAK! ... akármi alak ... ] vagyFIGYELJ [ ] ALAK ... akármi alak... FIGYELJ 0

Amikor a Logo elindul, akkor egyetlen teknőc létezik, a 0 nevű (s ez aktív, lásd a KIFI-GYEL és a FIGYELJ eljárásokat). Ennek alapkoordinátái [0 0] és alapiránya 0, azaz északra néz.Ha a teknőc szó már létezik, akkor az ÚJTEKNŐC utasítás csak azokat a beállításokat definiálja újra, melyek a bemenetben szerepelnek. Az egyetlen kivétel ez alól a szabály alól az, hogy ha nem adjuk meg az alapkoordinátákat és az alapirányt meghatározó 3 számot, akkor ezen beállítások mindig a következő értékeket veszik fel: az alapkoordi-náták a [0 0], vagyis a teknőc az origóban lesz, és alapiránya 0, vagyis észak felé fog nézni.A teknőcök maximális száma 4000. A teknőcök a TÖRÖLTEKNŐC vagy a TÖRÖL-MUNKA utasításokkal törölhetők.

XXHELY X --- bemenő adat nélküli függvényXHELYEredményeként az első aktív teknőc aktuális pozíciójának X koordinátáját kapjuk.Az aktív teknőcök pillanatnyi X koordinátáját az XHELY! utasítással változtathatjuk meg. Ezek pozíciója az ELŐRE, a HÁTRA, a HELY!, az XYHELY!, az YHELY! , a TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA utasításokkal is megváltoztatható.

102

Page 103: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? ÚJTEKNŐC "PETRA [100 -50 135]? KÉREM "PETRA [KI XHELY]100

Figyeljük meg, hogy az XHELY egyenértékű az ELSŐ HELY függvénnyel.

X!XHELY!; X! --- utasítás 1 bemenő adattalXHELY! számVízszintesen elmozdítja az aktív teknőcöket a szám által meghatározott új X koordinátá-ba. Az XHELY! sem a teknőc aktuális irányát, sem ennek Y koordinátáját nem változ-tatja meg. Ha a teknőc tolla TOLLATLE állapotban van, akkor eredeti és új pozícióját vonallal köti össze.Az első aktív teknőc aktuális X koordinátáját az XHELY függvény eredményéből tud-hatjuk meg. Ennek pillanatnyi pozícióját a HELY függvény eredménye adja meg. Az XHELY!, az XYHELY!, az YHELY! és a HELY! utasítások mellett az ELŐRE, a HÁTRAa TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA utasítások hatására is megválto-zik az aktív teknőcök helyzete.Jegyezzük meg, hogy az XHELY! szám egyenértékű a HELY! M szám YHELY utasí-tással.

? ÚJTEKNŐC 1 [ ] ; itt az [ ] jelentése [0 0 0]

? ÚJTEKNŐC 2 [ ]? FIGYELJ [0 1 2]? EGYMÁSUTÁN [XHELY! 30*KIFIGYEL-30]? EGYMÁSUTÁN [KI HELY][-30 0][0 0][30 0]

XHELY; X

XHELY!; X!

XY!XYHELY!; XY! --- utasítás 2 bemenő adattalXYHELY! szám1 szám2Elmozdítja az aktív teknőcöket a szám1 és szám2 által meghatározott X Y koordinátájú pontba. Az XYHELY! nem változtatja meg a teknőcök aktuális irányát. Ha a teknőc tol-la TOLLATLE állapotú, akkor eredeti és új pozícióját vonallal köti össze.Az első aktív teknőc pillanatnyi pozícióját a HELY függvény eredménye adja meg. Az XHELY!, az XYHELY!, az YHELY! és a HELY! utasítások mellett az ELŐRE, a HÁTRA, a TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA utasítások hatására is megváltozik az aktív teknőcök pozíciója.Jegyezzük meg, hogy az XYHELY! szám1 szám2 egyenértékű a HELY! M szám1 szám2 utasítással.

? ÚJTEKNŐC 1 [ ] ; itt az [ ] jelentése [0 0 0]

? ÚJTEKNŐC 2 [ ]

103

Page 104: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? FIGYELJ [0 1 2]? EGYMÁSUTÁN [XYHELY! 30 * KIFIGYEL 30 * KIFIGYEL]? EGYMÁSUTÁN [KI HELY][0 0][30 30][60 60]

XYHELY!; XY!

YYHELY Y --- bemenő adat nélküli függvényYHELYEredményeként az első aktív teknőc aktuális pozíciójának Y koordinátáját kapjuk.Az aktív teknőcök aktuális Y koordinátáját az YHELY! utasítással változtathatjuk meg. Ezek pozíciója az ELŐRE, a HÁTRA, a HELY!az XYHELY!, az XHELY!, a TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA uta-sításokkal is megváltoztatható.

? ÚJTEKNŐC "PETRA [100 -50 135]? KÉREM "PETRA [KI YHELY]-50Jegyezzük meg, hogy az YHELY egyenértékű az UTOLSÓ HELY függvénnyel.

Y!YHELY! --- utasítás 1 bemenő adattalYHELY! számFüggőlegesen elmozdítja az aktív teknőcöket a szám által meghatározott új Y koordiná-tába. Az YHELY! sem a teknőc aktuális irányát, sem ennek X koordinátáját nem változ-tatja meg. Ha a teknőc tolla TOLLATLE állapotban van, akkor eredeti és új pozícióját vonallal köti össze.Az első aktív teknőc aktuális Y koordinátáját az YHELY függvény eredményéből is-merhetjük meg. Ennek aktuális pozícióját a HELY függvény adja értékül. Az XHELY!, az XYHELY!, az YHELY!, és a HELY! utasítások mellett az ELŐRE, a HÁTRA, a TÖRÖLRAJZLAP, az ALAPHELYZET és a HAZA utasítások hatására is megváltozik az aktív teknőcök helyzete.Jegyezzük meg, hogy az YHELY! szám és a HELY! M XHELY szám eljárások ered-ménye azonos.

? ÚJTEKNŐC 1 [ ] ; itt az [ ] jelentése [0 0 0]

? ÚJTEKNŐC 2 [ ]? FIGYELJ [0 1 2]? EGYMÁSUTÁN [YHELY! 30 * KIFIGYEL - 30]? EGYMÁSUTÁN [KI HELY][0 -30][0 0][0 30]

YHELY; Y

104

Page 105: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Képsorok feldolgozása

ALAKALAK --- bemenő adat nélküli függvényALAKEredménye az a képsor, mely pillanatnyilag az első aktív teknőc alakjaként használatos. Ha ennek aktuális alakja több, mint 1 fázisból áll, akkor az összes fázis, azaz a teljes képsor a függvény eredménye.Ahhoz, hogy az összes aktív teknőc alakját megváltoztassuk, használjuk az ALAK! uta-sítást.

? KI KIFIGYEL[0 1 2]? KI KÉPSOR? ALAKIGAZ

? NÉV "ALAKOM ALAK ; a 0 nevű teknőc alakja? KÉREM 2 [ALAK! :ALAKOM] ; legyen a 2 teknőc alakja

; ugyanaz, mint a 0-é

? TÖRÖLTEKNŐC MIND? NÉV "ÚJ_ALAK KÉREM 2 [ALAK]HIBA: A(z) kérem eljárás nem ismeri a(z) 2 nevű teknőcöt.

ALAK!ALAK! --- utasítás 1 bemenő adattalALAK! képsorALAK! LGW_fájlALAK! [ ]A továbbiakban az összes pillanatnyilag aktív teknőc alakjaként az adott képsort fogja használni.

Fázisok használataHa a bemenet egy LGW fájl neve, akkor az utasítássor a következővel egyenértékű:

? ALAK! BETÖLTKÉPSOR "LGW_fájl [ ]

tehát magában foglalja a BETÖLTKÉPSOR függvény végrehajtását is. Ha a fájlnévben nem szerepel kiterjesztés, akkor a rendszer automatikusan az .LGW kiterjesztést csatolja a fájlnévhez. Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel útvonal, akkor az alapkönyvtár KÉPSOR alkönyvtárában keresi a megfe-lelő fájlt. Ennek a beállításnak a megváltoztatására szolgál az ÚT! utasítás a "KÉPSOR első bemenettel.Az a képsor, melyet rendes körülmények között a Logo teknőcök alapalakjaként haszná-lunk (a 24 fázist tartalmazó kis háromszög), a "TEKNOC.LGW fájlban van elmentve. Tehát az ÚJTEKNŐC utasítással létrehozott teknőcöket ezzel az alakkal ábrázolja a rendszer, ha máshogy nem rendelkezünk.

105

Page 106: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A teknőcök alapalakjának átdefiniálásához az SLOGO.INI fájlba kell a következő soro-kat beírnunk:

FIGYELJ [ ]ALAK! új_alapalak

ÚJTEKNŐC 0 ... ; stb.FIGYELJ 0

Ha a bemenet egy [ ] üres lista, akkor az összes aktív teknőc aktuális alakja az alapala-kot veszi fel (mely vagy a Logo által meghatározott kis háromszög, vagy az SLO-GO.INI fájlban meghatározott új alapalak).

ALAKSZÍNALAKSZÍN --- bemenő adat nélküli függvényALAKSZÍNEredménye az első aktív teknőc aktuális aktív alakszíne, vagyis egy 0 és 15 közé eső egész szám, vagy az üres lista [ ], ha az első aktív teknőc számára nem határoztunk meg aktív alakszínt.Új teknőc létrehozásakor (az ÚJTEKNŐC utasítással vagy a jobb egérgombbal való kat-tintással a rajzlapon) a teknőcnek nem lesz aktív alakszíne, amíg mi meg nem határoz-zuk azt az ALAKSZÍN! utasítással.

ALAKSZÍN!ALAKSZÍN! --- utasítás 1 bemenő adattalALAKSZÍN! színALAKSZÍN! [ ]Az aktív teknőcök aktív alakszínét határozza meg. A bemenő színnek a 16 alapszín egyikének kell lennie. Ha a bemenet [ ] üres lista, akkor az összes aktív teknőc aktív alakszínét „Nem-re állítja be, tehát ettől kezdve ezen teknőcök számára nem lesz aktív alakszín meghatározva. Ebben az esetben az ALAKSZÍN függvény eredménye szintén [ ] lesz.Jegyezzük meg, hogy bár az aktív alakszínnek a 16 alapszín egyikének kell lennie, az alakon belül helyettesíthető (a TOLLSZÍN! utasítással) bármilyen RGB színnel.

ANIMÁCIÓSMÓD!ANIMÁCIÓSMÓD! --- utasítás 1 bemenő adattalANIMÁCIÓSMÓD! logikaiAzt a módot határozza meg, hogy az aktív teknőcök alakja, illetve ezek fázisai milyen stratégiának megfelelően jelölik a teknőcöt. Az alapbeállítás mindig az ANIMÁCIÓS-MÓD! HAMIS. Ebben az esetben a teknőc aktuális alakjaként használt képsor fázisait a teknőc aktuális irányának ábrázolására használja. (Ekkor tehát, ha LÁTHATÓ? a teknőc, akkor mindig az irányának megfelelő fázis jelöli őt.)Fázisok használataAz ANIMÁCIÓSMÓD! IGAZ beállítást akkor használjuk, amikor a képernyőn animá-ciót szeretnénk létrehozni. Ebben a módban a fázisok függetlenek a teknőcök aktuális irányától, mi magunk határozhatjuk meg a FÁZIS! utasítás segítségével, hogy a teknő-cöt mikor melyik fázis jelölje rajzlapon.Az ANIMÁCIÓSMÓD! (egy bemenet nélküli szó) az ÚJTEKNŐC utasítás második pa-raméterén belül közvetlenül is használható, például:

106

Page 107: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ÚJTEKNŐC "TEKI [0 0 180 TF ANIMÁCIÓSMÓD! LÁTHATÓ]

A fenti sor szerint a TEKI nevű új teknőc animálható teknőc lesz, azaz a teknőc ANI-MÁCIÓSMÓD! IGAZ állapotú lesz. Hasonlítsuk össze ezt az eljárást a SZÖVEGDOBOZMÓD! utasítással.

BETOLDKÉPBETOLDKÉP --- utasítás 1 bemenő adattalBETOLDKÉP képsorBETOLDKÉP LGW_fájlMinden egyes aktív teknőc kinyomtatja a rajzlapra a bemenetként szereplő képsor, illet-ve a bemenő LGW_fájlban tárolt képsor első fázisát.A képsor első fázisának tollpontja az aktív teknőc aktuális pozíciójában lesz, melyet a HELY utasítás eredményeként tudhatunk meg, így tehát meghatározhatjuk a fázis pon-tos elhelyezkedését a rajzlapon.Amikor a képsort kirajzoltuk a BETOLDKÉP utasítással, akkor ez a rajzlap részévé vá-lik, és nem lehet eltávolítani róla többé, csak magának a lapnak a törlésével. Az aktív teknőcök aktuális alakját is kirajzolhatjuk a rajzlapra a LENYOMAT utasítás alkalma-zásával.Az aktív teknőcök aktuális iránya itt nem játszik szerepet: a képsort mindig a normális, „talpon álló helyzetben rajzolják ki a teknőcök.

? ÚJTEKNŐC 0 [-20 0 0]? ÚJTEKNŐC 1 [20 0 0]? FIGYELJ MIND? TF? LÁTHATÓ? NÉV "AUTÓ BETÖLTKÉPSOR "AUTO [ ]? ISMÉTLÉS 5 [E VSZ 100 J VSZ 180 BETOLDKÉP :AUTÓ]

BETÖLTKÉPSORBETÖLTKÉPSOR --- függvény 2 bemenő adattalBETÖLTKÉPSOR LGW_fájl [ ]BETÖLTKÉPSOR LGW_fájl intervallumEredménye az adott fájl által tartalmazott képsor. Ha nem akarjuk az egész LGW fájlt betölteni, és így a BETÖLTKÉPSOR eredményeként látni, az intervallum, konkrétan a [szám1 szám2] paraméter segítségével meghatározhatjuk a fájl megfelelő részét. Az interval-lumbeli szám1-gyel megadható, hogy a lemezen levő fájl hányadik fázisa legyen első-ként betöltve; a szám2 pedig az egymást követő fázisok számát írja elő. Az üres [ ] be-menet azt jelenti, hogy a fájlban elmentett képsor egészét be kell tölteni.Ha a fájlnév csak részleges útvonalat tartalmaz, vagy egyáltalán nem tartalmaz útvona-lat, akkor az alapkönyvtár KEPSOR alkönyvtárában keresi a rendszer az adott fájlt. En-nek a beállításnak a megváltoztatása az ÚT! utasítás használatával lehetséges, ha első bemeneteként a "KEPSOR szót adjuk. Az aktuális beállítást az ÚT függvény eredmé-nyéből olvashatjuk ki, ha bemenetként szintén a "KEPSOR szót használjuk.Ha a fájlnévben nem szerepel kiterjesztés, akkor a BETÖLTKÉPSOR automatikusan az .LGW-t adja hozzá. Egy képsor fájlba mentésére szolgál a MENTKÉPSOR utasítás. Egy adott képsort egy teknőc új alakjának adhatjuk, ha az ALAK! utasítást használjuk.

107

Page 108: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? NÉV "ÚJ BETÖLTKÉPSOR "AUTO [1 2]? KI :ÚJ{képsor2}? ALAK! :ÚJ

Színmódosulások grafika kimentésénél és betöltésénél

BETÖLTRAJZBETÖLTRAJZ --- függvény 1 bemenő adattalBETÖLTRAJZ BMP_fájlEredménye egy képsor, melyet a bemenő rajzból alakít át. Az eredményképsor mindig egyetlen fázisból áll.A BETÖLTRAJZ függvény bármilyen (például a Paintbrush-ban készült) rajz képsorrá való átalakítását lehetővé teszi, mely a transzformáció után elhelyezhető a rajzlapon a BETOLDKÉP utasítással, vagy megjelölhető egy változó értékeként a NÉV utasítással, illetve egy teknőc alakjaként alkalmazható az ALAK! utasítás használatával. Ha az ere-deti rajz nagyobb, mint a maximális képsorméret, akkor ennek csak 255 x 255 képpont-ját veszi figyelembe a rendszer a bal felső sarkától kezdődően. Ez a pont válik az ered-ményképsor tollhelyévé is, lásd a KIHASÍTKÉP függvényt. Az egész képsor nemátlát-szó lesz. Ennek megváltoztatása a Logo Képsorszerkesztőjének alkalmazásával lehetsé-ges.

? NÉV "VALAMI BETÖLTRAJZ "%KEPSOR\\CICA.BMP? KIÍR KÉPSOR? :VALAMIIGAZ? KIÍR :VALAMI{képsor1}

Ha a fájlnévben nem adunk meg kiterjesztést, akkor automatikusan a .BMP kiterjesztést használja a rendszer. Ha a fájlnév csak részleges útvonalat tartalmaz, vagy egyáltalán nem tartalmaz útvonalat, akkor a munkakönyvtárban keresi a rendszer. A keresés és a munkakönyvtár beállítás szabályainak megértése az ÚT és ÚT! utasítások, valamint a LOGO! utasítás "ALAPÚT bemenettel való használatának tanulmányozása alapján le-hetséges. Egy képsor első fázisának rajzként való fájlba mentése a MENTRAJZ utasí-tással lehetséges.Színmódosulások grafika kimentésénél és betöltésénél

ÁTLÁTSZÓMÓD!ÁTLÁTSZÓMÓD! --- utasítás 1 bemenő adattalÁTLÁTSZÓMÓD! bemenetahol a bemenet 0, 1 vagy 2Meghatározza a képsorok létrehozásánál használatos átlátszóság fogalmának definíció-ját.Az alapbeállítás az ÁTLÁTSZÓMÓD! 0. Ha ebben a módban a KIHASÍTKÉP függ-vénnyel egy képsort hozunk létre, akkor a képsor összes olyan pontja, melynek színe a háttérszínnel megegyező, átlátszó lesz, amikor a BETOLDKÉP, a LENYOMAT vagy az ALAK!

108

Page 109: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

utasítással letesszük a rajzlapra. Amikor a MENTRAJZ utasítással elmentjük egy .BMP fájlba, akkor a kép összes átlátszó része fekete lesz.Az ÁTLÁTSZÓMÓD! 1 módban a KIHASÍTKÉP eljárással létrehozott képsor egyetlen pontja sem lesz átlátszó.Amikor az ÁTLÁTSZÓMÓD! 2 módot választjuk, akkor a képsornak csak azon külső pontjai lesznek átlátszóak, melyek színe megegyezik az aktuális háttérszínnel. A belső részek, vagyis azok a pontok, melyeket más színek teljesen körülvesznek, nem lesznek átlátszók.

FÁZISFÁZIS --- bemenő adat nélküli függvényFÁZISEredményül annak a fázisnak a sorszámát kapjuk, mely az első aktív teknőc alakját ép-pen ábrázolja. Ha a teknőcöt alakjának első fázisával ábrázoljuk, akkor a FÁZIS függ-vény eredménye 1; ha az 5. fázissal, akkor az eredmény 5.Ha a teknőc aktuális alakja üres képsor, akkor a FÁZIS függvény eredménye 0.A FÁZIS függvény akkor is működik, ha a teknőc a képernyőn LÁTHATÓ, illetve ak-kor is, ha a teknőc alakját nem látjuk a rajzlapon, mert a LÁTHATATLAN utasítással eltüntettük onnan.

How to Use Phases of an Image

? J 50 ; használjuk az alapalakot (kis háromszög)

? KIÍR FÁZIS4

FÁZIS!FÁZIS! --- utasítás 1 bemenő adattalFÁZIS! számahol a szám egy a -32767 és 32767 közé eső egész számA továbbiakban az aktív teknőcök alakjának adott sorszámú fázisával ábrázolja a teknő-cöket. Az utasítás hatása csak azoknál a teknőcöknél mutatkozik meg, melyeknél az ANIMÁCIÓSMÓD! értéke IGAZ.Ha egy teknőc pillanatnyi alakja N fázisból áll, akkor a FÁZIS! 1 hatásaként a teknőcöt az első fázissal ábrázoljuk, a FÁZIS! 2 esetén a második fázissal stb. A bemenő számot a rendszer először modulo N-re redukálja, tehát a FÁZIS! N+1 és a FÁZIS! 1 egyenérté-kű, csakúgy, mint a FÁZIS! 0 és a FÁZIS! N stb.

? FÁZIS! 4? FÁZIS! FÁZIS+1

FÁZISPONTFÁZISPONT --- bemenő adat nélküli függvényFÁZISPONTEredménye a rajzlap területének azon [X Y szélesség magasság ] téglalapnyi területe, melyet az első aktív teknőc alakjának pillanatnyilag használt fázisa takar le.Az első két szám, X és Y az első aktív teknőc aktuális pozícióját ábrázolja. Ha az első aktív teknőc pillanatnyilag nem látható (mert előzőleg a LÁTHATATLAN utasítással elrejtettük alakját), akkor a FÁZISPONT függvény eredménye az [X Y 0 0] lista lesz. Ugyanezt az eredményt kapjuk akkor is, ha a teknőc nem láthatatlan, de jelenlegi alakja üres képsor, lásd az ÜRESKÉPSOR utasítást is.

109

Page 110: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KÉPSORKÉPSOR --- függvény 2 vagy N bemenő adattalKÉPSOR képsor1 képsor2(KÉPSOR képsor1 ... )Eredményül egy olyan képsort kapunk, mely a bemenetként szereplő képsorok összefű-zéseként adódik. Az új képsor az összes bemenő képsor összes fázisából áll. A bemenő képsorok üresek is lehetnek.

? NÉV "X ALAK ; legyen X a 24 fázisból álló alapalak? KI :X{képsor24}? KI KÉPSOR ELEM [1 3] :X ELEM [22 3] :X{képsor6}? KI KÉPSOR ÜRESKÉPSOR ÜRESKÉPSOR{képsor0}? KI :X = KÉPSOR :X ÜRESKÉPSORIGAZ

KÉPSOR?KÉPSOR? --- függvény 1 bemenő adattalKÉPSOR? akármiEredménye IGAZ, ha a bemenő adat képsor. Különben a visszaadott érték HAMIS.

? BETÖLTRAJZLAP "%DEMO\\TOPART.BMP; a rajzlapnak új hátteret tölt be

? NÉV "VALAMI KIHASÍTKÉP [30 30 30 30] ; létrehoz egy képsort a rajzlap egy darabjának ; kimásolásával

? KI KÉPSOR? :VALAMIIGAZ? KI SZÓ? :VALAMIHAMIS

Egy teknőc tetszőleges képsort helyezhet el a rajzlapon, a BETOLDKÉP utasítás alkal-mazásával. Ha egy teknőc saját alakját szeretnénk a rajzlapra tenni, akkor a LENYO-MAT utasítást használjuk. Egy képsor fájlban való tárolását teszi lehetővé a MENT-KÉPSOR és a MENTRAJZ utasítás.

KÉPSORMÉRETKÉPSORMÉRET --- függvény 1 bemenő adattalKÉPSORMÉRET képsorEredménye egy két számból álló lista [X Y], mely az adott képsor első fázisának mére-tét ábrázolja, ahol az X a szélessége (képpontokban) és Y a magassága.Ha a KÉPSOR függvény üres képsort kap bemenetként, akkor a visszaadott érték a [0 0] lesz.Legyen az "ARCKÉP egy 5 különböző méretű fázisból álló képsor:

? KIÍR :ARCKÉP{képsor5}? KI KÉPSORMÉRET :ARCKÉP[51 62]

110

Page 111: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? KIÍR KÉPSORMÉRET EN :ARCKÉP[40 57]

KIHASÍTKÉPKIHASÍTKÉP --- függvény 1 bemenő adattalKIHASÍTKÉP [ szám1 szám2 szám3 szám4 ]Eredményeként egy egyetlen fázisból álló képsort kapunk. Ezt a képsort az első aktív teknőc készíti (mintha fényképezőgépet használna), a rajzlapon őt körülvelő pillanatnyi környezetről.A 4 számból álló lista [szám1 szám2 szám3 szám4] határozza meg azt a téglalap alakú területet a rajzlapon az első aktív teknőc aktuális pozíciójához képest relatívan amelyi-ket az új képsorba kell másolni. A lista elemei határozzák meg a kép széleit (képpontok-ban) az első aktív teknőc aktuális pozíciójához képest:

szám1 távolság a terület bal határáigszám2 távolság a terület felső határáigszám3 távolság a terület jobb határáigszám4 távolság a terület alsó határáig

Ennek a területnek teljes egészében a rajzlapon kell lennie. A bemenő lista két első szá-ma határozza meg az új képsor tollpontját [szám1 szám2] is.Az eredményként kapott képsor valódi szélességét és magasságát a következőképpen kapjuk meg: szám1+szám3+1 és szám2+num4+1, melyek egyike sem lehet 255-nél na-gyobb. A tollpont helyzete (a képsor bal felső sarkához képest relatívan) nem szükséges, hogy a képsoron belül legyen. Így, például, a [-100 -100 140 160] bemenet megfelelő területet határoz meg a KIHASÍTKÉP utasítás számára, s az eredményképsor mérete [41 61], tollpontjának he-lye [-100 -100] lesz. A KIHASÍTKÉP [0 10 0 5] egy [1 16] méretű, és [0 10] tollpontú képsort készít el.Jegyezzük meg, hogy egyetlen teknőc alakja sem az első aktív teknőcé, sem másiké sem része az eredményképsornak, hacsak először nem készítünk róla egy másolatot a rajzlapra a LENYOMAT utasítással.

? TV! 3 TSZ! 12

? ISMÉTLÉS 4 [E 10 J 90] ; kis piros négyzet

? NÉV "ÚJ.ALAK KIHASÍTKÉP [1 11 11 1]? KI :ÚJ.ALAK

{képsor1} ; használjuk a Memóriaablakot ; ellenőrzésre

Ahhoz, hogy egy teknőc aktuális alakját megváltoztassuk, használjuk az ALAK! utasí-tást:

? ALAK! :ÚJ.ALAK? TR? TV! 1 TSZ! 0 LÁTHATÓ? E 50? ISMÉTLÉS 4 [E 50 J 90]

Az eredményképsor átlátszóságának tetszőleges fajtáját az ÁTLÁTSZÓMÓD! utasítás alkalmazásával határozhatjuk meg.

111

Page 112: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

MENTKÉPSORMENTKÉPSOR --- utasítás 2 vagy N bemenő adattalMENTKÉPSOR LGW_fájl képsor(MENTKÉPSOR LGW_fájl képsor1 képsor2... )A bemeneteként szereplő képsort menti el az adott fájlba. Ha több képsor követi a fájl-nevet, akkor ezeket egyetlen képsorrá fűzi össze a KÉPSOR függvénnyel. Így a(MENTKÉPSOR fájl képsor1 képsor2 ... ) és a MENTKÉPSOR fájl (KÉPSOR képsor1 képsor2 ... )parancsok hatása megegyezik. (Az egyetlen eltérés az, hogy a KÉPSOR függvény által összefűzhető fázisok maximális száma 252, míg a MENTKÉPSOR sok bemenő adattal túllépheti ezt a határt.) Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel út-vonal, akkor az alapkönyvtár KEPSOR alkönyvtárában helyezi el a rendszer a fájlt. En-nek a beállításnak a megváltoztatására szolgál az ÚT! utasítás a "KEPSOR első bemenő paraméterrel. A pillanatnyi beállítást az ÚT függvény eredményéből tudhatjuk meg, ha a "KEPSOR bemenettel használjuk. Ha nem adunk meg kiterjesztést, akkor a MENT-KÉPSOR automatikusan az .LGW kiterjesztést csatolja a fájlnévhez. Egy képsor fájlból való betöltésére a BETÖLTKÉPSOR utasítás alkalmazható.Legyen az AUTÓ1, AUTÓ2, AUTÓ3 és AUTÓ4 változók értéke egyfázisú képsor:

? (MENTKÉPSOR "AUTO.LGW : AUTÓ1 : AUTÓ2 : AUTÓ3 : AUTÓ4)? ALAK! BETÖLTKÉPSOR "AUTO [1 3]

Ha létezik már azonos nevű fájl, akkor először ezt törli.Színmódosulások grafika kimentésekor és betöltésekor

MENTRAJZMENTRAJZ --- utasítás 2 bemenő adattalMENTRAJZ BMP_fájl képsorAz adott képsor első fázisát egyszerű rajzként a fájlba menti.Csak a képsor első fázisát alakítja rajz formátumúvá, és ezt menti a fájlba, melyet így később egyszerű rajzként felhasználhatunk a Logóban, a Paintbrushban vagy bármely más bitmapek feldolgozására szolgáló grafikus alkalmazásban. Ha a fázis átlátszó színt is tartalmaz, akkor ezt a mentés előtt fehérre cseréli a rendszer. Mivel egy képsor maxi-mális mérete 255 x 255 képpont, az eredményrajz sem lépheti túl ezt a méretet.A létrehozott, illetve elmentett fájlt a fájlnévben foglalt teljes útvonalnak megfelelő könyvtárban, vagy ha ilyen nem szerepel, akkor az aktuális munkakönyvtárban helyezi el a Logo. A keresés és a munkakönyvtár beállítása szabályainak megértése érdekében tanulmányozzuk az ÚT és az ÚT! eljárásokat, és a LOGO! utasítást az "ALAPÚT beme-nő paraméterrel.Ha nem adunk meg a fájlnévben kiterjesztést, akkor a rendszer automatikusan a .BMP kiterjesztést csatolja a fájlnévhez. Ha már létezik azonos nevű fájl, akkor először ezt tör-li a rendszer.Színmódosulások grafika kimentésekor és betöltésekor

TOLLPONTTOLLPONT --- függvény 1 bemenő adattalTOLLPONT képsor

112

Page 113: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Eredménye tollpontok listája, [pont1 pont2 ... ], ahol pont1 a képsor első fázisának toll-pontja, pont2 a képsor második fázisának tollpontja stb.Ha a bemenő képsor üres, akkor a TOLLPONT függvény üres listát eredményez: [ ].

? FIGYELJ 0

? NÉV "X ALAK ; tartalmazza X a 0 nevű teknőc alapalakját; (a 24 fázisból álló háromszög)

? KI TOLLPONT :X[[7 17][6 16][6 15][4 12][3 9][1 6][0 7][1 6][3 6][4 4][6 3][6 1][7 0][6 1][9 3][12 4][15 6][17 6][17 7][17 6][15 9][12 12][9 15][6 17]]

TOLLPONT!TOLLPONT! --- függvény 2 bemenő adattalTOLLPONT! képsor tollpontTOLLPONT! képsor [bemenet1 bemenet2 ... ]ahol a bemenet1, ... vagy tollpont, vagy szám.Eredményeként egy olyan képsort kapunk, melynek fázisszáma és tartalma megegyezik a bemenő képsoréval. Azonban néhány, esetleg az összes fázis tollpontját a második be-menetnek megfelelően módosítja a Logo.Ha a második paraméter tollpont, akkor csak a képsor első fázisának tollpontja változik meg, a többi fázis változatlanul kerül az eredményképsorba. Ha a második bemenet több tollpontból álló lista, akkor ezek közül az első a képsor első fázisának aktuális tollpont-jává válik, a második a második fázis tollpontja lesz stb. (Azonban ekkor elkerülhetetlen megadni a képsor összes, N tollpontját ezek közül jó néhány fázis módosítatlan marad-hat.)Ha szám is szerepel a második bemenetben, például [tollpont1 ... M tollpont2 ...], akkor a tollpont2 az M-edik fázis új tollpontja lesz. Ha a tollpont2-t egy újabb tollpont követi, akkor ez az M +1-edik fázist módosítja stb.

Például:

[1 5] csak az első fázis tollpontját változtatja meg,[ [1 2] [3 4] ] csak az első és a második fázis tollpontját módosítja,[ [1 4] 4 [3 5] [4 6] ] az első, a negyedik és az ötödik fázis tollpontját módosítja.

? NÉV "X ELEM [1 5] ALAK ; vegyük az alapalak első 5 fázisát

? KI TOLLPONT :X[ [7 17] [6 16] [6 15] [4 12] [3 9] ]? NÉV "X TOLLPONT! :X [ [10 20] [9 19] [12 30] [8 24] ]

; az 5. fázist nem módosítottuk

? KI :X = TOLLPONT! :X [4 4]HAMIS? KI :X = TOLLPONT! :X [ ]IGAZ

ÚTÚT --- függvény 1 bemenő adattal vagy bemenő adat nélkülÚT(ÚT Logo_alkönyvtár )

113

Page 114: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha bemenő adat nélkül használjuk a függvényt, akkor eredményeként az aktuális mun-kakönyvtár teljes útvonalát kapjuk, melyet előzőleg az (ÚT! "PROJEKT) utasítással ál-lítottunk be, vagy a Fájl menü Megnyitás... utasításának legutóbbi alkalmazása során használtunk. Az ÚT bemenet nélküli használata azonos az (ÚT "PROJEKT) függvény-nyel.A bemenetek és eredmények lehetséges értékei:

bemenet eredmény

"PROJEKT az aktuális PROJEKT alkönyvtár elérési útja"DEMO az aktuális DEMO alkönyvtár elérési útja (vagy a PROJEKT al-

könyvtáré, ha a DEMO alkönyvtár nem létezik)."KEPSOR az aktuális KEPSOR alkönyvtár elérési útja"HANG az aktuális HANG alkönyvtára elérési útja"FELADAT az aktuális FELADAT alkönyvtára elérési útja"RAJZLAP az aktuális RAJZLAP alkönyvtára elérési útja

Más lehetőség:az Elérési út megadása... párbeszédablakban az aktuális útvonal is látható az Elérési út címszó alatt.

ÚT!ÚT! --- utasítás 1 vagy 2 bemenő adattalÚT! útvonal(ÚT! Logo_alkönyvtár útvonal )Ha egyetlen bemenettel használjuk, akkor az ÚT! utasítás útvonala az új munkakönyvtá-rat állítja be. Az ÚT! útvonal egyenértékű az (ÚT! "PROJEKT útvonal) paranccsal. A munkakönyvtárat a Logo minden egyes alkalommal beállítja, amikor a Fő-ablakban a Megnyitás... utasítást alkalmazzuk, amennyiben az ALAPÚT opció értékét 1-re állítjuk a LOGO! utasítással. Ebben az esetben a munkakönyvtár azt a könyvtárat határozza meg, ahonnan a legutóbbi projekt betöltése történt.Ha első paraméterként a "DEMO szót adjuk meg, akkor az utasítás az aktuális DEMO könyvtárat állítja be. Ha a "KÉPSOR szóval használjuk, akkor az aktuális KÉPSOR könyvtárat határozhatjuk meg. Az aktuális HANG könyvtár beállításához a "HANG pa-ramétert kell megadnunk. Ha a paraméter a "FELADAT szó, akkor az aktuális FEL-ADAT könyvtárat állítja be. Az aktuális RAJZLAP könyvtárat a "RAJZLAP bemenő adattal határozhatjuk meg.Ha az adott útvonal nem létezik, akkor hiba következik be.Más lehetőség:a Fő-ablak Fájl menüjének Útvonalmegadása... utasítása

ÜRESKÉPSORÜRESKÉPSOR --- bemenő adat nélküli függvényÜRESKÉPSOREredményeként egy üres képsort kapunk, azaz egy olyan képsort, mely egyetlen fázist sem tartalmaz.Az üres képsor, mint bármely más képsor, egy teknőc új alakja lehet, ha az ALAK! uta-sítást erre alkalmazzuk. Az üres képsor mérete [0 0]. Jegyezzük meg, hogy az üres kép-sor, az üres lista és az üres szó páronként különböző objektumok.

114

Page 115: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? NÉV "X ÜRESKÉPSOR? KI KÉPSORMÉRET :X[0 0]? KI ELEMSZÁM :X0? KI ELEMSZÁM KÉPSOR :X :X

0 ; az üres képsor önmagával való összefűzése; még mindig üres képsort eredményez

? FIGYELJ 0 ; legyen a 0 teknőcnek az alapalakja 24 fázissal? KI ALAK = KÉPSOR :X ALAKIGAZ

A következő eljárások melyek a Szó- és Listafüggvények kategóriában is szerepelnek képsor értékű bemenő adattal is helyesen működnek:

=CSEREELEMSZÁM; ESZEGYENLŐ?ELEMELSŐELSŐNEKELSŐNÉLKÜLI; ENENESZFORDÍTKIVÁLASZT

LISTALISTA?MMONDAT; MÖSSZEKEVERUNUTOLSÓUTOLSÓNAKUTOLSÓNÉLKÜLI; UNÜRES?

115

Page 116: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A Képernyő beállításai

.PONTHELY!

.PONTHELY--- függvény 1 bemenő adattal

.PONTHELY pont

.PONTHELY [ ]A bemenő pont a teknőc geometriában használatos, origó középpontú rajzlap egy pont-ja. A .PONTHELY függvény ennek a pontnak a Windows koordináta-rendszerében vett koordinátáit határozza meg (ahol a [0 0] koordinátájú pont a képernyő bal felső sarka).Ha a bemenő adat üres lista [ ], akkor eredményként a rajzlap bal felső sarkának abszo-lút koordinátáit kapjuk meg.

ALAPHELYZETALAPHELYZET --- bemenő adat nélküli utasításALAPHELYZETElőkészíti a rajzlapot az új rajzoláshoz úgy, hogy letörli a képernyőt, törli az összes tek-nőcöt, és a 0 nevű teknőcöt ismét létrehozza (eredeti állapotában lásd az ÚJTEKNŐC utasítást), valamint aktívvá és láthatóvá teszi, lásd a LÁTHATÓ utasítást.Az ALAPHELYZET hatása a következő utasítássorozatéval azonos:

? TR? RAJZLAPSZÍN! 15? TÖRÖLTEKNŐC MIND? ÚJTEKNŐC 0 [ ]? FIGYELJ 0? KÖRKÖRÖSEN? LÁTHATÓ

ALAPPALETTAALAPPALETTA --- bemenő adat nélküli utasításALAPPALETTAHa 256 színt alkalmazó módban dolgozunk, és 256 színt tartalmazó képeket töltünk be, akkor ezt az utasítást kell használnunk minden egyes betöltendő rajz előtt, ha tudjuk, hogy az aktuálisan betöltendő rajz esetleg ettől a 256 színűtől eltérő palettát használ.Akárhányszor kiadjuk a Logóban a TÖRÖLMUNKA utasítást, illetve akárhányszor ki-választjuk a Fájl menü Új projekt utasítását, a rendszer először az ALAPPALETTA el-járást hajtja végre.

BETÖLTRAJZLAPBETÖLTRAJZLAP --- utasítás 1 bemenő adattalBETÖLTRAJZLAP BMP_fájlBetölti a fájl tartalmát a rajzlapra. Szükséges, hogy az adott fájl bármilyen méretű, stan-dard rajz formátumú legyen. A rajzlap aktuális szélessége és magassága a betöltött rajz megfelelő méreteitől függ. Ha ennek mérete kisebb, mint a Logo Fő-ablakának lehetsé-ges beállításai, a betöltött rajz a Fő-ablak bal felső sarkában lesz elhelyezve, vagy pedig a képernyő közepén, az éppen érvényben lévő RAJZLAP! opciónak megfelelően.A BETÖLTRAJZLAP nem változtatja meg az aktív teknőcök listáját, sem az állapotu-kat. Azonban szükség esetén az összes olyan teknőcöt, mely KÖRKÖRÖSEN módban volt, elmozgatja úgy, hogy az aktuális rajzlapon belül álljon.

116

Page 117: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A rajzlap aktuális tartalmának elmentésére szolgál a MENTRAJZLAP utasítás. Ha csak részleges útvonal szerepel a fájlnévben, vagy egyáltalán nem szerepel útvonal, akkor a rendszer az alapkönyvtár RAJZLAP alkönyvtárában keresi a megfelelő fájlt. Ha ez a könyvtár nem létezik, akkor a KEPSOR alkönyvtárat használja helyette. Ennek a beállí-tásnak a megváltoztatására szolgál az ÚT! utasítás, ha a "RAJZLAP szóval, mint első paraméterrel használjuk. Az aktuális beállítást az ÚT függvény eredményeként kapjuk, ha bemenő adatnak a "RAJZLAP szót adjuk.Ha nem adunk meg kiterjesztést a fájlnévben, akkor a BETÖLTRAJZLAP alapértelme-zésben a .BMP kiterjesztést használja.Színmódosulások grafika kimentésénél és betöltésénélMás lehetőségek:

a Fő-ablak Fájl menüjének Rajzlapbetöltés... utasítása,a fentinek megfelelő utasítás a felbukkanó menüben, melyet a rajzlapon a jobb egér gombbal való kattintással hívhatunk elő.

EGÉRALAK!EGÉRALAK! --- utasítás 1 bemenő adattalEGÉRALAK! képsorEGÉRALAK! LGW_fájlEGÉRALAK! számEGÉRALAK! [ ]ahol a szám egy a 0 és 15 közé eső egész számHatásaként az egérkurzor aktuális alakja az a képsor lesz, melyet közvetlenül a bemenő képsor, vagy az LGW fájlban tárolt képsor határoz meg. Azaz az:

? EGÉRALAK! "NYIL2

egyenértékű a következő paranccsal:

? EGÉRALAK! BETÖLTKÉPSOR "NYIL2

Ha a bemenet egy a 0 és 15 közé eső szám, akkor az egér formája egy standard Win-dows-kurzor alakját veszi fel a következő táblázatnak megfelelően:Az egérkurzor mindig fekete-fehér. Ha az adott képsor színes, akkor a fehértől különbö-ző színeket a rendszer feketére redukálja. Az egérkurzor maximális mérete 32 x 32 kép-pont. A nagyobb képsorokat erre a méretre csökkenti (ami részben megváltoztathatja eredeti kinézetü-ket). Ha több fázisból áll az adott képsor, akkor ennek második fázisa ábrázolja az egeret, mikor annak bal gombját lenyomjuk. Az egérkurzor eredeti alakját a következő utasítással állíthatjuk vissza:

? EGÉRALAK! [ ]

EGÉRHELY!EGÉRHELY! --- utasítás 1 bemenő adattalegérhely! pont

A bemenő adat által meghatározott pontba helyezi az egérkurzort. Ha ez a pont a képer-nyőn (vagyis a rajzlapon és az írólapon) kívül helyezkedik el, akkor a kurzort a képer-nyő megfelelő határára teszi. Emellett arra is lehetőség van, hogy a kurzort a Logo abla-kán kívülre helyezzük, ha az ablakban nem látható a rajzlap és az írólap egésze.

117

Page 118: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ÍAÍRÓABLAK; ÍA --- bemenő adat nélküli utasításÍRÓABLAKA teljes Fő-ablakot szövegesre állítja be.A rajzlap pillanatnyi tartalma nem vész el, csak egy részét ideiglenesen lefedi az íróab-lak, és aktív is marad, azaz a teknőcök továbbra is rajzolhatnak rá, és mozoghatnak, még az íróablak alatt is. A teljes Fő-ablakban csak a rajzlap fog megjelenni, ha a RAJZAB-LAK utasítást alkalmazzuk. Mind a grafikus, mind a szöveges képernyő megjelenik, ha az OSZTOTTABLAK utasítást adjuk ki.Más lehetőségek:

a Fő-ablak Ablak menüjének Íróablak utasítása,az F7 funkcióbillentyű, ha a Fő-ablak aktív, vagya Fő-ablak Eszközsorának Íróablak piktogramja.

ÍRÓABLAK; ÍA

ÍRÓLAPÍRÓLAPABLAK --- bemenő adat nélküli függvényaz írólap jellemzőiÍRÓLAPEredménye az íróablakban pillanatnyilag megjelenő sorok száma, amikor a Logo OSZ-TOTTABLAK módban van, vagyis amikor mindkét ablak látható. Ez a szám mindig egy 2 és 25 közé eső egész szám. Megváltoztatására az ÍRÓLAPABLAK! utasítás szol-gál.Más lehetőségek:nyissuk meg a Képablak beállítása párbeszédablakot a Beállítások menü Ablakok beállí-tása... utasításának kiválasztásával a Fő-ablakban. A párbeszédablakban láthatjuk mind-két képernyő aktuális beállításait, ugyanez a párbeszédablak nyílik ki akkor is, ha a jobb egérgombbal kattintunk a rajzlap területén bárhol, és a felbukkanó menüben az Ablakok állítása... utasítást választjuk ki.

ÍRÓLAP!ÍRÓLAPABLAK! --- utasítás 1 bemenő adattalaz íróablak méretének beállításaÍRÓLAP! számahol a szám egy 2 és 25 közé eső egész számAz írólapon megjelenő sorok számát határozza meg, amikor a Logo Fő-ablaka OSZ-TOTTABLAK módban van.Ennek a számnak a megváltoztatásával megváltoztatjuk a rajzlap képernyőn megjelenő részét (vagyis a rajzablak méretét), de sem a rajzlap aktuális méretét (melyet a RAJZ-LAPABLAK! utasítással állíthatunk be), sem ennek aktuális tartalmát nem módosítja. A pillanatnyilag kijelzett sorok számát az ÍRÓLAPABLAK függvény eredménye mutatja meg.

Más lehetőségek:a sorok számát szintén beállíthatjuk a Képablak beállítása párbeszédablakban, melyet a Fő-ablak Beállítások menüjének Ablakok beállítása... utasításának kiválasztásával nyit-hatunk ki,ugyanez a párbeszédablak nyílik ki, ha a jobb egérgombbal kattintunk valahol a rajzlap területén és a felbukkanó menüből az Ablakok állítása... utasítást választjuk ki.

118

Page 119: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ÍRÓSZÍN!ÍRÓSZÍN! --- utasítás 1 bemenő adattalaz írólap színeinek beállításaÍRÓSZÍN! számahol a szám egy a 0 és 255 közé eső egész számAz írólap hátterének és magának a szövegnek a színét állítja be.Ha a bemenő számot a következő formában írjuk le, 16*X + Y (ahol az X és Y is 0 és 15 közé eső számok), akkor az X szám jelöli az írólap hátterének színét, az Y pedig a szöveg színét. Az írólap alapbeállítása 240, azaz 16 * 15 + 0.

? ÍRÓSZÍN! 16 * 8 + 7 ; azaz a háttér színe 8, a szövegé 7

A továbbiakban egy a sötétszürke háttérre világosszürke szöveget írunk. A teljes íróla-pon mindkét szín megváltoztatása a TÖRÖLÍRÓLAP utasítással lehetséges, ha az ÍRÓ-SZÍN! eljárással előzőleg beállítottuk a megfelelő színeket. (Ekkor természetesen az író-lap eddigi tartalma elvész.)

KURZORHELYKURZORHELY --- bemenő adat nélküli függvényKURZORHELYEredménye egy kételemű, pozitív egész számokat tartalmazó lista [oszlop sor], ami a kurzor jelenlegi helyzetét adja meg az írólapon.Az [1 1] kurzorelhelyezkedés azt jelenti, hogy az írólap bal felső sarkában van a kurzor, amikor ÍRÓABLAK módban vagyunk.Ahhoz, hogy a kurzor aktuális helyzetét megváltoztassuk, használjuk a KURZOR-HELY! utasítást. A rajzlapon található első aktív teknőc aktuális pozíciójának megis-merésére a HELY függvény ad lehetőséget. A szöveg színének megváltoztatására (mind az írólap hátterének, mind magának a szövegnek a színéről szó van), az ÍRÓSZÍN utasítást kell kiadni.

? TÍ ÍA? ISMÉTLÉS 200 [KURZORHELY! M 1 + VÉLETLENSZÁM 80 1 + ~ VÉLETLEN-SZÁM 26 KIÍRBELSŐ "HŰHA!]

KURZORHELY!KURZORHELY! --- utasítás 1 bemenő adattalKURZORHELY! [szám1 szám2 ]ahola szám1 egy, az 1 és 80 közé eső egész szám,és a szám2 egy, az 1 és 26 közé eső egész számKiteszi az írólap aktuális parancsjelét a [szám1 szám2] által meghatározott pozícióba, és mellette megjeleníti a kurzort is. Az új elhelyezkedést a következőképpen értelmezi: az írólap oszlopait a szám1 jelöli, sorait a szám2.

? TÍ ÍA? ISM 200 [KURZORHELY! M 1 + VSZ 80 1 + VSZ 26 KIÍRBELSŐ "HŰHA!]

Amikor a KURZORHELY! utasítást közvetlenül az utasítássorba gépeljük be (és nem követi ebben a sorban másik utasítás), akkor a Logo a kurzort a megadott helyre viszi, és kiírja az írólap parancsjelét (alapállapotban ? egy szóközzel követve). Ezzel jelzi szá-munkra azt, hogy a Logo készen áll a következő utasítás végrehajtására.

119

Page 120: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az [1 1] elhelyezkedés ábrázolja az írólap bal felső sarkát, ha a Logo ÍRÓABLAK mód-ban van. A kurzor aktuális pozícióját a KURZORHELY függvény eredményéből olvas-hatjuk ki. Az aktuális parancsjel megváltoztatása a PARANCSJEL! utasítással lehetsé-ges.

LOGOABLAKLOGOABLAK --- bemenő adat nélküli függvényLOGOABLAKEredménye egy hatelemű lista [X Y sz m szám szöveg ]: mely a Logo Fő-ablakának aktuális abszolút koordinátái, X és Y mellett az ablak pillanatnyi szélességét, magassá-gát, állapotát és címsorát tartalmazza. Ezen jellemzők módosítása a LOGOABLAK! utasítás alkalmazásával érhető el.

LOGOABLAK!LOGOABLAK! --- utasítás 1 bemenő adattalLOGOABLAK! [X Y sz m ]LOGOABLAK! [X Y sz m szám ]LOGOABLAK! [X Y sz m szám szöveg ]LOGOABLAK! [ ]ahol X, Y, sz és m számokA Logo Fő-ablakának pozícióját, a méretét és feliratát definiálja.A bemenő lista első két eleme, X és Y a Fő-ablak bal felső sarkának abszolút koordiná-táit határozza meg. Az sz és m számok az ablak szélességét és magasságát jelölik. Ha lé-tezik ötödik elem, akkor ez az ablak új állapotát határozza meg, az alábbiaknak megfele-lően:0 normál ablak, mely aktívvá válik,1 minimalizált (ikonként megjelenő) ablak, mely aktívvá válik,2 maximalizált ablak, mely aktívvá válik,3 normál ablak, de a Logo marad aktív,4 minimalizált ablak, de a Logo marad aktív.Az ötödik paraméter elhagyása esetén a feltételezett értéke 0. Ezen ötödik elem értéke az X, Y, sz és m értékek jelentését is befolyásolhatja a következők szerint. Ha az ötödik szám:0 vagy 3 akkor az X, Y, sz és m az ablak aktuális pozícióját és méretét definiálja, mely ennek megfelelően azonnal átméreteződik,1 vagy 4 akkor az X és Y az ikon elhelyezke-dését definiálja a képernyőn, és az sz és m értékeknek nem lesz hatásuk (de nem lehet őket elhagyni),2 az ablak maximalizált, tehát az egész képernyőt lefedi, az X, Y, sz és m értékeket ak-kor használja, amikor az ablakot a legközelebb normál méretűre állítjuk (a Vezérlő menü Előző méret utasításával vagy a címsor Előző méret gombjával),5 az X, Y, sz és m értékeknek nincs jelentősége, az ablak a teljes képernyőt betölti.A lehetséges hatodik bemenet az ablak új feliratát adja meg.Ha a bemenet [ ] üres lista, akkor a Fő-ablak maximális méretű lesz anélkül, hogy mére-te és felirata megváltozna.

MENTRAJZLAPMENTRAJZLAP --- utasítás 1 vagy 2 bemenő adattalMENTRAJZLAP BMP_fájl (MENTRAJZLAP BMP_fájl pont )(MENTRAJZLAP BMP_fájl téglalapnyi_terület )

120

Page 121: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Elmenti a rajzlap aktuális tartalmát a fájlba. A fájl a rajzlap aktuális méretének megfele-lő méretű standard rajzot fog tartalmazni, ha nem adunk második paramétert. A teknő-cök alakja nem jelenik meg a fenti rajzon, mivel ezek nem képezik a rajzlap tartalmának részét. (Tetszőleges teknőc alakja a rajzlap tartalmához tartozóvá tehető a LENYOMAT utasítás alkalmazásával.)Ha adunk második bemenő adatot is, akkor csak a rajzlap ennek megfelelő részét menti el a rendszer: ha a második paraméter egy pont, azt a téglalapot menti el a rendszer, melynek az adott pont a bal felső sarka, és a rajzlap jobb alsó sarkával egyezik meg a jobb alsó sarka,ha a második paraméter egy téglalapnyi terület, akkor ennek aktuális tartalmát menti el a rendszer.A rajzlap új háttere a BETÖLTRAJZLAP utasítással tölthető be. Ha csak részleges út-vonal szerepel, vagy egyáltalán nem szerepel útvonal az adott fájlnévben, akkor az alap-könyvtár RAJZLAP alkönyvtárában helyezi el a fájl. Ha ez a könyvtár nem létezik, ak-kor a KEPSOR alkönyvtárat használja helyette. Ennek a beállításnak a megváltoztatásá-ra szolgál az ÚT! utasítás a "RAJZLAP első paraméterrel. Az aktuális beállítást az ÚT "RAJZLAP függvénysor eredményéből olvashatjuk ki.Ha nem adunk meg kiterjesztést, akkor a MENTRAJZLAP automatikusan a .BMP ki-terjesztést csatolja a fájlnévhez. Ha már létezik ezen a néven fájl, akkor ezt először törli a rendszer.Színmódosulások grafika kimentésekor és betöltésekorMás lehetőség:a Fő-ablak Fájl menüjének Rajzlapmentés... utasítása

MIMUTATIKONSOR; MI --- bemenő adat nélküli utasításMUTATIKONSORMegjeleníti az Ikonsort a képernyőn.Amikor az Ikonosor nem látható, akkor a rajzlap egy kicsit nagyobb lehet (ez az Alapér-telmezés gomb lenyomásával ellenőrizhető a Képablak beállítása párbeszédablakban, lásd a RAJZLAP! vagy az ÍRÓLAP! utasítást). A Logo Fő-ablakának pontos méretét a LOGOABLAK! utasítás alkalmazásával határozhatjuk meg.Az Ikonsort a képernyőről eltüntetni a REJTIKONSOR utasítással lehetséges.Más lehetőség:a Fő-ablak Ablak menüjének Eszközsort mutat utasítása.

MUTATIKONSOR; MI

NYOMTATÍRÓLAPNYOMTATÍRÓLAP --- utasítás 1 bemenő adattalNYOMTATÍRÓLAP nyomtatójelzőKinyomtatja az írólap aktuális tartalmát. A nyomtatás aktuális beállításait a nyomtató-jelző határozza meg.a Fő-ablak Fájl menüjének Írólapnyomtatás utasítása.

NYOMTATRAJZLAPNYOMTATRAJZLAP --- utasítás 1 vagy 2 bemenő adattalNYOMTATRAJZLAP nyomtatójelző(NYOMTATRAJZLAP nyomtatójelző téglalapnyi_terület )Kinyomtatja a rajzlap aktuális tartalmát. A nyomtatás aktuális beállításait a nyomtatójel-ző határozza meg.

121

Page 122: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha az utasításnak csak egyetlen bemenete van, akkor a teljes rajzlapot fogja kinyomtat-ni. Ha második bemenetet is adunk, akkor csak a rajzlap meghatározott téglalapnyi terü-lete nyomtatódik ki.Más lehetőség:a Fő-ablak Fájl menüjében a Rajzlapnyomtatás utasítás.

OAOSZTOTTABLAK; OA --- bemenő adat nélküli utasításOSZTOTTABLAKBeállítja a Fő-ablakot rajz- és írólapra. Az íróablakban látható sorok száma az ÍRÓLAP-ABLAK! utasítás alkalmazásával változtatható meg, és az ÍRÓLAPABLAK függvény-nyel kérdezhető le.A rajzlap aktuális tartalmára nincs hatással az OSZTOTTABLAK utasítás, csak ideigle-nesen fedi le egy részét az íróablak, amíg ez a mód aktív. Tehát a teknőcök továbbra is rajzolhatnak és mozoghatnak a Fő-ablak azon részén is, melyen az írólap látható. Az egész Fő-ablakot grafikusra állítjuk be a RAJZABLAK utasítással. Az írólap pillanatnyi tartalmára sincs hatással az OSZTOTTABLAK utasítás, csak a néhány legfrissebb sorát láthatjuk. Az egész Fő-ablakot szövegesre állíthatjuk az ÍRÓABLAK utasítással.Más lehetőségek:

a Fő-ablak Ablak menüjének Osztottablak utasítása,az F6 funkcióbillentyű, ha a Fő-ablak aktív, vagya Fő-ablak Eszközsorának Osztottablak piktogramja.

OLPARANCSJEL!OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattalOLVASLISTAPARANCSJEL! listaolvasás_parancsjeleAz utasítás segítségével meghatározhatjuk azt a szöveget, amit a listaolvasás új parancs-jeleként szeretnénk használni az írólapon. A listaolvasás parancsjelének az alapbeállítá-sa egy kettőspont (:), melyet egy szóköz követ (tehát az alapértelmezésben a parancsjel két karakterből áll).? OLPARANCSJEL! "Amit\ gépelsz:\ ? KI OLAmit gépelsz: A B C ; az A B C betűket írtuk be[A B C]

OLVASLISTAPARANCSJEL!;OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattalOLVASLISTAPARANCSJEL! listaolvasás_parancsjeleAz utasítás segítségével meghatározhatjuk azt a szöveget, amit a listaolvasás új parancs-jeleként szeretnénk használni az írólapon. A listaolvasás parancsjelének az alapbeállítá-sa egy kettőspont (:), melyet egy szóköz követ (tehát az alapértelmezésben a parancsjel két karakterből áll).

? OLPARANCSJEL! "Amit\ gépelsz:\ ? KI OL

Amit gépelsz: A B C ; az A B C betűket írtuk be[A B C]

PONTSZÍNPONTSZÍN --- bemenő adat nélküli függvény

122

Page 123: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

PONTSZÍNEredménye egy 0 és 15 közé eső szám, attól függően, hogy a rajzlapon az első aktív tek-nőc aktuális pozíciójában levő pontnak milyen színe van.Az első aktív teknőc koordinátáinak megismeréséhez használjuk a HELY függvényt. A rajzlap teljes hátterének színét a RAJZLAPSZÍN! utasítással változtathatjuk meg. A tel-jes háttér jelenlegi színét (mely bármelyik pont aktuális színétől különbözhet) a RAJZ-LAPSZÍN függvény eredményéből olvashatjuk le.

? RAJZLAPSZÍN! 7? TR? KI PONTSZÍN7 ; most a rajzlap minden egyes pontja szürke

OSZTOTTABLAK; OA

PARANCSJEL!PARANCSJEL! --- utasítás 1 bemenő adattalPARANCSJEL! szóahol a szó legfeljebb 16 karakterből állhat. Az írólapon az írólap parancsjeleként hasz-nálandó szöveget határozhatjuk meg az utasítás segítségével (mint DOS-ban a prompt). Az írólap parancsjelének alapbeállítása a ? egy szóközzel követve (tehát az alapértelme-zett parancsjel két karakterből áll).

? PARANCSJEL! "Amit\ gépelsz:\ Amit gépelsz: KIÍR "SZIASZIAAmit gépelsz: KIÍR 55Amit gépelsz: PARANCSJEL! "?\ ?

Hol használjuk az Escape karaktert \Más lehetőség:az írólap parancsjelét a Képablak beállítása párbeszédablakban is beállíthatjuk, mely ak-kor tűnik fel, ha a Fő-ablak Beállítások menüjének Ablakok beállítása... utasítását vá-lasztjuk ki.

RARAJZABLAK; RA --- bemenő adat nélküli utasításRAJZABLAKA Fő-ablakban a grafikus képernyő lesz látható. Az írólapot egyáltalán nem jeleníti meg, bár ennek tartalma nem veszik el. Sőt az írólap aktív is, azaz a Logo minden pa-rancsot végrehajt, amit a billentyűzeten begépelünk.Ahhoz, hogy az írólapot újra láthatóvá tegyük az aktuális tartalommal együtt, használjuk az ÍRÓABLAK vagy az OSZTOTTABLAK utasítást.Más lehetőségek:

az Ablak menü Rajzablak utasítása a Fő-ablakban, vagyaz F5 funkcióbillentyű, ha a Fő-ablak aktív, vagya Fő-ablak Ikonsorának Rajzablak piktogramja.

RAJZABLAK; RA

123

Page 124: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

RAJZLAPRAJZLAP --- bemenő adat nélküli függvénya rajzlap jellemzőiRAJZLAPEredménye egy négy számból álló lista [sz1 sz2 egész3 egész4 ], mely a rajzlap aktuális beállításait írja le. Az sz1 és sz2 számok mindig nagyobbak 7-nél.

sz1 a rajzlap szélessége (képpontokban mérve)sz2 a rajzlap magassága (képpontokban mérve). egész3 1, ha a rajzlap a Fő-ablakban középre igazított

0, ha bal felső sarka a Fő-ablak munkaterületének bal felső sarkában van elhelyezveegész4 1, ha görgetősávok láthatók a rajzablak jobb és alsó szélein

0, ha nincsenek görgetősávokMás lehetőségek:nyissuk meg a Képablak beállítása párbeszédablakot a Beállítások menü Ablakok beállí-tása... utasításának kiválasztásával a Fő-ablakban. A párbeszédablakban láthatjuk mind-két képernyő aktuális beállításait, ugyanez a párbeszédablak nyílik ki akkor is, ha a jobb egérgombbal kattintunk a rajzlap területén bárhol, és a felbukkanó menüben az Ablakok állítása... utasítást választjuk ki.

RAJZLAP!RAJZLAPABLAK! --- utasítás 1 bemenő adattala rajzlap jellemzőinek beállításaRAJZLAPABLAK! [szám1 szám2 ]ahol a szám1, és a szám2 8 és 2048 közé eső egész számokA rajzlap pillanatnyi beállításait definiálja. A szám1 és a szám2 ennek szélességét és magasságát ábrázolja (képpontokban mérve).A rajzlap méretének megváltoztatásával az írólapon megjelenő sorok száma nem válto-zik. A rajzlap aktuális beállításait a RAJZLAPABLAK függvény eredményéből ismer-hetjük meg.Más lehetőségek:a Fő-ablak Beállítások menüjének Ablakok beállítása... utasításának kiválasztásával nyissuk ki a Képablak beállítása párbeszédablakot. Ebben mindkét ablak aktuális beállí-tásait láthatjuk és módosíthatjuk, ugyanez a párbeszédablak nyílik ki akkor is, ha a jobb egérgombbal kattintunk valahol a rajzlapon, és a felbukkanó menüből az Ablakok állítá-sa... utasítást választjuk ki.

RAJZLAPSZÍN; RSZRAJZLAPSZÍN; RSZ --- bemenő adat nélküli függvényRAJZLAPSZÍNEredményeként a rajzlap hátterének aktuális színét kapjuk meg. Ennek megváltoztatá-sára a RAJZLAPSZÍN! utasítás használható. A Logo indításakor a rajzlap háttérszíne fe-hér, amit a 15-ös kód jelez.

RAJZLAPSZÍN!; RSZ!RAJZLAPSZÍN!; RSZ! --- utasítás 1 bemenő adattalRAJZLAPSZÍN! színA bemenetben meghatározott színre állítja be a rajzlap hátterének színét.Az egész rajzlapot letörli, és lefedi az adott színnel, vagyis a lap tartalmát elvesztjük. Azonban a teknőcök állapota nem változik meg, vagyis mindegyikük a pozíciójában marad, látható, illetve láthatatlan marad addigi állapotának megfelelően stb.

124

Page 125: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Hasonlítsuk össze figyelmesen a TÖRÖLRAJZ, az ALAPHELYZET és a TÖRÖL-RAJZLAP utasításokat.A pillanatnyi háttérszínt a RAJZLAPSZÍN függvény eredményéből olvashatjuk ki.

REJTIKONSOR; RIREJTIKONSOR; RI --- bemenő adat nélküli utasításREJTIKONSOREltünteti a Fő-ablak Ikonsorát a képernyőről.Amikor az Ikonsor nem látható, akkor a rajzablak egy kicsivel nagyobbá válik (amiről a Képablak beállítása párbeszédablakban az Alapértelmezés gomb lenyomásával győződ-hetünk meg, lásd a RAJZLAP! vagy az ÍRÓLAP! utasításokat). A Logo Fő-ablakának pontos méretét a LOGOABLAK! utasítás segítségével állíthatjuk be.Ha újra láthatóvá szeretnénk tenni az Ikonsort a képernyőn, használjuk a MUTATI-KONSOR utasítást.Más lehetőség:a Fő-ablak Ablak menüjében az Eszközsort elrejt utasítás.

RI

RSZ

RSZ!

TÍTÖRÖLÍRÓLAP; TÍ --- bemenő adat nélküli utasításTÖRÖLÍRÓLAPTörli az írólap tartalmát, vagyis lefedi az írólap aktuális háttérszínével, és kiteszi az ak-tuális parancsjelet az írólap bal felső sarkába, és emellé elhelyezi a kurzort.Eredetileg, ha a PARANCSJEL! utasítással újra nem definiáltuk, a parancsjel egy kér-dőjel, melyet egy szóköz követ (? ).Az írólap hátterének aktuális színét az ÍRÓSZÍN! utasítással állíthatjuk be. Az íróablak-ban látható sorok számát a ÍRÓLAP! parancs segítségével határozhatjuk meg.Más lehetőség:az Ablak menü Írólapot töröl utasítása a Fő-ablakban.

TÖRÖLÍRÓLAP; TÍ

TÖRÖLRAJZTÖRÖLRAJZ --- bemenő adat nélküli utasításTÖRÖLRAJZTörli a rajzlap tartalmát, vagyis lefedi az aktuális háttérszínnel.Ellentétben a TÖRÖLRAJZLAP utasítással, a TÖRÖLRAJZ nem változtatja meg az aktív teknőcök aktuális irányát, koordinátáit, illetve tollának állapotát. Az aktuális hát-térszín lekérdezése a RAJZLAPSZÍN függvény, megváltoztatása pedig a RAJZLAP-SZÍN! utasítással lehetséges.

TÖRÖLRAJZLAP; TR

125

Page 126: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TR

126

Page 127: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Gombok és paraméterbeállítók

BEÁLLÍTÓBEÁLLÍTÓ --- függvény 1 bemenő adattalBEÁLLÍTÓ Logo-eljárásEz a függvény lehetővé teszi, hogy bármelyik saját eljárásból meghívjuk valamelyik Logo paraméterbeállítót (és hogy ennek segítségével vizuálisan választhassuk ki a fel-használó által definiált eljárás bemenő adatát). Bemenetként csak paraméterbeállítóval rendelkező Logo alapszó szerepelhet. A BEÁLLÍTÓ függvény a Beállító ablak megjele-nítésével lehetővé teszi a felhasználó számára, hogy a felajánlott lehetőségek közül ki-válassza a megfelelőt. Ezután a következő történhet:miután választottunk Becsukjuk a Beállító ablakot az Enter billentyű lenyomásával, vagy az Írd! gombra való kattintással. Ebben az esetben a BEÁLLÍTÓ függvény ered-ménye egy teljes Logo-utasítást tartalmazó lista, vagyis a Logo-eljárás neve az előbbi-ekben kiválasztott bemenő adattal, illetve adatokkal kiegészítve; vagy az Esc billentyűt, vagy a Cancel gombot nyomjuk le. Ebben az esetben a visszaadott érték üres lista.

? KI BEÁLLÍTÓ "B[B 90] ; ha a felhasználó 90-t választott és a CSINÁLD! gombra

; kattintott? KI BEÁLLÍTÓ "TSZ![TSZ! [35 105 125] ]? NÉV "SZÍN UTOLSÓ BEÁLLÍTÓ "TSZ!

; a felhasználó kiválaszt egy színt, és ennek kódja; lesz a SZÍN változó értéke. Például:

? KI :SZÍN[35 105 125]? NÉV "SZÍN BEÁLLÍTÓ "TSZ!? HA NEM ÜRES? :SZÍN [NÉV "SZÍN UTOLSÓ :SZÍN]

; hatása ugyanaz, mint fent, de azt is figyelembe veszi,; hogy elképzelhető, hogy a felhasználó nem választott ki; színt, csak a Beállító ablak MÉGSEM gombját vagy az Esc; billentyűt nyomta le. Ebben az esetben a BEÁLLÍTÓ függvény; eredménye üres lista.

BETÖLTFELADATBETÖLTFELADAT --- utasítás 1 vagy 2 bemenő adattalBETÖLTFELADAT TXT_fájlMegnyitja a Feladat-ablakot és megjeleníti benne az adott TXT fájl által tartalmazott feladatot.Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel út-vonal, akkor az alapkönyvtár FELADAT alkönyvtárában keresi a megfelelő fájlt. Ennek a beállításnak megváltoztatására ad lehetőséget az ÚT! utasítás a "FELADAT szóval, mint első paraméterével. Az aktuális beállítást az ÚT függvény eredményéből olvashat-juk ki, ha bemenő adatként szintén a "FELADAT szó szerepel.

Jegyezzük meg, hogy a BETÖLTFELADAT utasítás azonnal megnyitja a Feladat-abla-kot, még akkor is, ha a LOGO! utasítás ZÁRTFELADAT beállítása 1 értékkel rendelke-zik.

127

Page 128: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

BEZÁRFELADATBEZÁRFELADAT --- utasítás 1 bemenő adattalBEZÁRFELADAT TXT_fájlA TXT fájl tartalma által meghatározott Feladat ablakot zárja be. Ha adott nevű fájl nem létezik, vagy az ablak nem látható a képernyőn, akkor semmi sem történik.A feladat képernyőn történő megjelenítéséhez használjuk a BETÖLTFELADAT utasí-tást.

GOMBNÉVGOMBNÉV --- függvény 1 bemenő adattal vagy bemenő adat nélkülGOMBNÉV(GOMBNÉV szám )ahol a szám egy 1 és 30 közé eső egész szám. Ha nincs bemenő adata, akkor az ered-mény a Gombok ablak gombjaihoz kapcsolódó aktuális gombsordefiníciót tartalmazó lista. Ha a függvénynek van bemenő adata, akkor a megfelelő gombhoz tartozó aktuális gombde-finíciót kapjuk eredményül.Ahhoz, hogy egy a Gombok ablakban szereplő gombhoz szöveget vagy grafikát és uta-sításokat definiáljunk, használjuk a GOMBNÉV! utasítást. A Gombok ablak képernyőn való megjelenítését a MUTATGOMBSOR utasítás kiadásával érhetjük el, míg ennek el-rejtésére szolgál a REJTGOMBSOR utasítás.

? GOMBNÉV! [ ]? GOMBNÉV! [ [SÉTA] [ [MENJ!] [E 100 J 90] ] [TOLLSZÍN!] ]? KI GOMBNÉV[ [TR] [ [SÉTA] [E 100 J 90] ] [TOLLSZÍN!] ]? KI (GOMBNÉV 2)[ [SÉTA] [E 100 J 90] ]? GOMBNÉV! UTOLSÓNAK [TV!] GOMBNÉV? KI GOMBNÉV[ [TR] [ [SÉTA] [E 100 J 90] ] [TOLLSZÍN!] [TV!] ]

GOMBNÉV!GOMBNÉV! --- utasítás 1 vagy 2 bemenő adattalGOMBNÉV! [definíció ... ](GOMBNÉV! szám definíció )GOMBNÉV! [ ]ahol a definíció egy gombsordefiníció és a szám egy 1 és 30 közé eső egész számA Gombok ablak gombjaival kapcsolatban definiált feliratot/grafikát és a viselkedést határozza meg. Az első definíció az első gombon tűnik fel, a második definíció a máso-dik gombon stb. Ha paraméterként szám és definíció szerepel, akkor részleges definíció-val egyetlen gombot (a szám-adikat) definiálhatunk. Ha a bemenete üres lista [ ], akkor az összes gomb az alapértelmezett méretre és elhelyezkedésre áll vissza az ablakon belül, és a rendszer törli az összes feliratot/grafikát és viselkedést.Az aktuálisan a gombokhoz tartozó feliratokat és viselkedést a GOMBNÉV függvény eredményeként kapjuk meg. A Gombok ablak látható, illetve nem látható voltától füg-getlenül használhatjuk a GOMBNÉV! utasítást.A Gombok ablak képernyőn való megjelenítésére a MUTATGOMBSOR utasítás szol-gál, míg elrejteni REJTGOMBSOR utasítással lehet.

128

Page 129: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? GOMBNÉV! [ ]? GOMBNÉV! [ [TR] [ [MENJ] [E 100 J 90] ] [TSZ!] ]? KI GOMBNÉV[ [TR] [ [MENJ] [E 100 J 90] ] [TSZ!] ]? KI (GOMBNÉV 2)[ [MENJ] [E 100 J 90] ]? GOMBNÉV! UTOLSÓNAK [TV!] GOMBNÉV? KI GOMBNÉV[ [TR] [ [MENJ] [E 100 J 90] ] [TSZ!] [TV!] ]

Más lehetőségek:közvetlenül definiálhatjuk, illetve módosíthatjuk bármelyik gombot, ha ráklikkelünk a jobb egérgombbal, a Gombok ablakon belül bármely gombot elmozgathatjuk, ha le-nyomjuk a Shift billentyűt és a jobb egérgombbal vontatjuk.

GOMBSORGOMBSOR --- bemenő adat nélküli függvényGOMBSOREredménye egy négy- vagy ötelemű lista, mely a Gombok ablak aktuális pozícióját és méretét írja le, kiegészítve esetleg ennek elnevezésével is.Az eredménylista a következő formátumokat veheti fel: [X Y sz m ] vagy [X Y sz m szöveg ], ahol X és Y az ablak bal felső sarkának abszolút koordinátái, sz és m pedig a gombterület szélessége, illetve magassága. Ha a címsor megváltozik, és így már nem az alapértelmezett Gombok lesz, akkor az új elnevezés a lista ötödik elemeként szerepel.Az ablak méretét, elhelyezkedését vagy címsorát a GOMBSOR! utasítás segítségével változtathatjuk meg.

GOMBSOR!GOMBSOR! --- utasítás 1 bemenő adattalGOMBSOR! [X Y sz m ]GOMBSOR! [X Y sz m szöveg ]GOMBSOR! [X Y sz m [ ]]GOMBSOR! [ ]ahol az X, Y, sz és m számokA Gombok ablak aktuális méretét és elhelyezkedését állítja be.Ha a bemenő lista az [ X Y sz m ] számokat tartalmazza, akkor ezen adatok közül az [X Y] ponttal az ablak bal felső sarkának pozícióját határozza meg, az ablak szélességét az sz, magasságát pedig az m adja meg. Jegyezzük meg, hogy az X, Y abszolút képernyő-koordináták, és az sz és az m az ablak gombterületének szélességét és magasságát jelö-lik (vagyis az ablak méretébe nem számítjuk bele az azt körülvevő fekete keretet és a címsorát).Ha a lista szöveget is tartalmaz, akkor ez határozza meg a Gombok ablak címsorában ol-vasható feliratot. Ha ötödik elemként üres listát adunk meg [ ], akkor nem jelenik meg az ablak címsora, így az ablakot nem mozgathatja a felhasználó az egér segítségével.Ha a GOMBSOR! utasításnak az [ ] üres lista bemenetet adjuk, akkor ez az ablak alap-értelmezett pozícióját és méretét állítja be. Ha a GOMBNÉV! [ ] utasítással együtt hasz-náljuk, akkor törli az összes gombot, és a Gombok ablak összes gombjának az alapértel-mezett (nem definiált) viselkedését állítja be, lásd a GOMBNÉV! eljárást is.

? GOMBSOR! [0 0 100 110]

129

Page 130: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? GOMBSOR! M [535 80] EN EN GOMBSOR; csak az ablak elhelyezkedését változtatja meg,; a méretét és a feliratát nem

? GOMBSOR! [485 80 150 110 [Az Utasításaid] ]

MGMUTATGOMBSOR; MG --- bemenő adat nélküli utasításMUTATGOMBSORMegjeleníti a Gombok ablakot a képernyőn. Ezt a gombokhoz tartozó viselkedésektől függetlenül teszi, vagyis a gombdefiníciókat nem változtatja meg a Gombok ablak meg-jelenítése, illetve eltüntetése.Az ablakot a képernyőről eltüntetni a REJTGOMBSOR utasítással lehet. A gombok vi-selkedését definiálni vagy átdefiniálni (a feliratukat/grafikájukat és a reakciót), a GOMBNÉV! utasítással lehet. A Gombok ablak méretét a GOMBSOR! utasítással állít-hatjuk be. A gombok aktuális definícióit a GOMBNÉV függvény eredményéből olvas-hatjuk ki.Más lehetőség:nyomjuk meg az F10 funkcióbillentyűt

MIMUTATIKONSOR; MI --- bemenő adat nélküli utasításMUTATIKONSORMegjeleníti az Ikonsort a képernyőn.Amikor az Ikonosor nem látható, akkor a rajzlap egy kicsit nagyobb lehet (ez az Alapér-telmezés gomb lenyomásával ellenőrizhető a Képablak beállítása párbeszédablakban, lásd a RAJZLAP! vagy az ÍRÓLAP! utasítást). A Logo Fő-ablakának pontos méretét a LOGOABLAK! utasítás alkalmazásával határozhatjuk meg.Az Ikonsort a képernyőről eltüntetni a REJTIKONSOR utasítással lehetséges.Más lehetőség:a Fő-ablak Ablak menüjének Eszközsort mutat utasítása.

MUTATGOMBSOR; MG

MUTATIKONSOR; MI

REJTGOMBSOR; RGREJTGOMBSOR; RG --- bemenő adat nélküli utasításREJTGOMBSOREltünteti a Gombok ablakot a képernyőről. Ezt a gombok viselkedésétől (szöveg/rajz és a reakció) függetlenül teszi, tehát a Gombok ablak láthatóvá tétele, illetve elrejtése a gombdefiníciókat nem változtatja meg.A Gombok ablak képernyőn való megjelenítéséhez használjuk a MUTATGOMBSOR utasítást. A gombok viselkedésének meghatározása, illetve újradefiniálása a GOMB-NÉV! utasítás segítségével lehetséges. A Gombok ablak mérete a GOMBSOR! utasítás-sal állítható be. A gombok aktuális definícióit a GOMBNÉV függvény eredménye mu-tatja meg.Más lehetőség:

130

Page 131: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

az F10 funkcióbillentyű lenyomása.

REJTIKONSOR; RIREJTIKONSOR; RI --- bemenő adat nélküli utasításREJTIKONSOREltünteti a Fő-ablak Ikonsorát a képernyőről.Amikor az Ikonsor nem látható, akkor a rajzablak egy kicsivel nagyobbá válik (amiről a Képablak beállítása párbeszédablakban az Alapértelmezés gomb lenyomásával győződ-hetünk meg, lásd a RAJZLAP! vagy az ÍRÓLAP! utasításokat). A Logo Fő-ablakának pontos méretét a LOGOABLAK! utasítás segítségével állíthatjuk be.Ha újra láthatóvá szeretnénk tenni az Ikonsort a képernyőn, használjuk a MUTATI-KONSOR utasítást.Más lehetőség:a Fő-ablak Ablak menüjében az Eszközsort elrejt utasítás.

RG

RI

131

Page 132: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Kommunikáció a Külvilággal"

JELJEL --- függvény 1 bemenő adattalJEL számahol a szám egy a 0 és 255 közé eső egész számEredményül azt a karaktert kapjuk, melynek ASCII kódja az adott számmal egyenlő. Ahhoz, hogy egy karakter (vagy egy szó első karakterének) ASCII kódját megtudjuk, használjuk a KÓD függvényt.

? KIÍR JEL 122z? KI JEL 32 + KÓD "Ee

GNY?GOMBNYOMÁS?; GNY? --- bemenő adat nélküli függvényGOMBNYOMÁS?Eredménye IGAZ, ha valamely billentyűt lenyomtuk a billentyűzeten vagy a bal egér-gombot lenyomtuk, illetve felengedtük. Ugyancsak IGAZ értéket eredményez a függ-vény, ha a bal egérgomb lenyomott állapotában vontatjuk az egeret. Különben a vissza-adott érték HAMIS.Amikor a billentyűzetről egy karaktert olvasunk be, az OLVASKÓD és az OLVASJEL függvények addig várnak, amíg a GOMBNYOMÁS? függvény eredménye IGAZ lesz.

TANULD VÁRAKOZÁSHA GOMBNYOMÁS? [ÍRJ VISSZATÉR]VÁRAKOZÁS ; ilyesmi ciklust használ a READCHAR is

VÉGE

TANULD ÍRJKIÍRBELSŐ [A LENYOMOTT BILLENTYŰ:\ ]KIÍR OLVASJEL

VÉGE

? VÁRAKOZÁS ; addig vár, míg lenyomunk egy billentyűtA LENYOMOTT BILLENTYŰ: R?

GOMBNYOMÁS?; GNY?

KIKIÍRJEL; KI --- utasítás 1 vagy N bemenő adattalKIÍRJEL akármi(KIÍRJEL akármi1 akármi2 ... )Kiírja az adott bemeneteket az írólapra vagy az eredményfájlba, ha a KIÍRÓESZKÖZ utasítással ezt határoztuk meg a kimenő adatok célállomásának. Ha több bemenet szere-pel, akkor ezeket egymástól szóközzel elválasztva írja ki. A KIÍRJEL utasítás a kurzort

132

Page 133: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

a következő sor elejére helyezi. A KIÍRJEL „technikai kiírást valósít meg, mivel az ösz-szes zárójelet is változatlanul kiírja, lásd a KIÍR és a KIÍRBELSŐ utasításokat is.

? KI "SZÉPSZÉP? (KI "SZÉP "IDŐ "VAN)SZÉP IDŐ VAN? KI [RÖVID LISTA][RÖVID LISTA]? KI [NAGYON [BONYOLULT [LISTA] ] ][NAGYON [BONYOLULT [LISTA] ] ]

Egy képsor kiírásakor a következő formát láthatjuk: {képsorN}, ahol az N a képsor fá-zisszáma. A képsor tartalmának megtekintése a Memóriaablakban lehetséges.

? NÉV "AUTÓ BETÖLTKÉPSOR "%KEPSOR\\AUTO [ ]? KI :AUTÓ{képsor5}Hol használjuk az Escape karaktert \

KIÍRKIÍR --- utasítás 1 vagy N bemenő adattalKIÍR akármi(KIÍR akármi1 akármi2 ... )Kiírja az adott bemeneteket az írólapra vagy az eredményfájlba, ha a KIÍRÓESZKÖZ utasítással ezt határoztuk meg a kimenő adatok célállomásának. Ha egynél több beme-net szerepel, akkor ezeket a kiíráskor egymástól szóközzel választja el. A KIÍR utasítás a kurzort a következő sor elejére helyezi.A KIÍR a KIÍRJELEKET a KIÍRBELSŐ utasításokkal összehasonlítva „ember által ol-vashatóbb írást valósít meg, hiszen eltávolítja a listák külső zárójeleit, aminek haszna főként akkor mutatkozik meg, amikor mondatokkal dolgozunk:

? KIÍR "SZÉPSZÉP? (KIÍR "SZÉP "IDŐ "VAN)SZÉP IDŐ VAN? KIÍR [RÖVID MONDAT]RÖVID MONDAT? KIÍR [NAGYON [BONYOLULT [LISTA] ] ]NAGYON [BONYOLULT [LISTA] ]

Egy képsor kiírásakor a következő formát láthatjuk: {képsorN}, ahol az N a képsor fá-zisszámának megfelelő szám. A képsor tartalmának megtekintése a Memóriaablakban lehetséges.

? NÉV "AUTÓK BETÖLTKÉPSOR "%KEPSOR\\AUTO [ ]? KIÍR :AUTÓK{képsor5}Hol használjuk az Escape karaktert \

KIÍRBELSŐKIÍRBELSŐ --- utasítás 1 vagy N bemenő adattal

133

Page 134: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KIÍRBELSŐ akármi(KIÍRBELSŐ akármi1 akármi2 ... )Kiírja az adott bemeneteket az írólapra vagy az eredményfájlba, ha a KIÍRÓESZKÖZ utasítással ezt határoztuk meg a kimenő adatok célállomásának. A KIÍRJEL és a KIÍR utasításokkal ellentétben a kiírt bemeneteket nem választja el egymástól szóközzel, és a kurzort sem teszi a következő sor elejére.

? KIÍRBELSŐ "SZIASZIA? ; a parancsjel az utolsónak kiírt karakter mögött jelenik meg

Lista típusú paraméter esetén a KIÍRBELSŐ eljárás eltávolítja a külső zárójeleket. Egy képsor kiírásakor a következő formát láthatjuk: {képsorN}, ahol az N a fázisszáma. A képsor aktuális tartalmát a Memóriaablakban tekinthetjük meg.

? KIÍRBELSŐ [A B [1 2] C D]A B [1 2] C D?? NÉV "AUTÓ BETÖLTKÉPSOR "%KÉPSOR\\AUTÓ [ ]? KIÍRBELSŐ :AUTÓ{képsor5}?

Hol használjuk az Escape karaktert \? KIÍRBELSŐ "C\73A\-KGB? CIA-KGB?

KIÍRJEL; KI

KIÍRÓESZKÖZKIÍRÓESZKÖZ --- utasítás 1 bemenő adattalKIÍRÓESZKÖZ fájlKIÍRÓESZKÖZ [ ]A standard kimenő adatokat az adott fájlba irányítja át, vagyis azt definiálja, hogy a KIÍR, a KIÍRSOR, a KIÍRJELEKET és a KIÍRBELSŐ utasítások eredményüket az író-lap helyett a fenti fájlba írják. Ha nem létezik az adott nevű fájl, akkor a KIÍRÓESZ-KÖZ létrehozza. Ha létezik, akkor ennek tartalma felülíródik.Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel út-vonal benne, akkor a Logo az aktuális munkakönyvtárban keresi a megfelelő könyvtá-rat, azaz abban a könyvtárban, melyet az (ÚT "PROJEKT) kifejezés eredményeként ka-punk. Ha nem határozunk meg kiterjesztést, akkor a KIÍRÓESZKÖZ az .LGO kiterjesz-tést használja.A billentyűzetről begépelt összes utasítás, és minden HIBA-üzenet mindig az írólapon jelenik meg (a HIBA-üzeneteket soha nem lehet átirányítani egy fájlba). Ha képsor nyomtatásával próbálkozunk, akkor csak a {képsorN} szöveg íródik a fájlba, ahol az N a képsor fázisszámát jelöli.Amikor kiadjuk a KIÍRÓESZKÖZ [ ] utasítást, akkor az aktuális eredményfájl bezáró-dik, és a kimenő adatok ismét az írólapon fognak megjelenni.

Fájlba írás és fájlból olvasás

KIÍRSAJÁTSZAVAKKIÍRSAJÁTSZAVAK --- bemenő adat nélküli utasítássaját eljárások címsorának kiírásaKIÍRSAJÁTSZAVAK

134

Page 135: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Kiírja az írólapra a saját eljárások címsorát. Az ELFED utasítással fedetté tett eljárások címsorát csak abban az esetben írja ki, ha ideiglenesen láthatóvá tettük őket a FED! "HAMIS paranccsal.

TANULD ÖSSZEFŰZ :X :NKIÍR M :X :N

VÉGE

TANULD ÜDVÖZÖLKIÍR "SZIA

VÉGE

TANULD FURCSASÁG :A :B :C :D :E :F :GER (M :A :B :C :D :E :F :G)

VÉGE

? KIÍRSAJÁTSZAVAKTANULD ÖSSZEFŰZ :X :NTANULD ÜDVÖZÖLTANULD FURCSASÁG :A :B :C :D :E :F :G

KIÍRSOR; KSKIÍRSOR; KS --- utasítás 1 vagy N bemenő adattalKIÍRSOR akármi(KIÍRSOR akármi1 akármi2 ... )Kiírja az adott bemeneteket az írólapra vagy az eredményfájlba, ha a KIÍRÓESZKÖZ utasítással ezt határoztuk meg a kimenő adatok célállomásának. A KIÍR utasítástól elté-rően, a KIÍRSOR minden egyes bemenetét külön sorban írja ki. Ha valamely bemenet-ként lista szerepel, akkor a KIÍRSOR ennek elemeit szintén külön sorban írja ki. Ha a bemenő lis-ta valamely eleme maga is lista, akkor ennek elemei egyetlen sorban láthatóak, a külső zárójelek nélkül:

? KS "HOOOOHOOOO? KS [KEDVES KIS LOGO]KEDVESKISLOGO? KS [ [ELSŐ ALLISTA] [MÁSODIK ALLISTA] ]ELSŐ ALLISTAMÁSODIK ALLISTA

A KIÍRSOR utasítás bemeneteinek kiírása után a kurzort a következő sor elejére helye-zi.

KIÍRTARTALOM; KTKIÍRTARTALOM; KT --- utasítás 1 bemenő adattaltartalom kiírásaKIÍRTARTALOM memóriaobjektumKIÍRTARTALOM memóriaobjektumok_listájaAz írólapra írja a bemeneteként adott objektumok definícióját, illetve definícióit.

135

Page 136: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A KIÍRTARTALOM kiírja azokat az aktuálisan rejtett objektumokat is, melyekre előző-leg az ELFED utasítást alkalmaztuk. Ha csak a saját eljárások címsorát szeretnénk ki-íratni, használjuk a KIÍRSAJÁTSZAVAK utasítást.Más lehetőség:a Memóriaablakban lehetőségünk van a saját objektumaink ellenőrzésére, létrehozására, és módosítására.

KS

KT

NYOMTATMEMÓRIANYOMTATMEMÓRIA --- utasítás 1 vagy N bemenő adattalNYOMTATMEMÓRIA nyomtatójelző(NYOMTATMEMÓRIA nyomtatójelző bemenet1 bemenet2 ... )ahol minden egyes bemenet vagy memóriaobjektum vagy memóriaobjektumok_listájaKinyomtatja a Memóriaablak aktuális tartalmát hasonló módon, mint azt a Fő-ablak Fájl menüjének Memórianyomtatás utasításának választásával kapnánk.Ha az utasításnak csak egyetlen bemenete van, akkor az összes memóriaobjektumot ki-nyomtatja, és a nyomtatás aktuális beállításait a nyomtatójelző határozza meg. Ha to-vábbi bemeneteket is tartalmaz, akkor csak a konkrétan megadott memóriaobjektumokat nyomtatja ki.A SAJÁTNEVEK, a NEVEK és a REKORDNEVEK eredménylistáit gyakran használ-juk a NYOMTATMEMÓRIA utasítás bemenő paramétereként. A pillanatnyilag rejtett objektumok nem elemei ezen listáknak, hacsak ideiglenesen láthatóvá nem tettük őket a FED! "HAMIS paranccsal vagy a Memóriaablak Elemek menüjének Elfedett is látszik utasítá-sával.

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

NYOMTATMEMÓRIA [ ] (NYOMTATMEMÓRIA "IGAZ "X "Y ":V ":P ""Q)

; kinyomtatja az X, Y utasításokat, a V, P változókat; és a Q szó összes mezőjét

(NYOMTATMEMÓRIA "IGAZ [X Y :V :P "Q]); a fentivel egyenértékű, de a bemenet egy lista

Más lehetőségek:a Fő-ablak Fájl menüjének Memórianyomtatás utasítása,a Memóriaablak Fájl menüjének Nyomtatás a memóriából utasítása.

NYOMTATÍRÓLAPNYOMTATÍRÓLAP --- utasítás 1 bemenő adattalNYOMTATÍRÓLAP nyomtatójelző

Kinyomtatja az írólap aktuális tartalmát. A nyomtatás aktuális beállításait a nyomtató-jelző határozza meg.a Fő-ablak Fájl menüjének Írólapnyomtatás utasítása.

NYOMTATRAJZLAPNYOMTATRAJZLAP --- utasítás 1 vagy 2 bemenő adattal

136

Page 137: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

NYOMTATRAJZLAP nyomtatójelző(NYOMTATRAJZLAP nyomtatójelző téglalapnyi_terület )Kinyomtatja a rajzlap aktuális tartalmát. A nyomtatás aktuális beállításait a nyomtatójel-ző határozza meg.Ha az utasításnak csak egyetlen bemenete van, akkor a teljes rajzlapot fogja kinyomtat-ni. Ha második bemenetet is adunk, akkor csak a rajzlap meghatározott téglalapnyi terü-lete nyomtatódik ki.Más lehetőség:a Fő-ablak Fájl menüjében a Rajzlapnyomtatás utasítás.

OJOLVASJEL; OJ --- bemenő adat nélküli függvényOLVASJELEredménye a billentyűzetről begépelt karakter. Ha semmiféle karaktert nem gépeltünk be (vagyis, ha nem nyomtunk le billentyűt), az OLVASJEL várakozik. (Technikailag: addig vár, amíg a GOMBNYOMÁS? feltétel IGAZ értéket eredményez). A begépelt ka-rakter nem jelenik meg a képernyőn.Ha a bemenő adatokat egy fájlból várja a rendszer, mert az OLVASÓESZKÖZ utasítás ezt határozta meg, akkor az OLVASJEL függvény eredménye az adott fájl aktuális sorá-nak következő karaktere lesz.

? KI OJ ; nyomjuk le az A billentyűtA ; az A-t a KI tette láthatóvá, nem az

; OLVASJEL? KI (M OJ OJ OJ OJ OJ) ; gépeljük be: H, E, L, L, O

[H E L L O]

Ha bármelyik vezérlőfunkcióval rendelkező billentyűt lenyomjuk (a nyilak, az Insert, a Delete, a Home, az End, a PgUp vagy a PgDn), akkor az OLVASJEL eredménye JEL 0 lesz, és ekkor egy további OLVASJEL parancs, eredményéből olvashatjuk ki magát a kódot. Gondosan hasonlítsuk össze az eljárást az OLVASKÓD függvénnyel!

? HA OJ = JEL 0 [KI KÓD OJ] ; nyomjuk le a Delete-et83

Fájlba írás és fájlból olvasás

OKOLVASKÓD OK --- bemenő adat nélküli függvényOLVASKÓDEredménye a lenyomott billentyűnek megfelelő karakter numerikus ASCII kódja. Ha nem nyomtunk le billentyűt, akkor az OLVASKÓD várakozik. (Technikailag: addig vár, amíg a GOMBNYOMÁS? feltétel eredménye IGAZ lesz.) A begépelt karakter jele-nik meg a képernyőn.

? KI M OLVASKÓD OLVASKÓD ; nyomjuk le a b-t és a B-t[98 66]

Az OLVASKÓD eredményeként „speciális értéket kapunk, ha valamely vezérlőfunkci-óval rendelkező billentyűt nyomjuk le, vagy a bal egérgombbal klikkelünk. A pontos ér-tékeket a következő felsorolás mutatja:

137

Page 138: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

a 9, 27, 13, 8 eredmények a Tab, az Esc, az Enter, illetve a BackSpace billentyűknek fe-lelnek meg, a -72, -75, -77, -80 értékekhez a nyilak lenyomásával jutunk (a megfelelő sorrendben a fel, a balra, a jobbra, és a le nyíl), eredményül -115, -116, -117, -118 érté-keket kapunk, ha a Ctrl+bal nyíl, a Ctrl+jobb nyíl, a Ctrl+fel nyíl, a Ctrl+le nyíl billen-tyűkombinációt érzékeli a rendszer, az eredmény -71, -79, -73, -81, -82, -83 lesz, ha a Home, az End, a PgUp, a PgDn, az Insert és a Delete billentyűk egyikét nyomjuk le,az 1, 2, ... 26, eredmények a Ctrl+A, Ctrl+B, ... Ctrl+Z billentyűkombinációknak felelnek meg (kivéve a Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+K kombinációkat), ha a LOGO! utasítás FGOMBOK opcióját 0 értékűre állítjuk be, akkor az OLVASKÓD eredményeként a -59, -60, ... -69 értékeket kapjuk, ha az F1, F2, ..., F11 funkcióbillentyűket nyomjuk le. Ha a fenti FGOMBOK opciót a 12 értékre állítjuk be, akkor az F12 billentyű lenyomása esetén az OLVASKÓD függvénytől a -70-es értéket kapjuk vissza, eredményként 0-t kapunk, ha lenyomtuk a bal egérgombot, (ez csak akkor érvényes, ha ez a rajzlapon be-lül történt) és -2-t, ha felengedtük a bal egérgombot. Így az egérrel való kattintás nem más, mint az OLVASKÓD függvény eredményeként kapott 0 vagy -2 érték. Ezeken kí-vül az OLVASKÓD eredménye -1 lesz, ha lenyomtuk a bal egérgombot, és még így tartva mozgatjuk, röviden: ha vontatjuk az egeret. Ezekben az esetekben használhatjuk az EGÉRHELY függvényt is: amikor az OLVASKÓD 0-t, ill. -2-t ad, akkor az EGÉR-HELY eredménye az a pozíció, melyben az egér állt abban a pillanatban, amikor a gom-bot lenyomtuk, illetve felengedtük. Amikor az OLVASKÓD -1-et ad, akkor az EGÉRHELY eredménye az egér aktuális pozíciója lesz. az OLVASKÓD függvényt használhatjuk az ÉRZÉKENYTERÜLET speciális jelentésű szóval együtt is, melynek eredményeként az ÉRZÉKENYTERÜLET mezői által meghatározott kódokat kapjuk.

? HA OLVASKÓD = -79 [KIÍR [Ez az END billentyű] ] ; nyomjuk le az End-etEz az END billentyű

Az OLVASKÓD az OLVASJEL függvénytől eltérően soha nem irányítható át az OL-VASÓESZKÖZ utasítással fájlból való olvasásra. Ez teszi lehetővé, hogy még akkor is, amikor fájlból olvasunk, a billentyűzetről is olvashatunk be adatokat az OLVASKÓD függvénnyel.

OLOLVASLISTA; OL --- bemenő adat nélküli függvényOLVASLISTAA Logo először kiteszi az írólapra a listaolvasás parancsjelét egy szóközzel követve, és addig vár, amíg begépelünk valamit és lenyomjuk az Entert. Az OLVASLISTA az álta-lunk begépelt adatokat zárójelbe teszi, és listaként adja eredményül:

? KI OLVASLISTA

: CSAK KÉT SZÓ ; ezt gépeltük be[CSAK KÉT SZÓ] ; ez az eredmény

? KI OLVASLISTA

: NAGYON [FURCSA [SZERKEZET] ] ; ezt gépeltük be[NAGYON [FURCSA [SZERKEZET] ] ] ; ez az eredmény

(Győződjünk meg arról, hogy tisztában vagyunk a KI és a KIÍR utasítások közötti kü-lönbséggel.)

138

Page 139: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

? NÉV "P OLVASLISTA

: KIÍR "HELLO ; ezt gépeltük be

? KI :P[KIÍR "HELLO]? VÉGREHAJT :P

HELLO ; lásd a VÉGREHAJT eljárást is

Ha a bemenő adatokat az OLVASÓESZKÖZ utasítás hatásaként egy fájlból várja a rendszer, akkor az OLVASLISTA függvény eredménye az aktuális sor hátra lévő része lesz, egy listába foglalva. Legyünk óvatosak: ha az egész Fő-ablak „csak grafikus képer-nyő módban van, és az OLVASLISTA függvény hajtódik végre, akkor a listaolvasás pa-rancsjele nem látható, de a Logo még mindig a bemenő adatunkra vár.Fájlba írás és fájlból olvasás

OLPARANCSJEL!OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattalOLVASLISTAPARANCSJEL! listaolvasás_parancsjeleAz utasítás segítségével meghatározhatjuk azt a szöveget, amit a listaolvasás új parancs-jeleként szeretnénk használni az írólapon. A listaolvasás parancsjelének az alapbeállítá-sa egy kettőspont (:), melyet egy szóköz követ (tehát az alapértelmezésben a parancsjel két karakterből áll).

? OLPARANCSJEL! "Amit\ gépelsz:\ ? KI OL

Amit gépelsz: A B C ; az A B C betűket írtuk be[A B C]

OLVASJEL; OJ

OLVASKÓD; OK

OLVASLISTA; OL

OLVASÓESZKÖZOLVASÓESZKÖZ --- utasítás 1 bemenő adattalOLVASÓESZKÖZ fájlOLVASÓESZKÖZ [ ]Megváltoztatja a standard bemenő adatok forrását, hogy a rendszer a meghatározott fájl-ból várja ezeket. Konkrétan azt definiálja, hogy az OLVASJEL, az OLVASSZÓ és az OLVASLISTA függvények a fenti fájlból olvassanak be a billentyűzet helyett. Ha nem létezik az adott nevű fájl, akkor HIBA következik be.

? OLVASÓESZKÖZ "FAJL55HIBA: Gondjaim vannak a(z) FILE55-val.

139

Page 140: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha csak részleges útvonal szerepel az adott fájlnévben, illetve egyáltalán nem szerepel útvonal, akkor az aktuális munkakönyvtárban keresi a rendszer a fájlt, azaz az ÚT "PROJEKT kifejezés eredménye hozzáadódik a keresendő könyvtár útvonalához. Ha nem határozzuk meg a fájl kiterjesztését, akkor az OLVASÓESZKÖZ az .LGO kiter-jesztéssel bővíti a fájlnevet.Ha már a fájl utolsó információját olvastuk be (azaz az OLVASLISTA utasítással az utolsó sorát, az OLVASSZÓ eljárással utolsó szavát, vagy az OLVASJEL paranccsal utolsó karakterét), akkor a FÁJLVÉGE? feltétel eredménye IGAZ lesz.Ha az OLVASÓESZKÖZ [ ] utasítást gépeljük be, akkor a továbbiakban a rendszer is-mét a billentyűzetről várja a bemenő adatokat.Fájlba írás és fájlból olvasás

OLVASLISTAPARANCSJEL!; OLPARANCSJEL! OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattalOLVASLISTAPARANCSJEL! listaolvasás_parancsjeleAz utasítás segítségével meghatározhatjuk azt a szöveget, amit a listaolvasás új parancs-jeleként szeretnénk használni az írólapon. A listaolvasás parancsjelének az alapbeállítá-sa egy kettőspont (:), melyet egy szóköz követ (tehát az alapértelmezésben a parancsjel két karakterből áll).

? OLPARANCSJEL! "Amit\ gépelsz:\ ? KI OL

Amit gépelsz: A B C ; az A B C betűket írtuk be[A B C]

OLVASSZÓ; OSZOLVASSZÓ; OSZ --- bemenő adat nélküli függvényOLVASSZÓA Logo először kiírja az írólapra a listaolvasás parancsjelét egy szóközzel követve, és addig vár, amíg beírunk egy szót és lenyomjuk az Enter billentyűt. Az OLVASSZÓ függvény eredménye ez a szó lesz. Ha több szót gépelünk be (az Enter lenyomása előtt), akkor az OLVASSZÓ csak a legelsőt fogja figyelembe venni.? NÉV "NEVED OSZ: RÉKA? KI :NEVEDRÉKA

Ha a bemenő adatokat az OLVASÓESZKÖZ utasítás hatásaként fájlból várja a rend-szer, akkor az OLVASSZÓ függvény eredménye az adott fájl aktuális sorának követke-ző szava lesz. Ha a bemenő adat első karaktere a bal szögletes zárójel [, akkor az OL-VASSZÓ függvény eredménye az egész lista lesz. Legyünk óvatosak: ha az egész Fő-ablak „csak grafikus képernyő módban van, és az OLVASSZÓ függvény fut, akkor a listaolvasás parancsjele nem látható, de a Logo a bemenő adatunkra vár.Fájlba írás és fájlból olvasás

OLVASÜZENŐOLVASÜZENŐ --- függvény 1 vagy 2 bemenő adattal, vagy bemenő adat nélkülOLVASÜZENŐ(OLVASÜZENŐ szöveg1 )

140

Page 141: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

(OLVASÜZENŐ szöveg1 szöveg2 )Egy (esetleg kérdést és címsort tartalmazó) párbeszédablak tűnik fel a képernyőn. A párbeszédablak belsejében egy szerkeszthető sor és egy OK gomb látható. A felhasználó beírhat valamit a szerkeszthető sorba, és megnyomhatja az Entert vagy az OK gombot. A szöveg, amit a szerkesztő-vezérlőbe írunk, egy listaként adódik át a Logónak, és az OLVASÜZENŐ függvény eredményévé válik. Ha a függvénynek nincs bemenő adata, akkor nem szerepel kérdés (illetve szöveg) az ablakon belül. Egyébként a szöveg1 határozza meg a kérdést. Ha a függvénynek csak 1 paramétere van, akkor a párbeszédablak neve Comenius Logo lesz. Különben a szöveg2 adja meg a címsor szövegét. Az üres lista- bemenet az üres szöveget tartalmazó címsort definiálja.Ha a szerkeszthető sorba gépelt bemenet hibás lista (például több bezárójelet tartalmaz, mint nyitót, mint például az [a] ]), akkor a párbeszédablak nem záródik be. E helyett csi-pog, és a bemenet kijavítását kívánja meg. Például a

? KI (OLVASÜZENŐ [ ] [Kérdés1] )

kinyit egy párbeszédablakot, melyben nem szerepel kérdés. Ennek címsorában a Kér-dés1 szöveg lesz olvasható.

OSZ

PARANCSJEL!PARANCSJEL! --- utasítás 1 bemenő adattalPARANCSJEL! szóahol a szó legfeljebb 16 karakterből állhatAz írólapon az írólap parancsjeleként használandó szöveget határozhatjuk meg az utasí-tás segítségével (mint DOS-ban a prompt). Az írólap parancsjelének alapbeállítása a ? egy szóközzel követve (tehát az alapértelmezett parancsjel két karakterből áll).

? PARANCSJEL! "Amit\ gépelsz:\ Amit gépelsz: KIÍR "SZIASZIAAmit gépelsz: KIÍR 55Amit gépelsz: PARANCSJEL! "?\ ?

Hol használjuk az Escape karaktert \Más lehetőség:az írólap parancsjelét a Képablak beállítása párbeszédablakban is beállíthatjuk, mely ak-kor tűnik fel, ha a Fő-ablak Beállítások menüjének Ablakok beállítása... utasítását vá-lasztjuk ki.

TEKNŐCOLVASLISTA; TOLTEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvényTEKNŐCOLVASLISTAEgy szerkeszthető sor jelenik meg az első aktív teknőc aktuális pozíciójában (a teknőc pozíciójában lesz a vezérlő közepe). A Logo ekkor addig vár, amíg a felhasználó beír valami szöveget a szerkesztő-vezérlőbe, és lenyomja az Enter billentyűt. A szerkesztő-vezérlő ekkor bezáródik, és a begépelt szöveg adja a TEKNŐCOLVASLISTA függvény eredményét.

141

Page 142: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A szerkesztő-vezérlőnek mindig egyszerű kerete van, és színe az első aktív teknőc aktu-ális tollszínétől és kitöltőszínétől függ. (Ha ezek a színek különbözőek, akkor a szöveg a vezérlőben a tollszínnel fog megegyezni, és háttérszíne lesz a kitöltőszínnel megegyező. Ha ezek azonosak, akkor a háttérszín az alapértelmezett Windows háttérszín lesz [általá-ban fehér] és a szöveg színe lesz az aktuális tollszín.)

TIZEDESJEGY!TIZEDESJEGY! --- utasítás 1 bemenő adattala tizedestörtek pontosságának beállításaTIZEDESJEGY! számahol a szám egy 0 és 18 közé eső egész számA számok nyomtatása, illetve kiírása esetén kijelzendő tizedesjegyek számát határozhat-juk meg az utasítás segítségével. Ez a beállítás nem befolyásolja a számítások pontossá-gát, mely változatlan marad (pl.:2.72-t ír ugyan ki, de számolásnál 2.7182...-tal számol). Amikor a Logót elindítjuk, a TIZEDESJEGY! 2 utasítást hajtja végre a program.

? KI HATVÁNY 12.72? TIZEDESJEGY! 10? KI HATVÁNY 12.7182818285

Tizedesjegyek száma...

TOL

ÜZENŐÜZENŐ --- utasítás 1 vagy 2 bemenő adattalÜZENŐ szöveg1 (ÜZENŐ szöveg1 szöveg2 )Kinyitja azt a párbeszédablakot, melynek címsorában a szöveg2 olvasható, és az abla-kon belül a nem szerkeszthető szöveg1 (vagyis a tényleges üzenet), és egy OK gomb ta-lálható.A Logo felfüggeszti a program végrehajtását, és addig vár, amíg a felhasználó lenyomja az OK gombot vagy az Enter billentyűt. Ezután az ÜZENŐ utasítást követő eljárással folytatja a végrehajtást.Ha az utasításnak egyetlen bemenete van, akkor a párbeszédablak címsora megegyezik a Logo Fő-ablakának nevével. Ha az utasításnak két bemenő adata van, és a szöveg2 üres lista [ ], akkor az ablaknak nem lesz felirata.

VÁGÓLAPVÁGÓLAP --- különleges jelentéssel bíró szóLogo-eljárás "VÁGÓLAPahol a Logo-eljárás egy fájlkezelő eljárás, mely a fájlok betöltését, illetve elmentését te-szi lehetővé.Egy LGO-fájl, képernyő, képsor, projektkötet betöltése vagy egy szövegfájl beolvasása közvetetten is lehetséges, ha a Logo-eljárást a "VÁGÓLAP szó követi a fájlnév helyett. Ha a Windows Vágólapja éppen megfelelő szerkezetű információt tartalmaz, akkor en-nek tartalma kerül betöltésre.Hasonló mondható el az LGO-fájl, képernyő stb. elmentéséről is. Ha a "VÁGÓLAP szót használjuk a fájlnév helyett, akkor a kijelölt objektumok közvetlenül a Vágólapra

142

Page 143: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

kerülnek. A memóriaobjektumokat a Vágólapra tehetjük a Memóriaablak Szerkesztés menüjének. Kivág vagy Másol utasításaival is, vagy kép esetén a Paintbrush vagy hasonló Win-dows-alkalmazás Kivág vagy Másol parancsával, szöveg esetén a Write vagy hasonló Windows-alkalmazás Kivág vagy Másol parancsával.

143

Page 144: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Fájlkezelő eljárások

CSATOLCSATOL --- utasítás 1 vagy N bemenő adattalCSATOL LGO_fájl(CSATOL LGO_fájl bemenet2 bemenet3 ... )ahol minden bemenet2, bemenet3 ... vagy egy memóriaobjektum, vagy memóriaobjek-tumok listája.Az összes felsorolt objektumot egy megadott nevű fájlba menti. Ha ilyen nevű fájl már létezik, akkor a kijelölt objektumokat a fájl végéhez írja (nem úgy, mint a MENT pa-rancs, amely a fenti esetben az új információ elmentése esetén kitörli az azonos nevű fájl korábbi tartalmát).Ha a CSATOL utasításnak csak egy bemenő adata van, akkor a fájl az összes saját eljá-rással bővül, ezért a CSATOL fájl és a CSATOL fájl SAJÁTNEVEK parancsok hatása megegyezik. Ennek megértése érdekében érdemes a SAJÁTNEVEK függvényt is tanul-mányozni. Nem eljárásszerű objektumok elmentése a kívánt objektumok részletes felso-rolásával lehetséges, amint azt az alábbi példa is mutatja:

? (CSATOL "FAJL1 SAJÁTNEVEK [:A :B :C]); elmenti az összes eljárást és a három változót,

? (CSATOL "FAJL2 [HÓKA MÓKA] NEVEK); elmenti a HÓKA és MÓKA nevű eljárásokat,; és az összes változót

About PROCS, NAMES, and PROPS Lists...

A csatolt objektumok elmentése ugyanabban a formátumban történik, mint a SAVE uta-sítás esetében, így amikor a fájlt a LOAD utasítással betöltjük, ugyanazon objektumok létrehozása ismétlődik meg.A fedett objektumokat nem menti el, hacsak nem soroljuk fel őket tételesen. Ha az ösz-szes fedett objektumot menteni akarjuk, használjuk a CSATOL fájl FEDETT utasítás-sort. A parancs megértéséhez érdemes megnézni a FEDETT függvény ismertetését is.A fájlt az aktuális munkakönyvtárban fogja keresni a rendszer (amelyet az ÚT függ-vény eredményeként kaphatunk meg, és a ÚT! utasítással állíthatunk be), illetve, ha tel-jes útvonallal adjuk meg a fájlnevet, akkor az ennek megfelelő könyvtárban. Ha nem használunk kiterjesztést, akkor az alapértelmezett .LGO kiterjesztést használja a rend-szer. Ha a megadott nevű fájl nem létezik, akkor az első lépés ennek létrehozása lesz.

ÁTÍRFÁJLÁTÍRFÁJL --- utasítás 1 bemenő adattalÁTÍRFÁJL fájlKinyitja a Fájlszerkesztő ablakot és aktívvá teszi. Ebben a módban a Logo lehetőséget biztosít megfelelő szövegfájlok szerkesztésére, illetve létrehozására.Ha a megadott nevű fájl nem létezik, akkor első lépésként a Logo létrehozza ezt. Azon-ban, ha semmit nem változtatunk meg a fájl tartalmán, akkor a Szerkesztő ablak bezárá-sa után nem menti el a fájlt (tehát ha ez egy új üres fájl, akkor még létre sem hozza).

Ha csak részleges útvonal szerepel, vagy egyáltalán nem szerepel útvonal az adott fájl-névben, akkor az aktuális munkakönyvtárban keresi a megfelelő alkönyvtárat, illetve

144

Page 145: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

fájlt. Ahhoz, hogy megértsük a keresés szabályát, és beállítsuk a munkakönyvtárat, ér-demes az ÚT és az ÚT! utasításokat tanulmányozni a "PROJEKT bemenő paraméterrel, illetve a LOGO! utasítást az "ALAPÚT bemenettel. A szövegfájlok olvasásának eltérő módjainak megismerése érdekében lásd az OLVASÓESZKÖZ utasítást.Ha nem adunk meg kiterjesztést a fájlnévben, akkor az ÁTÍRFÁJL automatikusan az .LGO kiterjesztést használja.

BETÖLTBETÖLT --- utasítás 1 bemenő adattalBETÖLT LGO_fájlBetölti és végrehajtja az adott fájlban szereplő parancsokat. A fájl tartalmát úgy kezeli, mintha az összes sorát a billentyűzetről gépelnénk be: a TANULD utasításokkal eljárá-sokat definiál, a NÉV utasításokkal változókat hoz létre, a MEZŐ! utasításokkal mező-ket definiál, és a további parancsokat a Logóban szokásos módon kezeli. Ha már létezik azonos nevű memóriaobjekum, akkor ennek tartalmát az újéval helyettesíti (kivéve, ha éppen fedett az adott objektum). A fájlt az aktuális munkakönyvtárban fogja keresni a rendszer (amit az ÚT függvény "PROJEKT bemenettel való alkalmazása ad meg), vagy abban a könyvtárban, melyet a teljes fájlnév határoz meg. Ahhoz, hogy a keresés és a munkakönyvtár beállításának sza-bályát megértsük, vizsgáljuk az ÚT! utasítást és a LOGO! utasítást az "ALAPÚT paraméterrel. A szövegfájlok olvasásának különböző módjait az OLVASÓESZKÖZ utasítás tanulmá-nyozásával ismerhetjük meg.Ha a fájlnévben nem adunk meg kiterjesztést, akkor a Logo értelemszerűen az .LGO ki-terjesztést használja. Ha nem létezik az adott nevű fájl, akkor HIBA következik be.Ha az éppen betöltött fájl elmentésekor a képsor tartalmú változókat is elmentettük, ak-kor egy következő formátumú sort is fog tartalmazni:

NÉV "NÉV BETÖLTKÉPSOR "* [szám1 szám2]

Ezért amikor visszatöltjük, a BETÖLTKÉPSOR függvényt szintén végrehajtja a Logo, s ezzel a megfelelő változók tartalma az eredeti képsor lesz.Színmódosulások grafika kimentésénél és betöltésénél

BETÖLTKÉPSORBETÖLTKÉPSOR --- függvény 2 bemenő adattalBETÖLTKÉPSOR LGW_fájl [ ]BETÖLTKÉPSOR LGW_fájl intervallumEredménye az adott fájl által tartalmazott képsor.Ha nem akarjuk az egész LGW fájlt betölteni, és így a BETÖLTKÉPSOR eredménye-ként látni, az intervallum, konkrétan a [szám1 szám2] paraméter segítségével meghatá-rozhatjuk a fájl megfelelő részét. Az intervallumbeli szám1-gyel megadható, hogy a le-mezen levő fájl hányadik fázisa legyen elsőként betöltve; a szám2 pedig az egymást kö-vető fázisok számát írja elő. Az üres [ ] bemenet azt jelenti, hogy a fájlban elmentett képsor egészét be kell tölteni.Ha a fájlnév csak részleges útvonalat tartalmaz, vagy egyáltalán nem tartalmaz útvona-lat, akkor az alapkönyvtár KEPSOR alkönyvtárában keresi a rendszer az adott fájlt. En-nek a beállításnak a megváltoztatása az ÚT! utasítás használatával lehetséges, ha első bemeneteként a "KEPSOR szót adjuk. Az aktuális beállítást az ÚT függvény eredmé-nyéből olvashatjuk ki, ha bemenetként szintén a "KEPSOR szót használjuk.

145

Page 146: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha a fájlnévben nem szerepel kiterjesztés, akkor a BETÖLTKÉPSOR automatikusan az .LGW-t adja hozzá. Egy képsor fájlba mentésére szolgál a MENTKÉPSOR utasítás. Egy adott képsort egy teknőc új alakjának adhatjuk, ha az ALAK! utasítást használjuk.

? NÉV "ÚJ BETÖLTKÉPSOR "AUTO [1 2]? KI :ÚJ{képsor2}? ALAK! :ÚJ

Színmódosulások grafika kimentésénél és betöltésénél

BETÖLTKÖTETBETÖLTKÖTET --- utasítás 1 bemenő adattalBETÖLTKÖTET projekt-kötetAz adott projektkötetet (tetszőleges érvényes Logo projekt fájl) tölti be, és:a Memória aktuális tartalmát kiegészíti a projektkötetben elmentett összes memóriaob-jektummal. Ha létezik azonos nevű memóriaobjektum a Memóriában és a betöltendő kötetben is, akkor előző tartalmát (érték, definíció stb.) elveszti, és újradefiniálódik a kötet tartalmának megfelelően, kiegészíti a teknőcök aktuális listáját az összes olyan teknőccel (az összes beállítással együtt), melyek a köteten belül el vannak mentve. Ha létezik a Logóban és a kötetben azonos nevű teknőc, akkor az eredeti teknőc törlődik, és teljesen újként hozza létre a rendszer a kötetnek megfelelő jellemzőkkel, az összes be-töltött memóriaobjektum azonnal fedetté válik. A fedett objektumokról többet megtud-hatunk, ha az ELFED, a FELFED, a FEDETT, az ELFEDMIND és a FED! utasításokat tanulmányozzuk.Ha az adott kötetnévben csak részleges útvonal szerepel, vagy egyáltalán nem szerepel útvonal, akkor az aktuális munkakönyvtárban keresi ezt a fájlt. Ahhoz, hogy a keresés és a munkakönyvtár beállításának szabályát megértsük, tanulmányozzuk az ÚT és az ÚT! utasításokat, valamint a LOGO! utasítást az "ALAPÚT bemenő paraméterrel.Színmódosulások grafika kimentésénél és betöltésénél

BETÖLTŐÚTBETÖLTŐÚT --- függvény 1 bemenő adattal vagy bemenő adat nélkülBETÖLTŐÚT szó(BETÖLTŐÚT)Egy bemenő adattal használva, a függvény eredményeként egy teljes elérési útvonalat kapunk, amelynek végén a bemenő szó (leggyakrabban egy fájl neve) áll. A meghajtó és a könyvtár nevét a legutóbb alkalmazott BETÖLT utasítás vagy a Fájl menü Megnyi-tás... utasításában használt útvonal határoz meg.A függvény segítségével leegyszerűsíthető a további fájlok betöltése, amikor egy kezdő-fájlt vagy projektet használunk. Ezután bármikor, amikor ugyanabból a könyvtárból, ahonnan a projektünket betöltöttük, új fájlt (például egy másik képernyőt) szeretnénk betölteni, egyszerűen azt írhatjuk:

? BETÖLTRAJZLAP BETÖLTŐÚT "FAJL

A BETÖLTŐÚT függvény alkalmazásának köszönhetően az összefüggő fájlok csoport-jait könyvtárból könyvtárba mozgathatjuk anélkül, hogy a későbbiekben a betöltő utasításokban az útvonalakat módosítani kellene. (Azon-ban felesleges a BETÖLTŐÚT függvényt használni, ha a projekt nem tölt be további fájlokat.)

146

Page 147: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Amikor bemenő adat nélkül használjuk a BETÖLTŐÚT függvényt, akkor eredménye-ként azt az útvonalat kapjuk meg, amelyik könyvtárból a legutóbb alkalmazott BETÖLT utasítás vagy a Fájl menü Megnyitás... utasítása a beolvasást végezte.Ha eddig még nem használtuk a BETÖLT vagy a Megnyitás... utasításokat, akkor a BE-TÖLTŐÚT az alapkönyvtár elérési útvonalát adja eredményül.

BETÖLTRAJZBETÖLTRAJZ --- függvény 1 bemenő adattalBETÖLTRAJZ BMP_fájlEredménye egy képsor, melyet a bemenő rajzból alakít át. Az eredményképsor mindig egyetlen fázisból áll.A BETÖLTRAJZ függvény bármilyen (például a Paintbrush-ban készült) rajz képsorrá való átalakítását lehetővé teszi, mely a transzformáció után elhelyezhető a rajzlapon a BETOLDKÉP utasítással, vagy megjelölhető egy változó értékeként a NÉV utasítással, illetve egy teknőc alakjaként alkalmazható az ALAK! utasítás használatával. Ha az ere-deti rajz nagyobb, mint a maximális képsorméret, akkor ennek csak 255 x 255 képpont-ját veszi figyelembe a rendszer a bal felső sarkától kezdődően. Ez a pont válik az ered-ményképsor tollhelyévé is, lásd a KIHASÍTKÉP függvényt. Az egész képsor nemátlát-szó lesz. Ennek megváltoztatása a Logo Képsorszerkesztőjének alkalmazásával lehetsé-ges.

? NÉV "VALAMI BETÖLTRAJZ "%KEPSOR\\CICA.BMP? KIÍR KÉPSOR? :VALAMIIGAZ? KIÍR :VALAMI{képsor1}

Ha a fájlnévben nem adunk meg kiterjesztést, akkor automatikusan a .BMP kiterjesztést használja a rendszer. Ha a fájlnév csak részleges útvonalat tartalmaz, vagy egyáltalán nem tartalmaz útvonalat, akkor a munkakönyvtárban keresi a rendszer. A keresés és a munkakönyvtár beállítás szabályainak megértése az ÚT és ÚT! utasítások, valamint a LOGO! utasítás "ALAPÚT bemenettel való használatának tanulmányozása alapján le-hetséges. Egy képsor első fázisának rajzként való fájlba mentése a MENTRAJZ utasí-tással lehetséges.Színmódosulások grafika kimentésénél és betöltésénél

BETÖLTRAJZLAPBETÖLTRAJZLAP --- utasítás 1 bemenő adattalBETÖLTRAJZLAP BMP_fájlBetölti a fájl tartalmát a rajzlapra. Szükséges, hogy az adott fájl bármilyen méretű, stan-dard rajz formátumú legyen. A rajzlap aktuális szélessége és magassága a betöltött rajz megfelelő méreteitől függ. Ha ennek mérete kisebb, mint a Logo Fő-ablakának lehetsé-ges beállításai, a betöltött rajz a Fő-ablak bal felső sarkában lesz elhelyezve, vagy pedig a képernyő közepén, az éppen érvényben lévő RAJZLAP! opciónak megfelelően.A BETÖLTRAJZLAP nem változtatja meg az aktív teknőcök listáját, sem az állapotu-kat. Azonban szükség esetén az összes olyan teknőcöt, mely KÖRKÖRÖSEN módban volt, elmozgatja úgy, hogy az aktuális rajzlapon belül álljon.A rajzlap aktuális tartalmának elmentésére szolgál a MENTRAJZLAP utasítás. Ha csak részleges útvonal szerepel a fájlnévben, vagy egyáltalán nem szerepel útvonal, akkor a rendszer az alapkönyvtár RAJZLAP alkönyvtárában keresi a megfelelő fájlt. Ha ez a könyvtár nem létezik, akkor a KEPSOR alkönyvtárat használja helyette. Ennek a beállí-tásnak a megváltoztatására szolgál az ÚT! utasítás, ha a "RAJZLAP szóval, mint első

147

Page 148: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

paraméterrel használjuk. Az aktuális beállítást az ÚT függvény eredményeként kapjuk, ha bemenő adatnak a "RAJZLAP szót adjuk.Ha nem adunk meg kiterjesztést a fájlnévben, akkor a BETÖLTRAJZLAP alapértelme-zésben a .BMP kiterjesztést használja.Színmódosulások grafika kimentésénél és betöltésénélMás lehetőségek:

a Fő-ablak Fájl menüjének Rajzlapbetöltés... utasítása,a fentinek megfelelő utasítás a felbukkanó menüben, melyet a rajzlapon a jobb egér gombbal való kattintással hívhatunk elő.

FÁJL?FÁJL? --- függvény 1 bemenő adattalFÁJL? szóEredménye IGAZ, ha létezik szó nevű fájl. Különben az eredmény HAMIS.Ha csak részleges útvonal szerepel, vagy egyáltalán nem szerepel útvonal az adott fájl-névben, akkor a munkakönyvtárban keresi a megfelelő alkönyvtárat. Ahhoz, hogy a ke-resés és munkakönyvtár beállításának szabályait megértsük, érdemes az ÚT és az ÚT! utasításokat tanulmányozni a "PROJEKT paraméterrel, illetve a LOGO! utasítást az "ALAPÚT bemenő adattal.Ha nem adunk meg kiterjesztést, akkor a FÁJL? automatikusan .LGP kiterjesztést hasz-nál.

FÁJLVÉGE?FÁJLVÉGE? --- bemenő adat nélküli függvényvége a fájlnak?FÁJLVÉGE?Eredménye HAMIS, ha a megfelelő bemenet a billentyűzetről érkezik (lásd az OLVA-SÓESZKÖZ utasítást). Ugyancsak HAMIS az eredmény, ha a bemenet egy fájlból érke-zik, és ezt a fájlt még nem olvastuk végig (a következő függvények valamelyikével OL-VASLISTA, OLVASSZÓ vagy OLVASJEL). A kimenet IGAZ, ha éppen a fájl utolsó sorát (az OL-VASLISTA paranccsal), utolsó szavát (az OLVASSZÓ paranccsal) vagy utolsó karakte-rét (az OLVASJEL függvénnyel) olvastuk be.Fájlba írás és fájlból olovasás

KIÍRÓESZKÖZKIÍRÓESZKÖZ --- utasítás 1 bemenő adattalKIÍRÓESZKÖZ fájlKIÍRÓESZKÖZ [ ]A standard kimenő adatokat az adott fájlba irányítja át, vagyis azt definiálja, hogy a KIÍR, a KIÍRSOR, a KIÍRJELEKET és a KIÍRBELSŐ utasítások eredményüket az író-lap helyett a fenti fájlba írják. Ha nem létezik az adott nevű fájl, akkor a KIÍRÓESZ-KÖZ létrehozza. Ha létezik, akkor ennek tartalma felülíródik.Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel út-vonal benne, akkor a Logo az aktuális munkakönyvtárban keresi a megfelelő könyvtá-rat, azaz abban a könyvtárban, melyet az (ÚT "PROJEKT) kifejezés eredményeként ka-punk. Ha nem határozunk meg kiterjesztést, akkor a KIÍRÓESZKÖZ az .LGO kiterjesz-tést használja.A billentyűzetről begépelt összes utasítás, és minden HIBA-üzenet mindig az írólapon jelenik meg (a HIBA-üzeneteket soha nem lehet átirányítani egy fájlba). Ha képsor

148

Page 149: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

nyomtatásával próbálkozunk, akkor csak a {képsorN} szöveg íródik a fájlba, ahol az N a képsor fázisszámát jelöli.Amikor kiadjuk a KIÍRÓESZKÖZ [ ] utasítást, akkor az aktuális eredményfájl bezáró-dik, és a kimenő adatok ismét az írólapon fognak megjelenni.Fájlba írás és fájlból olvasás

MENTMENT --- utasítás 1 vagy N bemenő adattalMENT LGO_fájl(MENT LGO_fájl bemenet1 ... )ahol a bemenet1, ... vagy memóriaobjektum, vagy memóriaobjektumok_listájaAz összes bemenetként szereplő objektumot az adott nevű fájlba menti el. Ha a MENT eljárásnak csak egyetlen paramétere van, akkor az összes saját eljárást menti, ezért a MENT fájl és a MENT fájl SAJÁTNEVEK utasítássorok egyenértékűek, lásd a SAJÁT-NEVEK eljárást is. Más objektumok elmentése azok konkrét felsorolásával lehetséges:

? (MENT "FAJL1 SAJÁTNEVEK [:A :B :C]); elmenti az összes saját eljárást, és a három változót

? (MENT "FAJL2 [HÓKA MÓKA] NEVEK); elmenti a HÓKA és a MÓKA nevű eljárásokat; és az összes változót

? (MENT "FAJL3 "HÓKA ":A REKORDNEVEK); elmenti a HÓKA eljárást, az :A változót; és az összes rekord nevét

SAJÁTNEVEK, NEVEK és REKORDNEVEK listák...

Amikor a BETÖLT utasítással visszatöltjük a fájlt, akkor pontosan az eredetivel meg-egyező objektumokat kell létrehoznia a Logo rendszerének. Emiatt az eredményfájl for-mátumára a következők jellemzők:

az eljárások teljes definícióját elmenti, a következő formában: TANULD ... VÉGE,a változókat a NÉV név érték formában menti el,a rekordok neveit a MEZŐ! szó név érték formában tárolja.

Az ELFED utasítással rejtetté tett objektumok közül csak azokat menti el, melyeket be-menetként konkrétan felsorolunk. Az összes fedett objektum mentése a MENT fájl FE-DETT parancs alkalmazásával történhet, lásd a FEDETT utasítást is.Ha képsor értékű változót is elmentünk, akkor az utasítás két fájlt hoz létre egy helyett. Az eredeti mellett egy ugyanazt a nevet viselő, .LGW kiterjesztésű fájl tartalmazza azt a képsort, melyet az összes elmentendő képsor összefűzésével kaptunk. Az összes képsor értékű változónév helyett az alábbi szerkezetet szúrja be az eredeti fájlba:

NÉV "név BETÖLTKÉPSOR "* [szám1 szám2]

Ennek segítségével a fájl betöltése során ezen változók értékét is pontosan vissza tudja állítani. Ha egy képsor egy összetett adatstruktúra részeként szerepel, akkor a rendszer nem menti el.A létrehozott, illetve elmentett fájlt a fájlnévben megadott útvonalnak megfelelő könyv-tárban, illetve ha ilyen nem szerepel, akkor a munkakönyvtárban helyezi el a Logo (vagyis az ÚT függvény eredményeként kapott könyvtárban). A munkakönyvtár beállí-tásának szabályát az ÚT! utasítás és a LOGO! "ALAPÚT parancs tanulmányozásával érthetjük meg.

149

Page 150: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha a fájlnévben nem szerepel kiterjesztés, akkor a rendszer automatikusan az .LGO ki-terjesztést csatolja a névhez. Ha már létezik azonos nevű fájl, akkor először ezt törli.Színmódosulások grafika kimentésekor és betöltésekor

MENTKÉPSORMENTKÉPSOR --- utasítás 2 vagy N bemenő adattalMENTKÉPSOR LGW_fájl képsor(MENTKÉPSOR LGW_fájl képsor1 képsor2... )A bemeneteként szereplő képsort menti el az adott fájlba. Ha több képsor követi a fájl-nevet, akkor ezeket egyetlen képsorrá fűzi össze a KÉPSOR függvénnyel. Így a

(MENTKÉPSOR fájl képsor1 képsor2 ... )és aMENTKÉPSOR fájl (KÉPSOR képsor1 képsor2 ... )

parancsok hatása megegyezik. (Az egyetlen eltérés az, hogy a KÉPSOR függvény által összefűzhető fázisok maximális száma 252, míg a MENTKÉPSOR sok bemenő adattal túllépheti ezt a határt.) Ha csak részleges útvonal szerepel az adott fájlnévben, vagy egyáltalán nem szerepel út-vonal, akkor az alapkönyvtár KEPSOR alkönyvtárában helyezi el a rendszer a fájlt. En-nek a beállításnak a megváltoztatására szolgál az ÚT! utasítás a "KEPSOR első bemenő paraméterrel. A pillanatnyi beállítást az ÚT függvény eredményéből tudhatjuk meg, ha a "KEPSOR bemenettel használjuk. Ha nem adunk meg kiterjesztést, akkor a MENT-KÉPSOR automatikusan az .LGW kiterjesztést csatolja a fájlnévhez. Egy képsor fájlból való betöltésére a BETÖLTKÉPSOR utasítás alkalmazható.

Legyen az AUTÓ1, AUTÓ2, AUTÓ3 és AUTÓ4 változók értéke egyfázisú képsor:

? (MENTKÉPSOR "AUTO.LGW : AUTÓ1 : AUTÓ2 : AUTÓ3 : AUTÓ4)? ALAK! BETÖLTKÉPSOR "AUTO [1 3]

Ha létezik már azonos nevű fájl, akkor először ezt törli.Színmódosulások grafika kimentésekor és betöltésekor

MENTKÖTETMENTKÖTET --- utasítás 1 vagy N bemenő adattalMENTKÖTET projektkötet(MENTKÖTET projektkötet bemenet1 ... )ahol a bemenet1 ... memóriaobjektum vagy memóriaobjektumok_listájaHa az utasításnak csak egyetlen paramétere van, akkor egy olyan projektkötetet hoz lét-re, mely a következőket tartalmazza:

az összes pillanatnyilag létező teknőcöt a teljes beállításukkal együtt,az összes, pillanatnyilag épp nem fedett memóriaobjektumot. A fedett objektu-

mokat csak akkor menthetjük a projektkötetbe, ha ideiglenesen láthatóvá tesszük őket a FED! "HAMIS Logo utasítással.További lehetőség, hogy konkrétan felsoroljuk azokat a memóriaobjektumokat, melye-ket a projektkötetbe akarunk elmenteni. Azonban, nem áll módunkban az elmentendő teknőcök listáját meghatározni ugyanis minden esetben elmenti az összes teknőcöt a beállításaikkal együtt. Fedett objektumokat is menthetünk név szerinti felsorolással. Ha az összes fedett objektumot kívánjuk menteni, akkor a MENTKÖTET projektkötet FE-DETT utasítást alkalmazzuk, lásd a FEDETT függvényt.

150

Page 151: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A létrehozott, illetve elmentett fájlt a kötetnévben szereplő teljes útvonalnak megfelelő könyvtárban, vagy ha ilyen nem szerepel, akkor az aktuális munkakönyvtárban helyezi el a Logo (mely az ÚT függvény eredményeként kapható). A munkakönyvtár beállításá-nak szabályát az ÚT! utasítás és a LOGO! "ALAPÚT parancs tanulmányozásával ért-hetjük meg.Ha nem szerepel kiterjesztés, akkor a rendszer automatikusan .LGP kiterjesztést csatol a fájlnévhez. Bár az eredményfájl belső szerkezete mindig az LGP-fájloknak megfelelő lesz, bármilyen érvényes fájlkiterjesztés elfogadható. Ha már létezik azonos nevű fájl, akkor ez először törlődik. Például a:

? MENTKÖTET "KOT1 SAJÁTNEVEK NEVEK

elmenti az összes saját eljárást és változót az összes teknőccel egy projektkötetbe, mely-nek neve KOT1.LGP. A fedett eljárásokat és változókat csak akkor fogja elmenteni, ha a FED! éppen HAMIS értékre van beállítva, lásd még a SAJÁTNEVEK és NEVEK függvényeket.Színmódosulások grafika kimentésekor és betöltésekor

MENTRAJZMENTRAJZ --- utasítás 2 bemenő adattalMENTRAJZ BMP_fájl képsorAz adott képsor első fázisát egyszerű rajzként a fájlba menti.Csak a képsor első fázisát alakítja rajz formátumúvá, és ezt menti a fájlba, melyet így később egyszerű rajzként felhasználhatunk a Logóban, a Paintbrushban vagy bármely más bitmapek feldolgozására szolgáló grafikus alkalmazásban. Ha a fázis átlátszó színt is tartalmaz, akkor ezt a mentés előtt fehérre cseréli a rendszer. Mivel egy képsor maxi-mális mérete 255 x 255 képpont, az eredményrajz sem lépheti túl ezt a méretet.A létrehozott, illetve elmentett fájlt a fájlnévben foglalt teljes útvonalnak megfelelő könyvtárban, vagy ha ilyen nem szerepel, akkor az aktuális munkakönyvtárban helyezi el a Logo. A keresés és a munkakönyvtár beállítása szabályainak megértése érdekében tanulmányozzuk az ÚT és az ÚT! eljárásokat, és a LOGO! utasítást az "ALAPÚT beme-nő paraméterrel.Ha nem adunk meg a fájlnévben kiterjesztést, akkor a rendszer automatikusan a .BMP kiterjesztést csatolja a fájlnévhez. Ha már létezik azonos nevű fájl, akkor először ezt tör-li a rendszer.Színmódosulások grafika kimentésekor és betöltésekor

MENTRAJZLAPMENTRAJZLAP --- utasítás 1 vagy 2 bemenő adattalMENTRAJZLAP BMP_fájl (MENTRAJZLAP BMP_fájl pont )(MENTRAJZLAP BMP_fájl téglalapnyi_terület )Elmenti a rajzlap aktuális tartalmát a fájlba. A fájl a rajzlap aktuális méretének megfele-lő méretű standard rajzot fog tartalmazni, ha nem adunk második paramétert. A teknő-cök alakja nem jelenik meg a fenti rajzon, mivel ezek nem képezik a rajzlap tartalmának részét. (Tetszőleges teknőc alakja a rajzlap tartalmához tartozóvá tehető a LENYOMAT utasítás alkalmazásával.)Ha adunk második bemenő adatot is, akkor csak a rajzlap ennek megfelelő részét menti el a rendszer:ha a második paraméter egy pont, azt a téglalapot menti el a rendszer, melynek az adott pont a bal felső sarka, és a rajzlap jobb alsó sarkával egyezik meg a jobb alsó sarka, ha a

151

Page 152: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

második paraméter egy téglalapnyi terület, akkor ennek aktuális tartalmát menti el a rendszer.A rajzlap új háttere a BETÖLTRAJZLAP utasítással tölthető be. Ha csak részleges út-vonal szerepel, vagy egyáltalán nem szerepel útvonal az adott fájlnévben, akkor az alap-könyvtár RAJZLAP alkönyvtárában helyezi el a fájl. Ha ez a könyvtár nem létezik, ak-kor a KEPSOR alkönyvtárat használja helyette. Ennek a beállításnak a megváltoztatásá-ra szolgál az ÚT! utasítás a "RAJZLAP első paraméterrel. Az aktuális beállítást az ÚT "RAJZLAP függvénysor eredményéből olvashatjuk ki.Ha nem adunk meg kiterjesztést, akkor a MENTRAJZLAP automatikusan a .BMP ki-terjesztést csatolja a fájlnévhez. Ha már létezik ezen a néven fájl, akkor ezt először törli a rendszer.Színmódosulások grafika kimentésekor és betöltésekorMás lehetőség:a Fő-ablak Fájl menüjének Rajzlapmentés... utasítása

OLVASÓESZKÖZOLVASÓESZKÖZ --- utasítás 1 bemenő adattalOLVASÓESZKÖZ fájlOLVASÓESZKÖZ [ ]Megváltoztatja a standard bemenő adatok forrását, hogy a rendszer a meghatározott fájl-ból várja ezeket. Konkrétan azt definiálja, hogy az OLVASJEL, az OLVASSZÓ és az OLVASLISTA függvények a fenti fájlból olvassanak be a billentyűzet helyett. Ha nem létezik az adott nevű fájl, akkor HIBA következik be.

? OLVASÓESZKÖZ "FAJL55HIBA: Gondjaim vannak a(z) FILE55-val.

Ha csak részleges útvonal szerepel az adott fájlnévben, illetve egyáltalán nem szerepel útvonal, akkor az aktuális munkakönyvtárban keresi a rendszer a fájlt, azaz az ÚT "PROJEKT kifejezés eredménye hozzáadódik a keresendő könyvtár útvonalához. Ha nem határozzuk meg a fájl kiterjesztését, akkor az OLVASÓESZKÖZ az .LGO kiter-jesztéssel bővíti a fájlnevet.Ha már a fájl utolsó információját olvastuk be (azaz az OLVASLISTA utasítással az utolsó sorát, az OLVASSZÓ eljárással utolsó szavát, vagy az OLVASJEL paranccsal utolsó karakterét), akkor a FÁJLVÉGE? feltétel eredménye IGAZ lesz.Ha az OLVASÓESZKÖZ [ ] utasítást gépeljük be, akkor a továbbiakban a rendszer is-mét a billentyűzetről várja a bemenő adatokat.

Fájlba írás és fájlból olvasás

TARTTARTALOMJEGYZÉK; TART --- függvény 1 vagy N bemenő adattal, vagy bemenő adat nélkül (TARTALOMJEGYZÉK)TARTALOMJEGYZÉK szűrő(TARTALOMJEGYZÉK szűrő1 szűrő2 ... )Ha egyetlen paramétere sincs, akkor az eredménye a munkakönyvtárban található összes fájlt tartalmazó lista. Ha van bemenő adat, akkor csak azokat a fájlokat listázza ki, ame-lyek valamely, a paraméterek által adott követelménynek (szűrő1, szűrő2...) megfelel-nek, így hát a TARTALOMJEGYZÉK bemenő adat nélkül megegyezik a TARTA-LOMJEGYZÉK "*.* paranccsal.

152

Page 153: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Például, ha csak a munkakönyvtárban lévő képekről szeretnénk listát kapni, írjuk be ezt:

? KI TARTALOMJEGYZÉK "*.BMP[ [BUDAPEST.BMP 128758] [POSTAS .BMP 128758] ]

Minden egyes fájl egy további listaként jelenik meg: [a.fájl.neve a.fájl.mérete]. Ha azt szeretnénk, hogy a TARTALOMJEGYZÉK függvény eredménye könnyen olvasható le-gyen, akkor használjuk a KIÍRSOR utasítást:

? KS TART "*.LGPUTCA.LGP 1560MALACKA.LGP 780TENGER.LGP 5

TARTALOMJEGYZÉK; TART

TÖRÖLFÁJLTÖRÖLFÁJL --- utasítás 1 bemenő adattalTÖRÖLFÁJL fájlTörli a bemeneteként szereplő fájlt.Ha csak részleges útvonal szerepel, vagy egyáltalán nem szerepel útvonal az adott fájl-névben, akkor az aktuális munkakönyvtárban keresi a megfelelő alkönyvtárat, illetve fájlt. Ahhoz, hogy megértsük a keresés szabályát, és beállítsuk a munkakönyvtárat, ér-demes az ÚT és az ÚT! utasításokat tanulmányozni a "PROJEKT bemenő paraméterrel, illetve a LOGO! utasítást az "ALAPÚT bemenettel.Ha nem adunk meg kiterjesztést, akkor a TÖRÖLFÁJL automatikusan az .LGO kiter-jesztést használja.

? KS TARTALOMJEGYZÉKUTCA.LGP 134276MALACKA.LGP 70723VALAMI.LGP 2025? TÖRÖLFÁJL "VALAMI.LGP? KS TARTALOMJEGYZÉKUTCA.LGP 134276MALACKA.LGP 70723

ÚTÚT --- függvény 1 bemenő adattal vagy bemenő adat nélkülÚT(ÚT Logo_alkönyvtár )Ha bemenő adat nélkül használjuk a függvényt, akkor eredményeként az aktuális mun-kakönyvtár teljes útvonalát kapjuk, melyet előzőleg az (ÚT! "PROJEKT) utasítással ál-lítottunk be, vagy a Fájl menü Megnyitás... utasításának legutóbbi alkalmazása során használtunk. Az ÚT bemenet nélküli használata azonos az (ÚT "PROJEKT) függvény-nyel.A bemenetek és eredmények lehetséges értékei:

bemenet eredmény"PROJEKT az aktuális PROJEKT alkönyvtár elérési útja

153

Page 154: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

"DEMO az aktuális DEMO alkönyvtár elérési útja (vagy a PROJEKT alkönyvtáré, ha a DEMO alkönyvtár nem létezik).

"KEPSOR az aktuális KEPSOR alkönyvtár elérési útja"HANG az aktuális HANG alkönyvtára elérési útja"FELADAT az aktuális FELADAT alkönyvtára elérési útja"RAJZLAP az aktuális RAJZLAP alkönyvtára elérési útja

Más lehetőség:az Elérési út megadása... párbeszédablakban az aktuális útvonal is látható az Elérési út címszó alatt.

ÚT!ÚT! --- utasítás 1 vagy 2 bemenő adattalÚT! útvonal(ÚT! Logo_alkönyvtár útvonal )Ha egyetlen bemenettel használjuk, akkor az ÚT! utasítás útvonala az új munkakönyvtá-rat állítja be. Az ÚT! útvonal egyenértékű az (ÚT! "PROJEKT útvonal) paranccsal. A munkakönyvtárat a Logo minden egyes alkalommal beállítja, amikor a Fő-ablakban a Megnyitás... utasítást alkalmazzuk, amennyiben az ALAPÚT opció értékét 1-re állítjuk a LOGO! utasítással. Ebben az esetben a munkakönyvtár azt a könyvtárat határozza meg, ahonnan a legutóbbi projekt betöltése történt.Ha első paraméterként a "DEMO szót adjuk meg, akkor az utasítás az aktuális DEMO könyvtárat állítja be. Ha a "KÉPSOR szóval használjuk, akkor az aktuális KÉPSOR könyvtárat határozhatjuk meg. Az aktuális HANG könyvtár beállításához a "HANG pa-ramétert kell megadnunk. Ha a paraméter a "FELADAT szó, akkor az aktuális FELADAT könyvtárat állítja be. Az aktuális RAJZLAP könyvtárat a "RAJZLAP bemenő adattal határozhatjuk meg.Ha az adott útvonal nem létezik, akkor hiba következik be.Más lehetőség:a Fő-ablak Fájl menüjének Útvonalmegadása... utasítása

VÁGÓLAPVÁGÓLAP --- különleges jelentéssel bíró szóLogo-eljárás "VÁGÓLAPahol a Logo-eljárás egy fájlkezelő eljárás, mely a fájlok betöltését, illetve elmentését te-szi lehetővé. Egy LGO-fájl, képernyő, képsor, projektkötet betöltése vagy egy szöveg-fájl beolvasása közvetetten is lehetséges, ha a Logo-eljárást a "VÁGÓLAP szó követi a fájlnév helyett. Ha a Windows Vágólapja éppen megfelelő szerkezetű információt tartal-maz, akkor ennek tartalma kerül betöltésre.Hasonló mondható el az LGO-fájl, képernyő stb. elmentéséről is. Ha a "VÁGÓLAP szót használjuk a fájlnév helyett, akkor a kijelölt objektumok közvetlenül a Vágólapra kerülnek. A memóriaobjektumokat a Vágólapra tehetjük a Memóriaablak Szerkesztés menüjének Kivág vagy Másol utasításaival is, vagy kép esetén a Paintbrush vagy hason-ló Windows-alkalmazás Kivág vagy Másol parancsával, szöveg esetén a Write vagy ha-sonló Windows-alkalmazás Kivág vagy Másol parancsával.

154

Page 155: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Kommunikáció az egér segítségével

EGÉRALAK!EGÉRALAK! --- utasítás 1 bemenő adattalEGÉRALAK! képsorEGÉRALAK! LGW_fájlEGÉRALAK! számEGÉRALAK! [ ]ahol a szám egy a 0 és 15 közé eső egész számHatásaként az egérkurzor aktuális alakja az a képsor lesz, melyet közvetlenül a bemenő képsor, vagy az LGW fájlban tárolt képsor határoz meg. Azaz az:

? EGÉRALAK! "NYIL2

egyenértékű a következő paranccsal:

? EGÉRALAK! BETÖLTKÉPSOR "NYIL2

Ha a bemenet egy a 0 és 15 közé eső szám, akkor az egér formája egy standard Win-dows-kurzor alakját veszi fel a következő táblázatnak megfelelően:

155

Page 156: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az egérkurzor mindig fekete-fehér. Ha az adott képsor színes, akkor a fehértől különbö-ző színeket a rendszer feketére redukálja. Az egérkurzor maximális mérete 32 x 32 kép-pont. A nagyobb képsorokat erre a méretre csökkenti (ami részben megváltoztathatja eredeti kinézetüket). Ha több fázisból áll az adott képsor, akkor ennek második fázisa ábrázolja az egeret, mikor annak bal gombját lenyomjuk. Az egérkurzor eredeti alakját a következő utasítással állíthatjuk vissza:

? EGÉRALAK! [ ]

EGÉRÁLLAPOTEGÉRÁLLAPOT --- bemenő adat nélküli függvényEGÉRÁLLAPOTEredménye a [Gombok Billentyűk [X Y] ] háromelemű lista, ahol a Gombok egy 0 és 7 közé eső egész szám. Az érték magyarázata a következő:0 a felhasználó nem nyomott le egérgombot,1 a felhasználó csak a bal egérgombot nyomta le,2 a felhasználó csak a jobb egérgombot nyomta le,3 a felhasználó a bal és jobb egérgombot is lenyomta,4 a felhasználó csak a középső egérgombot nyomta le,

156

Page 157: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

5 a felhasználó a bal és a középső egérgombot is lenyomta,6 a felhasználó a jobb és a középső egérgombot is lenyomta,7 a felhasználó mindhárom egérgombot lenyomta.

A lista második eleme, a Billentyűk egy 0 és 3 közé eső egész szám, ami:0 ha a felhasználó nem nyomott le egyetlen speciális billentyűt sem,1 ha a felhasználó csak a Control billentyűt nyomta le,2 ha a felhasználó csak a Shift billentyűt nyomta le,3 ha a felhasználó a Control és a Shift billentyűket egyszerre nyomta le.

A lista harmadik eleme [X Y], azt az X és Y koordinátát határozza meg, melyben aktuá-lisan az egérkurzor található (még abban az esetben is, ha ez a Logo rajzlapján kívül he-lyezkedik el), mindig a rajzlap origójától, vagyis középpontjából számítva.

EGÉRHELYEGÉRHELY --- bemenő adat nélküli függvényEGÉRHELYAz OLVASKÓD függvény után használva, az EGÉRHELY eredményeként egy [X Y] koordinátapárt kapunk, mely a rajzlap területén belül bekövetkezett, a bal egérgombbal legutoljára végzett tevékenység (lenyomás, felengedés vagy vontatás) helyét jelöli.Az EGÉRHELY függvényt általában az OLVASKÓD függvényt követően használjuk, melynek eredménye 0, ha lenyomjuk a bal egérgombot, és -2, ha felengedjük a bal egér-gombot. Így az egérgombbal való kattintás akkor realizálódik, ha az OLVASKÓD 0-t vagy -2-t ad vissza. Ezeken kívül az OLVASKÓD -1 értéket eredményez, ha a bal egér-gombot lenyomva tartva mozgatjuk az egeret, amit röviden vontatásnak mondunk. Ami-kor az OLVASKÓD 0-t, vagy -2-t eredményez, az EGÉRHELY az aktuális pozíciót adja meg, ahol lenyomtuk, illetve felengedtük a gombot. Amikor az OLVASKÓD -1 ér-téket ad, akkor az EGÉRHELY eredménye az egér pillanatnyi helye lesz.

EGÉRHELY!EGÉRHELY! --- utasítás 1 bemenő adattalegérhely! pontA bemenő adat által meghatározott pontba helyezi az egérkurzort. Ha ez a pont a képer-nyőn (vagyis a rajzlapon és az írólapon) kívül helyezkedik el, akkor a kurzort a képer-nyő megfelelő határára teszi. Emellett arra is lehetőség van, hogy a kurzort a Logo abla-kán kívülre helyezzük, ha az ablakban nem látható a rajzlap és az írólap egésze.

ÉRZÉKENYTERÜLETÉRZÉKENYTERÜLET --- különleges jelentéssel bíró szóEgy mező névvel ellátott téglalap alakú terület a rajzlapon, amely az egérrel való inter-aktivitást lehetővé teszi.Az ÉRZÉKENYTERÜLET szó definiálja azokat a mezőket, melyek a fenti téglalapok jellemzőit és a nekik megfelelő kódokat tartalmazzák. Ezen kódok szerepe az OLVAS-KÓD függvény használata esetén tűnik ki, ugyanis ennek eredményeként mindig az adott kódot kapjuk, valahányszor a megfelelő területen belül kattintunk az egér bal gombjával. Ha például a következőt definiáljuk:

? MEZŐ! "ÉRZÉKENYTERÜLET 113 [30 100 70 60]

157

Page 158: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

akkor meghatároztunk egy téglalapot a [30 100] ponttal, mint ennek bal felső sarkával, és a [70 60] ponttal, mint jobb alsó sarokkal. Ettől kezdve valahányszor klikkelünk a terület belsejében, az OLVASKÓD függvény a 113 kódot adja vissza eredményként.Kódként bármelyik egész számot használhatjuk (vagyis nem korlátozódik az ASCII kó-dokra). Az ÉRZÉKENYTERÜLET szóval tetszőleges számú mezőt definiálhatunk (kü-lönböző kódokkal, ami egyben a nevük is) tehát akárhány ilyen téglalap szerepelhet egy-egy képernyőn.

? MEZŐ! "ÉRZÉKENYTERÜLET 1000 [-210 100 -180 80]? MEZŐ! "ÉRZÉKENYTERÜLET 1001 [-210 70 -180 50]? MEZŐ! "ÉRZÉKENYTERÜLET 1002 [-210 40 -180 20]

Vizsgáljuk figyelmesen az ÉRZÉKENYTERÜLET és a RÁKATTINTOTT függvény közti különbségeket!

GOMBNYOMÁS?; GNY?GOMBNYOMÁS?; GNY? --- bemenő adat nélküli függvényGOMBNYOMÁS?Eredménye IGAZ, ha valamely billentyűt lenyomtuk a billentyűzeten vagy a bal egér-gombot lenyomtuk, illetve felengedtük. Ugyancsak IGAZ értéket eredményez a függ-vény, ha a bal egérgomb lenyomott állapotában vontatjuk az egeret. Különben a vissza-adott érték HAMIS.Amikor a billentyűzetről egy karaktert olvasunk be, az OLVASKÓD és az OLVASJEL függvények addig várnak, amíg a GOMBNYOMÁS? függvény eredménye IGAZ lesz.

TANULD VÁRAKOZÁSHA GOMBNYOMÁS? [ÍRJ VISSZATÉR]VÁRAKOZÁS ; ilyesmi ciklust használ a READCHAR is

VÉGE

TANULD ÍRJKIÍRBELSŐ [A LENYOMOTT BILLENTYŰ:\ ]KIÍR OLVASJEL

VÉGE

? VÁRAKOZÁS ; addig vár, míg lenyomunk egy billentyűtA LENYOMOTT BILLENTYŰ: R?

GNY?

OKOLVASKÓD OK --- bemenő adat nélküli függvényOLVASKÓDEredménye a lenyomott billentyűnek megfelelő karakter numerikus ASCII kódja. Ha nem nyomtunk le billentyűt, akkor az OLVASKÓD várakozik. (Technikailag: addig vár, amíg a GOMBNYOMÁS? feltétel eredménye IGAZ lesz.) A begépelt karakter jele-nik meg a képernyőn.

? KI M OLVASKÓD OLVASKÓD ; nyomjuk le a b-t és a B-t

158

Page 159: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

[98 66]

Az OLVASKÓD eredményeként „speciális értéket kapunk, ha valamely vezérlőfunkci-óval rendelkező billentyűt nyomjuk le, vagy a bal egérgombbal klikkelünk. A pontos ér-tékeket a következő felsorolás mutatja:a 9, 27, 13, 8 eredmények a Tab, az Esc, az Enter, illetve a BackSpace billentyűknek fe-lelnek meg, a -72, -75, -77, -80 értékekhez a nyilak lenyomásával jutunk (a megfelelő sorrendben a fel, a balra, a jobbra, és a le nyíl), eredményül -115, -116, -117, -118 érté-keket kapunk, ha a Ctrl+bal nyíl, a Ctrl+jobb nyíl, a Ctrl+fel nyíl, a Ctrl+le nyíl billen-tyűkombinációt érzékeli a rendszer, az eredmény -71, -79, -73, -81, -82, -83 lesz, ha a Home, az End, a PgUp, a PgDn, az Insert és a Delete billentyűk egyikét nyomjuk le,az 1, 2, ... 26, eredmények a Ctrl+A, Ctrl+B, ... Ctrl+Z billentyűkombinációknak felelnek meg (kivéve a Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+K kombinációkat), ha a LOGO! utasítás FGOMBOK opcióját 0 értékűre állítjuk be, akkor az OLVASKÓD eredményeként a -59, -60, ... -69 értékeket kapjuk, ha az F1, F2, ..., F11 funkcióbillentyűket nyomjuk le. Ha a fenti FGOMBOK opciót a 12 értékre állítjuk be, akkor az F12 billentyű lenyomása esetén az OLVASKÓD függvénytől a -70-es érté-ket kapjuk vissza, eredményként 0-t kapunk, ha lenyomtuk a bal egérgombot, (ez csak akkor érvényes, ha ez a rajzlapon belül történt) és -2-t, ha felengedtük a bal egér-gombot. Így az egérrel való kattintás nem más, mint az OLVASKÓD függvény eredmé-nyeként kapott 0 vagy -2 érték. Ezeken kívül az OLVASKÓD eredménye -1 lesz, ha le-nyomtuk a bal egérgombot, és még így tartva mozgatjuk, röviden: ha vontatjuk az ege-ret. Ezekben az esetekben használhatjuk az EGÉRHELY függvényt is: amikor az OL-VASKÓD 0-t, ill. -2-t ad, akkor az EGÉRHELY eredménye az a pozíció, melyben az egér állt abban a pillanatban, amikor a gombot lenyomtuk, illetve felengedtük. Amikor az OLVASKÓD -1-et ad, akkor az EGÉRHELY eredménye az egér aktuális pozíciója lesz. az OLVASKÓD függvényt használhatjuk az ÉRZÉKENYTERÜLET speciális je-lentésű szóval együtt is, melynek eredményeként az ÉRZÉKENYTERÜLET mezői által meghatározott kódokat kapjuk.

? HA OLVASKÓD = -79 [KIÍR [Ez az END billentyű] ] ; nyomjuk le az End-etEz az END billentyű

Az OLVASKÓD az OLVASJEL függvénytől eltérően soha nem irányítható át az OL-VASÓESZKÖZ utasítással fájlból való olvasásra. Ez teszi lehetővé, hogy még akkor is, amikor fájlból olvasunk, a billentyűzetről is olvashatunk be adatokat az OLVASKÓD függvénnyel.

OLVASKÓD; OK

RÁKATTINTOTTRÁKATTINTOTT --- bemenő adat nélküli függvénymelyik teknőcöt „érintettük meg az egérrelRÁKATTINTOTTAmikor az OLVASKÓD függvény után használjuk, akkor a RÁKATTINTOTT eredmé-nye annak a teknőcnek a neve, amelyikre legkésőbb klikkeltünk rá az egér bal gombjá-val. A LÁTHATATLAN utasítással pillanatnyilag rejtetté tett teknőcök nem jöhetnek számításba. Azonban az összes látható teknőc, azaz az aktívak és passzívak egyaránt re-agálnak a RÁKATTINTOTT függvényre.A „megérintve lenni egy teknőc esetén azt jelenti, hogy az a pozíció, ahol a bal egér-gombot lenyomtuk, a teknőc alakján belül található.

159

Page 160: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Ha a legkésőbbi bal gombbal történt egérkattintás az összes teknőc alakján kívül történt, akkor az eredmény üres lista [ ]. Ha pillanatnyilag több teknőc alakja fedi egymást, ak-kor a RÁKATTINTOTT eredményeként a közülük legifjabb teknőc nevét kapjuk. Ez a teknőc mindig a többi fölött helyezkedik el (ami az animáció szempontjából igen fontos információ ennek megváltoztatása az ÚJRASOROL utasítással lehetséges).

160

Page 161: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Zenei alapszavak és multimédia

BEZÁRVIDEÓBEZÁRVIDEO --- utasítás 1 bemenő adattalBEZÁRVIDEO szóahola szó egy olyan „hivatkozási név, melyet a megfelelő NYITVIDEO függvény máso-dik paramétere határoz meg.Bizonyos értelemben a BEZÁRVIDEO eljárás bemeneteként szolgáló szó egy videoab-lak neve (mely általában nem egyezik meg a feliratával). Az utasítás az adott ablakkal kapcsolatban lévő videofájlt zárja be, valamint bezárja az ablakot is.

HANGHANG --- utasítás 1 vagy N bemenő adattalHANG lista1(HANG lista1 lista2 ... )ahol a lista1, lista2 ... páros elemszámú listák, s elemeik 65 000-nél kisebb nem negatív számok.A számok_listája által meghatározott hangsorozatot játssza le. A bemenő lista két egy-mást követő száma mindig egyetlen hangot ábrázol: az első szám ennek frekvenciáját, a második a hosszát határozza meg. Az időtartam esetén használt mértékegységben 1000, kb. 1 másodpercig tart.

HANGHHANGHULLÁM; HANGH --- utasítás 1 vagy N bemenő adattalHANGHULLÁM WAV_fájl(HANGHULLÁM WAV_fájl1 WAV_fájl2 ... )HANGHULLÁM [ WAV_fájl1 WAV_fájl2 ... ](HANGHULLÁM WAV_fájl1 WAV_fájl2 ... [ ] )(HANGHULLÁM WAV_fájl1 WAV_fájl2 ... " )Ha hangkártyát installáltunk a számítógépre (vagy legalábbis a SPEAKER.DRV prog-rammal szimuláljuk azt), akkor a HANGHULLÁM utasítás lejátssza az adott fájlban vagy fájlokban meghatározott dallamot. Habár néhány fontos különbség fellelhető a hangkártya és a belső hangszóró viselkedése között, itt csak a hangkártya viselkedésével foglalkozunk.Ha az utasítás egyetlen WAV_fájlt kap bemenetként, akkor ezt elkezdi lejátszani, és azonnal folytatja a program további végrehajtását (miközben a zene szól). Ez azonban nem így történik, ha a Logo másik HANGHULLÁM utasítást talál, és ennek bemenetét, illetve bemeneteit kellene lejátszania. Ha az első dallam még hallatszik, akkor ez hirte-len leáll, és a második HANGHULLÁM bemenetének megfelelő dallam csendül fel. Ezért ebben az esetben a következő utasítások

HANGHULLÁM "X --- valamit.csinálj --- HANGHULLÁM "Y

problémát okozhatnak. Ha először be akarjuk fejezni az első dallamot, és csak ezután le-játszani a másodikat, és esetleg a harmadikat..., akkor ez megtehető egyetlen HANG-HULLÁM utasítással is, ha a bemeneteket a következő formában adjuk meg: (HANGH "X "Y "Z ... ). Ebben az esetben a Logo lejátssza a teljes X fájlt (addig a további végre-hajtás szünetel), aztán az Y-t stb. Csak amikor a Logo az utolsó WAV bemenetet kezdi játszani, akkor folytatódik a program végrehajtása.

161

Page 162: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Figyeljük meg, hogy a (HANGH "X "Y "Z ... ) és a HANGH [X Y Z ... ] utasítássorok megegyeznek.Ha azt szeretnénk, hogy amíg a HANGHULLÁM az utolsó fájl lejátszását be nem fejez-te, a Logo ne folytassa a végrehajtást az üres hullám egy fajtájaként , beszúrhatunk egy üres szót vagy egy üres listát mint az utolsó lejátszandó wave fájlt. Például (HANGH "X "Y "Z " ), vagy HANGH [X Y Z [ ]] utasítások először teljes egészében lejátsszák az összes adott dallamot, s csak ezután folytatódik a Logo program futása.

HANGHULLÁM; HANGH

HANGSORHANGSOR --- utasítás 1 vagy N bemenő adattalHANGSOR lista(HANGSOR lista1 lista2 ... )A számítógép beépített hangszóróján lejátssza a bemenő listában, illetve listákban meg-határozott hangjegyeket.Ezen listák a zenei hangokat jelképező betűk (c d e f g a h) és a szünet jelölésére szolgá-ló P betű mellett néhány más szimbólumot tartalmaznak, melyek jelentése az alábbiak-ban olvasható:a hangjegy előtt szereplő 1, 2, 4, 8 stb. számok jelzik ennek időtartamát. Például, 1c egy egész hanghosszúságú c hangjegyet jelez, 2d jelent egy fél hanghosszúságú d-t, 4f jelent egy negyed hanghosszúságú f-et stb., a hangjegyet követő # felemelt hangjegyet jelent, illetve a hangjegyet követő b leszállított hangjegyet jelöl. Ha egy . (pont) áll egy hang-jegy után, akkor az adott hangjegy időtartamának 3/2-ével hosszabb ideig hallható, a T betű, ha egy egész szám követi, akkor a tempót jelzi, vagyis a percenkénti negyedhang-jegyek számát. Az alapbeállítás T120, egy 0 és 6 közé eső egész számot megelőző O betű az oktávot jelzi. Az alapbeállítás O3. Amikor O# szerepel egy listában, akkor ez az összes ezt követő hangjegyet felemeli egy oktávval, amikor Ob szerepel, akkor az ösz-szes későbbi hangjegy le lesz szállítva egy oktávval, az L betű, ha az 1, 2, 4, 8, 16 stb. számok valamelyike követi, az alap hangjegyhosszúságot állítja be az összes őt követő hangjegyre. Ha egy hangjegynek külön megelőző száma van, akkor az alapbeállítás nem érvényes erre a hangjegyre. Az eredeti alapbeállítás L4, az I betű, ha 0 és 128 közötti számok valamelyike követi, azt a zenei hangszert állítja be, amelyen a hangsor lejátszá-sa kívánatos. I0 az Acoustic Grand Pianot jelöli, I1 a Bright Acoustic Pianot jelöli... stb. egészen I128, amely PC Beeper. A hangszerek teljes repertoárja megtekinthető a HANGSOR-beállító segítségével.az R betű törli az L, T és O összes aktuális beállítását, és visszaállítja őket az eredetire: O3, T120 és L4-re.Az L, T, O, I és R által eszközölt beállítások érvényesek maradnak a következő HANG-SOR- utasításokra is, ha ezek nem állítják át őket egy új értékkel vagy az R betű szere-peltetésével.

MCIMCI --- utasítás (vagy függvény) 1 bemenő adattalMedia Control InterfaceMCI mci_lista(MCI mci_lista lista )Ez az eljárás az mci_lista aktuális tartalmának megfelelően függvényként vagy utasítás-ként szerepelhet. A bemenet a Windows MCI-felület követelményeinek megfelelő sza-vak listája, melyet „MCI string utasításként értelmez a fenti felület. Az MCI strings nyelve lehetővé teszi a Windows alá installált multimédia-meghajtók kezelését. Ezek az

162

Page 163: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

utasítások a Microsoft Multimédia Kézikönyvében, illetve más, a windowsos multimé-diás alkalmazásokról szóló könyvekben találhatók.A lehetséges második paraméter Logo-utasítások listája, melyet azalatt kell végrehajta-ni, amíg az MCI-utasítás befejezi működését. Ez csak akkor érvényes, amikor az mci_lista tartalmaz NOTIFY lehetőséget.

NYITVIDEÓNYITVIDEO --- függvény 3 bemenő adattalNYITVIDEO szó1 szó2 lista3NYITVIDEO lista1 szó2 lista3ahol a szó2 nem üresEzt a függvényt akkor használjuk, ha valamilyen videofájlt vagy -fájlokat akarunk leját-szani (például .AVI fájlok). A NYITVIDEO speciális MCI-eljárást készít, mely azonnal végrehajtódik. A következők egyenértékűek az MCI-eljárással: (M "NYIT :szó1 "ALI-AS :szó2 ) vagy (M "NYIT :list1 "ALIAS :szó2 ). Ha ezt az MCI-függvényt sikeresen végre-hajtja, akkor ennek értéke lesz magának a NYITVIDEO parancsnak is a kimenete.Ha a lista3 nem üres lista [ ], akkor a listában foglaltaknak megfelelően egy új ablakot hoz létre. Jelöljük az új ablak kezelőjét H-val. Ekkor egy másik MCI-utasítást fog vég-rehajtani konkrétan az (M "WINDOW :szó2 "HANDLE :H).Az új ablak jellemzőit a lista3 elemei tartalmazzák. Ez a [stílus szöveg lista] háromele-mű lista, ahol a stílus az ablak stílusát leíró szó, mely a következők valamelyike:CHILD az ablak a rajzablak egy címsor és keret nélküli al-ablaka, CHILDBORDER az ablak a rajzablak egy kerettel rendelkező al-ablaka (a keret jelen esetben az ablakot kö-rülvevő fekete vonal), CHILDCAP az ablak a rajzablak egy kerettel és címsorral ren-delkező al-ablaka (a keret fekete vonal az ablak körül, a címsorban az ablak neve olvas-ható) és a felhasználó elmozdíthatja az ablakot, OVERLAP az ablak egy a Logo Fő-ab-lakához tartozó, lefedhető, kerettel és címsorral rendelkező ablak. A felhasználó elvon-tathatja az ablakot, illetve az Alt+F4 billentyűkombinációval be is zárhatja, OVERSIZE az ablak egy a Logo Fő-ablakához tartozó, méretezhető kerettel és címsorral rendelkező lefedhető ablak. A felhasználó elvontathatja az ablakot, megváltoztathatja annak mére-tét, illetve az Alt+F4 billentyűkombinációval bezárhatja, OVERALL az ablak egy a Logo Fő-ablakához tartozó, méretezhető kerettel, címsorral, rendszermenüvel, valamint minimalizáló és maximalizáló gombokkal rendelkező lefedhető ablak. A felhasználó vontathatja, átméretezheti, minimalizálhatja, maximalizálhatja és bezárhatja az ablakot.Ha a fenti, előre definiált stílusokon kívül további is létezik, akkor a Windows SDK re-ferencia kézikönyvére kell hivatkoznunk. Jegyezzük meg, hogy ha a stílus al-ablak, ak-kor ennek őse a rajzablak lesz, különben az ős a Logo Fő-ablaka. Figyeljük meg azt is, hogy a Logo mindig WS_visible és ws_clipsiblings tulajdonságúvá teszi a meghatáro-zott stílust. Ha a felhasználó bezárhatja az ablakot, akkor ez a lépés egyben a vele kap-csolatban lévő videofájlt is bezárja.A második paraméter, a szöveg határozza meg a videoablak feliratát (ha az ablaknak van címsora). A harmadik bemenet, a lista határozza meg a videoablak elhelyezkedését és méretét. Vagy üres lista, vagy egy téglalapnyi terület lehet. Ha az ablak méretét nem adjuk meg (például csak az [X Y] koordinátákat tartalmazó listát használjuk), akkor az aktuális méretét magának a videónak a mérete határozza meg. Ezen lehetőség kihaszná-lása melegen ajánlott, mert ezt a méretet használva sokkal gyorsabban fut, mint más mé-retek esetén.Ha semmit sem adunk meg, akkor az ablak a [0 0] pontban kezdődik, és maximális mé-retű lesz. Ha az ablak stílusa valamelyik al-ablak, akkor a koordinátákat a rajzablakon belül a teknőcgeometria szerint értelmezi. Ha nem valamelyik al-ablakról van szó, akkor a koordináták az egész képernyő abszolút koordinátái. Ha az sz szélesség és az m ma-

163

Page 164: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

gasság adott, akkor ezek az ablak munkaterületét definiálják (mely nem tartalmazza a címsort, keretet stb.).

? ELFELEJT NYITVIDEO "C:\\AVI\\VIDEO.AVI ~"BÉKA ~[CHILD [ ] [100 100] ]

? ELFELEJT NYITVIDEO [C:\\AVI\\VIDEO.AVI TYPE AVIVIDEO] ~"BÉKA ~[CHILDCAP BÉKA [100 100] ]

A NYITVIDEO függvény használa után a megnyitott videofájl lejátszható, leállítható, tekerhető stb. a szokásos MCI-utasítások használatával, melyeket az alias szó ad meg (ha bemenetként szöveget kap). A videofájl bezárásához ne használjuk az MCI CLOSE utasítását, különben a videoablak nem tűnik el. Ehelyett inkább a BEZÁRVIDEO paran-csot használjuk.

ÚTÚT --- függvény 1 bemenő adattal vagy bemenő adat nélkülÚT(ÚT Logo_alkönyvtár )Ha bemenő adat nélkül használjuk a függvényt, akkor eredményeként az aktuális mun-kakönyvtár teljes útvonalát kapjuk, melyet előzőleg az (ÚT! "PROJEKT) utasítással ál-lítottunk be, vagy a Fájl menü Megnyitás... utasításának legutóbbi alkalmazása során használtunk. Az ÚT bemenet nélküli használata azonos az (ÚT "PROJEKT) függvény-nyel.A bemenetek és eredmények lehetséges értékei:

bemenet eredmény"PROJEKT az aktuális PROJEKT alkönyvtár elérési útja"DEMO az aktuális DEMO alkönyvtár elérési útja (vagy a PROJEKT

alkönyvtáré, ha a DEMO alkönyvtár nem létezik)."KEPSOR az aktuális KEPSOR alkönyvtár elérési útja"HANG az aktuális HANG alkönyvtára elérési útja"FELADAT az aktuális FELADAT alkönyvtára elérési útja"RAJZLAP az aktuális RAJZLAP alkönyvtára elérési útja

Más lehetőség:az Elérési út megadása... párbeszédablakban az aktuális útvonal is látható az Elérési út címszó alatt.

ÚT!ÚT! --- utasítás 1 vagy 2 bemenő adattalÚT! útvonal(ÚT! Logo_alkönyvtár útvonal )Ha egyetlen bemenettel használjuk, akkor az ÚT! utasítás útvonala az új munkakönyvtá-rat állítja be. Az ÚT! útvonal egyenértékű az (ÚT! "PROJEKT útvonal) paranccsal. A munkakönyvtárat a Logo minden egyes alkalommal beállítja, amikor a Fő-ablakban a Megnyitás... utasítást alkalmazzuk, amennyiben az ALAPÚT opció értékét 1-re állítjuk a LOGO! utasítással. Ebben az esetben a munkakönyvtár azt a könyvtárat határozza meg, ahonnan a legutóbbi projekt betöltése történt.Ha első paraméterként a "DEMO szót adjuk meg, akkor az utasítás az aktuális DEMO könyvtárat állítja be. Ha a "KÉPSOR szóval használjuk, akkor az aktuális KÉPSOR könyvtárat határozhatjuk meg. Az aktuális HANG könyvtár beállításához a "HANG pa-ramétert kell megadnunk. Ha a paraméter a "FELADAT szó, akkor az aktuális FEL-

164

Page 165: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ADAT könyvtárat állítja e. Az aktuális RAJZLAP könyvtárat a "RAJZLAP bemenő adattal határozhatjuk meg.Ha az adott útvonal nem létezik, akkor hiba következik be.Más lehetőség:a Fő-ablak Fájl menüjének Útvonalmegadása... utasítása

165

Page 166: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A Munkaterület kezelése

.GYŰJTMEM

.GYŰJTMEM --- bemenő adat nélküli utasítás

.GYŰJTMEMÁltalános hulladékgyűjtési folyamatot indít el, a felhasználatlan memóriaterületek újra-hasznosításával. Mikor munkánk során listákat és más adatokat használunk, akkor a Logo memóriaterü-letet foglal le ezen objektumok számára. Amikor ezekre a struktúrákra nincs többé szük-ségünk (vagyis hulladékká váltak a memóriában), a Logo felszabadítja, és ezzel üressé és újra felhasználhatóvá teszi a számukra lefoglalt memóriaterületet. Ez a folyamat auto-matikusan és folyamatosan biztosítja az optimális memóriagazdálkodást anélkül, hogy ebből a Logo felhasználója bármit is észrevenne. Ezen kívül létezik egy általánosabb hulladékgyűjtés is, amely egy kis időt vesz igénybe. Emiatt, ha nagyon nagy méretű adatszerkezetekkel dolgozunk, akkor ésszerű a .GYŰJTMEM eljárást bizonyos időkö-zönként futtatni. Ezzel megakadályozhatjuk, hogy a Logo esetleg számunkra nem meg-felelő időben kezdjen hulladékgyűjtési folyamatba.

166

Page 167: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Egyéb

DÁTUMDÁTUM --- bemenő adat nélküli függvényDÁTUMA függvény eredményeként egy négytagú listát kapunk, melynek formátuma a követke-ző:

[nap hónap év hét_mely_napja]

A hét_mely_napja egy 0 és 6 közé eső egész szám:0 vasárnap1 hétfő2 kedd3 szerda4 csütörtök5 péntek6 szombat

DÁTUMSZÓDÁTUMSZÓ --- bemenő adat nélküli függvényDÁTUMSZÓA függvény átveszi a számítógép rendszerétől az aktuális dátumot, és ezt a Windows Vezérlőpult Nemzetközi beállításának megfelelő szó formájában eredményül adja.

? KIÍR DÁTUMSZÓ21. December 1994 ; az eredmény a Windows-beli beállítástól függ? KI SZÓ? DÁTUMSZÓIGAZ

FUTTATFUTTAT --- függvény 1 vagy 2 bemenő adattalFUTTAT szó(FUTTAT szó szám )Más Windows-, illetve nemWindows-alkalmazásokat indíthatunk el az eljárás segítségé-vel. A FUTTAT függvénynek egy vagy két bemenő adatot adhatunk: az első bemenet-ként szereplő szó a program neve, melynek mindig tartalmaznia kell a kiterjesztést is (!), és ha a program nem a DOS útvonalon helyezkedik el, akkor tartalmaznia kell a teljes útvonalat is. A lehetséges második bemenet egy 0 és 4 közé eső szám, ami a program ablakának kezdeti beállításait határozza meg:0 normál ablak, mely aktívvá válik,1 minimalizált (ikonként megjelenő) ablak, mely aktívvá válik,2 maximalizált ablak, mely aktívvá válik,3 normál ablak, de a Logo marad aktív,4 minimalizált ablak, de a Logo marad aktív.

167

Page 168: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

A FUTTAT függvény eredményeként egy számot kapunk. Ha ez az érték 32-nél kisebb, akkor ez egy hibakód. A 32 feletti értékek az éppen elindított programot kezelik (és nem érdekesek a Logo számára). A hibakódok a következők:0 System was out of memory, executable file was corrupted, or relocations were invalid. 2 File was not found. 3 Path was not found. 5 Attempt was made to dynamically link to a task, or there was a sharing or network-protection error. 6 Library required separate data segments for each task. 8 There was insufficient memory to start the application. 10 Windows version was incorrect. 11 Executable file was invalid. Either it was not a Windows application or there was an error in the .EXE image. 12 Application was designed for a different operating system. 13 Application was designed for MS-DOS 4.0. 14 Type of executable file was unknown. 15 Attempt was made to load a real-mode application (developed for an earlier version of Windows). 16 Attempt was made to load a second instance of an executable file containing multiple data segments that were not marked read-only. 19 Attempt was made to load a compressed executable file. The file must be decompres-sed before it can be loaded. 20 Dynamic-link library (DLL) file was invalid. One of the DLLs required to run this application was corrupt. 21 Application requires 32-bit extensions. Figyeljünk arra, hogy néhány alkalmazás megváltoztathatja a FUTTAT függvénnyel az ablakának beállított kezdeti állapotát. Ebben az esetben úgy tűnhet, hogy a FUTTAT el-járás ezen része nem működik megfelelően.

NÉV "no FUTTAT "calc.exe ; elindítja a számológépetNÉV "no FUTTAT "utasítás.com ; elindítja az MS-DOS-tNÉV "no (FUTTAT "clock.exe 3) ; elindítja az órát, de a Logo marad

; aktív

IDŐIDŐ --- bemenő adat nélküli függvényIDŐEredménye egy négy számból álló lista [óra perc másodperc század_másodperc], ami a számítógépben beállított időnek felel meg.

IDŐSZÓIDŐSZÓ --- bemenő adat nélküli függvényIDŐSZÓA függvény lekéri az aktuális időt a számítógéptől, és a szokásos módon formázza, a Windows vezérlőpultja International opciójának idő-formátum beállításának megfelelő-en. Az IDŐSZÓ eredménye ez az információ, egy Logo-szóként, mint például 13:48:50, 1:48:50 DU vagy 1ó48p D.U.).

? KIÍR IDŐSZÓ

168

Page 169: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

14:23:54 ; a Windows aktuális beállításaitól függ

LOGOLOGO --- függvény 1 bemenő adattalLOGO szóahol szó a következők egyike: ERROR, VERSION, HELP, AUTOPATH, RIGHTC-LICKS, STEPPING, DECIMAL, PRINT, SAVE, BEEP és SOUNDEredményül az adott szó aktuális beállítását kapjuk meg. Az alapértelmezett értékek a különböző szavak esetén a következők: a ERROR, a VERSION, a HELP, az AU-TOPATH és a STEPPING esetében 0, a RIGHTCLICKS, a PRINT, a SAVE, a BEEP és a SOUND esetén 1, és a DECIMAL esetén vessző (,). Ezen lehetőségek megértése érdekében ta-nulmányozzuk a LOGO! utasítást!

? LOGO! [VERZIÓ 1]? KIÍR LOGO "VERZIÓ1

LOGO!LOGO! --- utasítás 1 bemenő adattalLOGO! [kulcsszó bemenet1 kulcsszó bemenet2 ... ]ahol minden egyes bemenet1, bemenet2, ... vagy szó, vagy lista,és a kulcsszó a következők egyike: HIBA, VERZIÓ, SEGÍTSÉG, ALAPÚT, LÉPÉS, DECIMÁLIS, NYOMTAT, MENT, BEEP és SOUNDAz utasítás segítségével néhány jellemző megváltoztatásával a Logo környezetét a fel-használó számára előnyösebbé alakíthatjuk át. Elsőként az SLOGO.INI kezdőfájlban használjuk, amely a Logo utasításait tartalmazó szokásos szövegfájl. Az ebben található utasításokat minden alkalommal végrehajtja a program, amikor a Logót elindítjuk, vagy amikor a TÖRÖLMUNKA Logo-utasítást kiadjuk.HIBA 0 vagy 1. Ha értéke 0, akkor a Logo az összes hibaüzenetet közvetlenül az író-lapra írja ki, és minden üzenet egy egymondatos magyarázat a hiba okáról. Ha a HIBA szó értéke 1, akkor a hibaüzenetek egy különállóan megjelenő ablakban jelennek meg, és a legtöbb esetben 2 mondatban próbálják meg pontosabban meghatározni a hiba be-következésének körülményeit. Az alapérték: 0.VERZIÓ 0 vagy 1. Ha értéke 0, akkor a Logo az alaputasításoknak (úgynevezett primi-tívek) és speciális szavaknak csak az eredeti angol megfelelőjét fogja felismerni. Ha az érték 1, akkor a Logo a fenti utasítások és szavak angol nevei mellett felismeri a nemze-ti (esetünkben a magyar) megfelelőit is. Például a FORWARD utasítás helyett használ-hatjuk a magyar ELŐRE szót, illetve ennek rövidítését, az E-t. A LOGO! [VERZIÓ 1], illetve [VERZIÓ 0] végrehajtása esetén elért hatással megegyező a Beállítások menü Magyar alapszavak utasításának be-, illet-ve kikapcsolása.SEGÍTSÉG 0 vagy 1. Ha ez az érték 0, akkor a Windows Help alkalmazás az SLO-GO.HLP fájlt nyitja meg a segítség témáinak megjelenítése esetén. Ha az érték 1, akkor a Help az SLOGO0.HLP fájlt nyitja ki, mely a kisebbeknek szóló „Segítség gyerekek-nek segítség-témákat tartalmazza.ALAPÚT 0 vagy 1. Az alapértelmezés szerint értéke 0. Ekkor egy projekt vagy képsor betöltése során nem módosítja az aktuális útvonalat. Ha az érték 1, akkor minden egyes Megnyitás... utasításban használt útvonal megváltoztatja az aktuális munkakönyvtárat (mely az ÚT "PROJEKT függvény eredményeként kapható meg), és az összes BE-

169

Page 170: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TÖLTKÉPSOR függvény módosítja az aktuális képsorútvonalat, vagyis azt az útvona-lat, melyet a BETÖLTKÉPSOR utasítás automatikusan használ. Ennek a beállításnak a „kézzel történő megváltoztatására szolgál az ÚT! utasítás a "KEPSOR első paraméter-rel, vagy a Fő-ablakban a Útvonal megadása... utasítás. Az atkuális beállítást az ÚT "KEPSOR függvény eredményéből olvashatjuk ki. Az útvonal módosítása azt jelenti, hogy a következő Megnyitás... utasítás vagy BETÖLTKÉPSOR függvény ugyanazt az útvonalat fogja használni, amit a legutóbbi esetben meghatároztunk.LÉPÉS 0 vagy 1. Ha ez az érték 0, akkor a program futása nem lépésenkénti módban történik. Ha ez 1, akkor a lépésenkénti mód érvényes. A LOGO! [LÉPÉS 1], illetve [LÉPÉS 0] utasítással elérhető hatással megegyező a Beállítások menü Lépésenkénti végrehajtás utasításának be-, illetve kikapcsolása is.DECIMÁLIS egy egybetűs szó, vagy az üres lista [ ]. Számok esetén az adott szó veszi fel a tizedesjegyeket elválasztó jel szerepét. Ha az érték üres lista, akkor a Windows ál-tal alapértelmezett karaktert állítja vissza tizedesjellé. A decimális elválasztójel alapér-telmezésben a pont (.). A Comenius Logo indítása során a rendszer elolvassa a tizedesjel értékét, mely a Windows Vezérlőpult Nemzetközi lehetőségében állítható be. A LOGO! utasítással bármelyik, a Comenius Logóban speciális funkcióval nem rendelke-ző (tehát a következők között nem szereplő: + - * / ( ) = < > ; [ ] ~ " és a szóköz), a számjegyektől különböző karakter beállítható tizedesjelnek. Jegyezzük meg, hogy:ezt a lehetőséget csak kellő körültekintéssel használjuk, mert olyan projektet hozhatunk létre, mely egyetlen másik számítógépen sem fog futni, ez a beállítás határozza meg, hogy hogyan ismeri fel és hogyan írja ki a Logo a számokat.

? LOGO! [DECIMÁLIS ,]? KIÍR 1.31.3 ; nincs hatása, mert 1.3-at írtunk? KIÍR 1,3 ; az 1,3-at számként ismeri fel 1,3? KIÍR 1.2 + 1,3 ; a tizedespontot mindig használhatjuk 2,5 ; ez a két szám összege ? LOGO! [DECIMÁLIS .]? KIÍR 1,3HIBA: Nem tudom, hogyan csináljam a(z) 1,3 - t.

; most már nem ismeri fel számként az 1,3-at; a Comenius Logo utasításnévként tekint rá

NYOMTAT 0 vagy 1. Engedélyezi, illetve letiltja a Logo nyomtatóutasításait. Ha értéke 0, akkor a Logo nem nyomtathat. Ha értéke 1, és legalább egy nyomtatót installáltunk a Windows alá, akkor nyomtathatunk a Logóból. Az alapérték az 1. Ha a rendszer felismeri, hogy nem telepítettünk nyomtatót a Windows alá, akkor az alapérték 0.MENT 0 vagy 1. Az 1 az alapérték. Ha ez az érték 0, akkor a Logo összes mentés függvénye letiltott. Ezzel a lehetőséggel élve megakadályozhatjuk a felhasználót a le-mezre írásban. Ha ez az eset áll fenn, akkor a Logo-utasítással való mentési kísérletek hibaüzenetet eredményeznek. Az üzenet tartalma a következő lesz: a Demováltozatban nincs lehetőség a munka mentésére.BEEP 0 vagy 1. Az 1 az alapérték. Ha ez az érték 0, akkor a Logo figyelmeztetéseit nem követi hangjel. Nagyon hasznos funkció például számítógéplaborokban való alkal-mazásnál.

170

Page 171: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

SOUND 0 vagy 1. Az 1 az alapérték. Ha ez az érték 0, akkor a HANG, a HANGSOR és a HANGHULLÁM utasításokat nem hajtja végre a program, tehát némán fut.Más lehetőségek:

válasszuk a Beállítások menü Hibaüzenet ablakba utasítását,válasszuk a Beállítások menü Segítség gyerekeknek utasításátválasszuk a Beállítások menü Magyar alapszavak utasítását,válasszuk a Beállítások menü Útvonal automatikus utasítását,válasszuk a Fájl menü Útvonal megadása... utasítását,válasszuk a Beállítások menü Lépésenkénti végrehajtás utasítását.

RENDSZERMÉRETRENDSZERMÉRET --- függvény 1 bemenő adattalRENDSZERMÉRET számRENDSZERMÉRET szóA függvény segítségével a képernyő arculatát saját igényeinknek megfelelően alakíthat-juk ki. A gombok, feladatablakok stb. megfelelő elrendezését teszi lehetővé az abszolút-képernyő koordináták kiszámításával. A LOGOABLAK! utasítással együtt is érdemes használni ezt a függvényt. A RENDSZERMÉRET függvényen keresztül a Logo progra-mozója elérheti a GetSystemMetrics Windows API call-t, mely a Windows különböző elemeinek méretéről tartalmaz pontos adatokat, melyeket a pontos képernyőterv alkotá-sa közben szem előtt kell tartani. A Windows GetSystemMetricsétől eltérően a REND-SZERMÉRET függvény 3 olyan méretet is eredményül adhat, melyet csak a Comenius Logóban használunk.A lehetséges bemenő adatok és az ezeknek megfelelő eredmények leírása:0 A képernyő szélessége.1 A képernyő magassága.2 A függőleges görgetősáv nyilának szélessége.3 A vízszintes görgetősáv nyilának magassága.4 Az ablak címsorának magassága. Ez a címsor magassága plusz az ablak kereté

nek magassága. (Az ablak keretének szélessége nem méretezhető.)6 A nem méretezhető ablak keretének magassága.7 Egy tipikus párbeszédablak keretének szélessége.8 Egy tipikus párbeszédablak keretének magassága.9 A függőleges görgetősávon a görgetődoboz magassága.10 A vízszintes görgetősávon a görgetődoboz (mutatóujj) szélessége.11 Az ikonok szélessége.12 Az ikonok magassága.13 A kurzor szélessége.14 A kurzor magassága.15 Egy egyszerű, egysoros menüsor magassága. Ez a menü magassága mínusz az

ablak keretének magassága, mely nem méretezhető (az ablak munkaterületének szélessége egy teljes képernyős ablak esetén).

17 Az ablak munkaterületének magassága egy teljes képernyős ablak esetén (meg-egyezik a képernyő magasságával, mínusz az ablak címsorának magassá-gával).

18 A Kanji ablak magassága.19 Nem nulla, ha egeret installáltunk a Windows alá.20 A függőleges görgetősáv nyilának magassága.21 A vízszintes görgetősáv nyilának szélessége.22 Nem nulla, ha a Windows verziója hibafelderítő verzió.23 Nem nulla, ha a bal és a jobb egérgombot felcseréltük.28 Az ablak minimális szélessége.

171

Page 172: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

29 Az ablak minimális magassága.30 A címsorban szereplő jelek szélessége.31 A címsorban szereplő jelek magassága.32 A méretezhető ablakok keretének szélessége.33 A méretezhető ablakok keretének magassága.34 Az ablak minimális nyomának szélessége.35 Az ablak minimális nyomának magassága.36 Annak a téglalapnak a szélessége, melyet a rendszer az első egérkattintás pozíci-

ója körül figyelembe vesz dupla kattintás esetén. A második kattintásnak ezen a téglalapon belül kell bekövetkeznie ahhoz, hogy a rendszer a két kattintást dupla kattintásként érzékelje.

37 Annak a téglalapnak a magassága, melyet a rendszer az első egérkattintás pozíci-ója körül figyelembe vesz dupla kattintás esetén. A második kattintásnak ezen a téglalapon belül kell bekövetkeznie ahhoz, hogy a rendszer a két kattintást dupla kattintásként érzékelje.

38 Annak a téglalapnak a szélessége, melyet a rendszer arra használ, hogy pozicio-nálja a síkkitöltő ikonokat.

39 Annak a téglalapnak a magassága, melyet a rendszer arra használ, hogy pozicio-nálja a síkkitöltő ikonokat.

40 Kezeli a Pen Windows DLL könyvtárát, ha a Pen Windows-t installálták.42 Nem nulla, ha a pillanatnyi Windows-verzió dupla bájtos karaktereket használ;

különben nulla értékkel tér vissza.

A Comenius Logóhoz kapcsolódó bemenetek és az ezeknek megfelelő eredmények le-írása:CXFONT A 'system fixed size' betűkészlet karaktereinek szélessége. Ezt a betűkészle-tet használja az írólapon, az összes szöveges szerkesztőben és a feladatablakban (a fel-adatablak szélessége ennek a számnak a többszöröseként definiált).CYFONT A 'system fixed size' betűkészlet karaktereinek magassága (a feladatablak magassága ennek a számnak a többszöröseként definiált).CYSPEEDBAR A Logo Eszközsorának magassága. Ez nulla, ha az Eszközsor a RENDSZERMÉRET hívásának pillanatában rejtett volt.? (KIÍR [A képernyő szélessége: ] RENDSZERMÉRET 0 [képpont.])A képernyő szélessége: 640 képpont.

; szeretnénk egy 100 x 87 képpontnyi gombokat tartalmazó ablakot,; mely a képernyő jobb alsó sarkában helyezkedik el, ; tekintet nélkül a Logo-ablak méretére:

? NÉV "SZ 100 ; a szélesség? NÉV "M 87 ; a magasság? NÉV "X (RENDSZERMÉRET 0) - :SZ - RENDSZERMÉRET 5? NÉV "Y (RENDSZERMÉRET 1) - :M - ~

(RENDSZERMÉRET 4) - RENDSZERMÉRET 6? GOMBSOR! (LISTA :X :Y :SZ :M [A gombok])

Kilépés

SZIASZIA --- utasítás 1 bemenő adattal vagy bemenő adat nélkülSZIA(SZIA logikai )

172

Page 173: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Kilép a Comenius Logo alkalmazásból. Ha az utasításnak nincs bemenő adata, vagy ha a bemenet IGAZ, egy párbeszédablak tűnik fel, amely a munkánk elmentésére hívja fel figyelmünket.Ha HAMIS bemenő adattal hívjuk meg az eljárást, akkor bárminemű kérdés nélkül el-hagyjuk a Logot.Más lehetőségek:

az Alt+F4 vagy Alt+X billentyűk egyidejű lenyomása,a File menü Kilép almenüje a Fő-ablakban,kétszeres egérkattintás a Logo-alkalmazás vezérlőmenüjére.

173

Page 174: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Alapszavak jegyzéke

Az alábbi listában a Logo alapfogalmait, illetve alapkifejezéseit és ezek rövid definíció-ját találhatjuk. E kifejezések főként a Logo alapeljárásainak bemeneteit határozzák meg.

A, Á

akármi

alakszín

alapirány

alapkoordináták

alapkönyvtár

alkönyvtár

aktív alakszín

aktív eljárás

aktív teknőc

B

betűkészlet

C, CS D, DZ, DZS

definíciós listademo projekt

E, É

eljáráseljárásnéveljárásobjektum

F

fájlkiterjesztésfájlnévfeladatfeltételes eljárás

G, GY

174

Page 175: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

globális változógombsordefiníciógombsordefiníciók listája

H

hibaüzenethosszú sor

I, Í

igazságértékikonváltozóirányírólapírólap parancsjeleINDÍTÓ eljárás

J K

karakterkis- és nagybetűkifejezéskiterjesztésképfájlnévképsorképsorfázisokképsorelem tollpontjakönyvtár

L, LY

LGO fájlLGP fájlLGW fájllistalistaolvasás parancsjeleLogo alkönyvtárLogo eljárásLogo eljárás bemenő adataLogo utasításlogikai értéklokális változó

M

memóriaobjektummemóriaobjektumok listájamondat

175

Page 176: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

függvénymezőmunkakönyvtár

N, NY

nyomtatójelző

O, Ó, Ö, Ő

objektumobjektumrész

P

parancsjelpontpontok listájapotméter szövegdobozpozíciópredikátumprojekt háttereprojektprojektkötet

Q R

rajzlaprajzlap origójarekordrekordmezők listájarövidítés

S, SZ

saját eljárássaját objektumSLOGO.INI fájlsokszöglistaszavak listájaszámszínszószóhosszszögszövegszövegdobozteknőc

szűrő

T, TY

176

Page 177: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

teknőc azonosítójateknőc neveteknőcök listájateljes hibaüzenettéglalapnyi területtollmintatollvastagságtöltőmintaTXT fájlnév

U, Ú, Ü, Ű

utasításutasításlistautasítássorútvonal

V

Vágólapváltozó (globális)

változó (lokális)

változó neve

változónév

vonalvastagság

W

WAV fájlWindows parancssor

X Y Z, ZS

A magyar eljárásnevek ABC listája

A következő lista tartalmazza az összes Comenius Logo eljárás, függvény és speciális jelentésű szó nevét. A neveket a magyar helyesírás szerint rendeztük ABC rendbe..Néhány eljárásnak rövidítése is van, ezért ezeket a rövidítéseket külön is feltüntettük a listában.

- ... -

.ALAPSZAVAK

177

Page 178: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

.GYÜJTMEM

.PONTHELY*+-/<<=<>=>

>=

- A Á -

ABLAK WINDOWABSZ ABSALAK GETSHAPEALAK! SETSHAPEALAKSZÍN SHAPECOLORALAKSZÍN! SETSHAPECOLORALAPHELYZET DRAWALAPPALETTA RESETPALETTE; RESETPALALAPSZÓ? PRIMITIVE?

AMÍG WHILEANIMÁCIÓSMÓD! SETPHASEMODEARCTG ARCTANÁLLAPOT TURTLESTATEÁTDOB THROWÁTÍR EDIT; EDÁTÍRFÁJL EDITFILE; EDFILEÁTLÁTSZÓMÓD! SETIMODE

- B -

B LEFT; LTBALRA; B LEFT; LTBEÁLLÍTÓ CHOOSERBELÜL? INSIDE?BETOLDKÉP PUTIMAGEBETÖLT LOADBETÖLTFELADAT LOADPROBLEMBETÖLTKÉPSOR LOADIMAGEBETÖLTKÖTET LOADLIBRARY; LOADLIBBETÖLTŐÚT LOADPATHBETÖLTRAJZ LOADBITMAPBETÖLTRAJZLAP LOADSCREENBETŰ! SETTTEXT; SETTTBETŰNÉGYZET TEXTSIZEBETŰZD TTEXT; TT

178

Page 179: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

BEZÁRFELADAT CLOSEPROBLEMBEZÁRVIDEO CLOSEVIDEO

- C CS-

CIKLUS FORCIKLUSCSAK FOREACHCSATOL APPENDCSERE REPLACECSÖKKENT DEC

- D DZ DZS-

DÁTUM DATEDÁTUMSZÓ DATEWORD; DATEW

- E É-

E FORWARD; FDEGÉRALAK! SETMOUSECURSOREGÉRÁLLAPOT MOUSESTATEEGÉRHELY MOUSEEGÉRHELY! .SETMOUSEPOSEGÉSZHÁNYADOS; EH DIVEGÉSZRÉSZ INTEGYENLŐ? EQUAL?EGYMÁSUTÁN EACHEH DIVELÁGAZÁS CASEELEM ITEMELEME MEMBERELEME? MEMBER?ELEMNÉLKÜLI BUTMEMBERELEMSZÁM; ESZ COUNTELEMTŐL FROMMEMBERELFED BURYELFEDMIND BURYALLELFELEJT IGNORE

ELKAP CATCHELŐRE; E FORWARD; FDELSŐ FIRSTELSŐNEK FPUTELSŐNÉLKÜLI; EN BUTFIRST; BFEN BUTFIRST; BFER OUTPUT; OPEREDMÉNY; ER OUTPUT; OP

ESZ COUNTÉRZÉKENYTERÜLET CODEAREAÉS AND

179

Page 180: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

- F -

FÁJL? FILE?FÁJLVÉGE? EOF?FÁZIS PHASEFÁZIS! SETPHASEFÁZISPONT SHAPEPOSFED! SETBURYFEDETT BURIEDFELFED UNBURYFELSŐSZINT TOPLEVEL

FIGYELJ TELLFORDÍT REVERSEFUTTAT RUNPROGRAM; RUNPROG

- G GY-

GENERÁL GENERATEGOMBNÉV BUTTONSGOMBNÉV! SETBUTTONSGOMBNYOMÁS?; GY? KEY?GOMBSOR BUTTONSSIZEGOMBSOR! SETBUTTONSSIZEGY? KEY?GYÖK SQRT

- H -

H BACK; BKHA IFHAH IFFALSE; IFFHAHAMIS; HAH IFFALSE; IFFHAI IFTRUE; IFTHAIGAZ; HAI IFTRUE; IFTHAMIS FALSEHANG SOUND

HANGH PLAYWAVE; PLAYWHANGHULLÁM; HANGH PLAYWAVE; PLAYWHANGSOR PLAYHASZNÁL APPLYHATVÁNY EXPHAZA HOMEHÁNYADIK REPCOUNT; REPCHÁNYADOS QUOTIENT

HÁTRA; H BACK; BKHELY POSHELY! SETPOSHIBA ERRORHIBAÜZENET MAKEERROR

180

Page 181: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

- I Í-

IDŐ TIMEIDŐSZÓ TIMEWORD; TIMEWIGAZ TRUEIRÁNY HEADINGIRÁNY! SETHEADING; SETHIRÁNYSZÖG TOWARDSISM REPEATISMÉTLÉS; ISM REPEAT

ÍA TEXTSCREEN; TSÍRÓABLAK; ÍA TEXTSCREEN; TSÍRÓLAPABLAK GETTSÍRÓLAPABLAK! SETTSÍRÓSZÍN! SETTC

- J -

J RIGHT; RTJEL CHARJOBBRA; J RIGHT; RT

- K -

KEREKÍT ROUNDKÉPSOR IMAGEKÉPSOR? IMAGE?KÉPSORMÉRET IMAGESIZEKÉREM ASKKI SHOW; SHKIFIGYEL WHOKIHASÍTKÉP GETIMAGEKIÍR PRINT; PR

KIÍRBELSŐ TYPEKIÍRJEL; KI SHOW; SHKIÍRÓESZKÖZ PRINTTOKIÍRSAJÁTSZAVAK POTSKIÍRSOR; KS PRINTLINE; PLKIÍRTARTALOM; KT POKISEBB? LESS?

KIVÁLASZT PICKKÍVÜL? OUTSIDE?KOSZ COSKÓD ASCIIKÖRKÖRÖSEN WRAPKS PRINTLINE; PLKT POKURZORHELY CURSOR

181

Page 182: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KURZORHELY! SETCURSOR

KÜLÖNBSÉG DIFFERENCE

- L LY-

LÁTHATATLAN HIDETURTLE; HTLÁTHATÓ SHOWTURTLE; STLÁTHATÓ? SHOWN?LEKÉPEZ MAPLENYOMAT STAMPLISTA LISTLISTA? LIST?LN LNLOGO LOGO

LOGO! SETLOGOLOGOABLAK LOGOSIZELOGOABLAK! SETLOGOSIZELOKÁLIS LOCALLOKÁLISNÉV LET

- M -

M SENTENCE; SEMA MODMARADÉK; MA MODMCI MCIMENT SAVEMENTKÉPSOR SAVEIMAGEMENTKÖTET SAVELIBRARY; SAVELIBMENTRAJZ SAVEBITMAPMENTRAJZLAP SAVESCREENMEZŐ GPROPMEZŐ! PPROPMEZŐK PLISTMEZŐK! SETPLISTMG SHOWBUTTONSMI SHOWSPEEDBARMIND ALLTURTLES; ALLMONDAT; M SENTENCE; SEMUTATGOMBSOR; MG SHOWBUTTONSMUTATIKONSOR; MI SHOWSPEEDBAR

- N NY-

NAGYOBB? GREATER?NEM NOTNEVEK NAMESNEVEZ NAMENÉV MAKENÉV? NAME?

182

Page 183: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

NÖVEL INCNYITVIDEO OPENVIDEONYM PRINTMEMORY; PRINTMNYOMOZ DEBUGNYOMOZÓSZÜNET PAUSENYOMTATÍRÓLAP PRINTTEXT; PRINTTNYOMTATMEMÓRIA; NYM PRINTMEMORY; PRINTMNYOMTATRAJZLAP PRINTGRAPHICS; PRINTG

- O Ó Ö Ő-

OA SPLITSCREEN; SSOJ READCHAR; RCOK READKEYOL READLIST; RLOLPARANCSJEL! SETRLPROMPTOLVASJEL; OJ READCHAR; RCOLVASKÓD; OK READKEYOLVASLISTA; OL READLIST; RLOLVASLISTAPARANCSJEL!; OLPARANCSJEL! SETRLPROMPTOLVASÓESZKÖZ READFROMOLVASSZÓ; OSZ READWORD; RWOLVASÜZENŐ READLISTDIALOG; RLDOSZ READWORD; RWOSZTOTTABLAK; OA SPLITSCREEN; SSÖSSZEG SUMÖSSZEKEVER SHUFFLE

- P -

PARANCSJEL! SETPROMPTPONT DOTPONTSZÍN DOTCOLOR

- Q -- R -

RA GRAPHICSCREEN; GSRAJZABLAK; RA GRAPHICSCREEN; GSRAJZLAPABLAK GETGSRAJZLAPABLAK! SETGSRAJZLAPSZÍN; RSZ BACKGROUND; BGRAJZLAPSZÍN!; RSZ! SETBACKGROUND; SETBGRÁKATTINTOTT TOUCHEDREJTGOMBSOR; RG HIDEBUTTONSREJTIKONSOR; RI HIDESPEEDBARREKORDNEVEK PROPSREKORDOK PPSRENDSZERMÉRET SYSTEMMETRICSRI HIDESPEEDBARRG HIDEBUTTONS

183

Page 184: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

RSZ BACKGROUND; BGRSZ! SETBACKGROUND; SETBG

- S SZ-

SAJÁTNEVEK PROCSSAJÁTSZÓ DEFINESAJÁTSZÓ? DEFINED?SOKSZÖG POLYGONSOKSZÖGVONAL POLYGONLINESZÁM? NUMBER?SZIA BYESZIN SINSZORZAT PRODUCTSZÓ WORDSZÓ? WORD?SZÓTARTALOM TEXTSZÖVEGDOBOZ GETBOXSZÖVEGDOBOZ! SETBOXSZÖVEGDOBOZMÓD! SETBOXMODESZŰRŐ FILTER

- T TY-

TAKAR? OVERLAP?TAKART OVERLAPPEDTANULD TOTART DIRTARTALOM THINGTARTALOMJEGYZÉK; TART DIR

TEKNŐCOLVASLISTA; TOL READLISTTURTLE; RLT

TERÜLET GETWINDOWTESZT TESTTF PENUP; PUTG TANTIZEDESJEGY! SETFORMATTÍ CLEARTEXT; CTTL PENDOWN; PDTM PATTERNTM! SETPATTERNTOL READLISTTURTLE; RLTTOLL PENTOLL! SETPENTOLLATFEL; TF PENUP; PUTOLLATLE; TL PENDOWN; PDTOLLÁLLAPOT PENSTATETOLLÁLLAPOT! SETPENSTATETOLLMINTA; TM PATTERNTOLLMINTA!; TM! SETPATTERNTOLLPONT HOTSPOT

184

Page 185: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TOLLPONT! SETHOTSPOTTOLLRADÍR; TRD PENERASE; PETOLLSZÍN; TSZ PENCOLOR; PCTOLLSZÍN!;TSZ! SETPENCOLOR; SETPCTOLLVASTAGSÁG; TV PENWIDTH; PWTOLLVASTAGSÁG!; TV! SETPENWIDTH; SETPWTOLLVÁLTÓ; TVT PENREVERSE; PXTÖLT FILLTÖLTŐMINTA; TLM FILLPATTERN; FPTÖLTŐMINTA!; TLM! SETFILLPATTERN; SETFPTÖLTŐMÓD! SETFILLMODETÖLTŐSZÍN; TLSZ FILLCOLOR; FCTÖLTŐSZÍN!; TLSZ! SETFILLCOLOR;TÖRÖL ERASE; ERTÖRÖLFÁJL ERASEFILE; ERFILETÖRÖLÍRÓLAP; TÍ CLEARTEXT; CTTÖRÖLMEZŐ REMPROPTÖRÖLMUNKA ERALLTÖRÖLRAJZ CLEANTÖRÖLRAJZLAP; TR CLEARSCREEN; CSTÖRÖLTEKNŐC ERASETURTLE; ERTURTLETL PENDOWN; PDTLM FILLPATTERN; FPTLM! SETFILLPATTERN; SETFPTLSZ FILLCOLOR; FCTLSZ! SETFILLCOLOR; SETFCTM PATTERNTM! SETPATTERNTR CLEARSCREEN; CSTRD PENERASE; PETSZ PENCOLOR; PCTSZ! SETPENCOLOR; SETPCTV PENWIDTH; SETPWTV! SETPENWIDTH; PWSTVT PENREVERSE; PX

- U Ú Ü Ű-

UN BUTLAST; BLUTOLSÓ LASTUTOLSÓNAK LPUTUTOLSÓNÉLKÜLI; UN BUTLAST; BLÚJRASOROL REORDERÚJTEKNŐC MAKETURTLEÚT PATHÚT! SETPATHÜRES? EMPTY?ÜRESKÉPSOR EMPTYIMAGEÜZENŐ MESSAGEBOX

- V -

185

Page 186: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

VAGYORVÁGÓLAP CLIPBOARDVÁRJ WAITVÁRJAMÍG WAITUNTILVÉGE ENDVÉGREHAJT RUNVÉLETLEN RANDOMIZEVÉLETLENSZÁM; VSZ RANDOMVISSZATÉR STOP

VSZ RANDOM

- W -- X -

X XCORX! SETXXHELY; X XCORXHELY!; X! SETXXY! SETXYXYHELY!; XY! SETXY

- Y -

Y YCORY! SETYYHELY; Y YCORYHELY!; Y! SETY

- Z ZS-

186

Page 187: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

Az angol eljárásnevek ábécérendbeli listája

A következő lista a Comenius Logo összes eljárásának, függvényének és speciális jelen-tésű szavának neveit tartalmazza. A nevek az angol nevek szerint lettek ábécérendbe rendezve. ...

*+-/.SETMOUSEPOS EGÉRHELY.CLEANMEM .GYÜJTMEM.PRIMITIVES .ALAPSZAVAK.WINDOWSPOS .PONTHELY<<=

<>=>>=

A

ABS ABSZALL MINDALLTURTLES; ALL MINDAND ÉSAPPEND CSATOLAPPLY HASZNÁLARCTAN ARCTGASCII KÓDASK KÉREM

B

BACK; BK HÁTRA; HBACKGROUND; BG RAJZLAPSZÍN; RSZBF ELSŐNÉLKÜLI; ENBG RAJZLAPSZÍN; RSZBL UTOLSÓNÉLKÜLI; UNBURIED FEDETTBURY ELFEDBURYALL ELFEDMINDBUTFIRST; BF ELSŐNÉLKÜL; ENBUTLAST; BL UTOLSÓNÉLKÜLI; UNBUTMEMBER ELEMNÉLKÜLIBUTTONS GOMBNÉVBUTTONSSIZE GOMBSORBYE SZIA

187

Page 188: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

C

CASE ELÁGAZÁSCATCH ELKAPCHAR JELCHOOSER BEÁLLÍTÓCLEAN TÖRÖLRAJZCLEARSCREEN; CS TÖRÖLRAJZLAP; TRCLEARTEXT; CT TÖRÖLÍRÓLAP; TÍCLIPBOARD VÁGÓLAPCLOSEPROBLEM BEZÁRFELADATCLOSEVIDEO BEZÁRVIDEOCODEAREA ÉRZÉKENYTERÜLETCOS KOSZCOUNT ELEMSZÁM; ESZCS TÖRÖLRAJZLAP; TRCT TÖRÖLÍRÓLAPCURSOR KURZORHELY

D

DATE DÁTUMDATEW DÁTUMSZÓDATEWORD; DATEW DÁTUMSZÓDEBUG NYOMOZDEC CSÖKKENTDEFINE SAJÁTSZÓDEFINED? SAJÁTSZÓ?DIFFERENCE KÜLÖNBSÉGDIR TARTALOMJEGYZÉK; TARTDIV EGÉSZHÁNYADOS; EHDOT PONTDOTCOLOR PONTSZÍNDRAW ALAPHELYZET

E

EACH EGYMÁSUTÁNED ÁTÍREDFILE ÁTÍRFÁJLEDIT; ED ÁTÍREDITFILE; EDFILE ÁTÍRFÁJLEMPTY? ÜRES?EMPTYIMAGE ÜRESKÉPSOREND VÉGEEOF? FÁJLVÉGE?EQUAL? EGYENLŐ?ER TÖRÖLERALL TÖRÖLMUNKAERASE; ER TÖRÖLERASEFILE; ERFILE TÖRÖLFÁJL

188

Page 189: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ERASETURTLE; ERTURTLE TÖRÖLTEKNŐCERFILE TÖRÖLFÁJLERROR HIBAERTURTLE TÖRÖLTEKNŐCEXP HATVÁNY

F

FALSE HAMISFC TÖLTŐSZÍN; TLSZFD ELŐRE; EFILE? FÁJL?FILL TÖLTFILLCOLOR; FC TÖLTŐSZÍN; TLSZFILLPATTERN; FP TÖLTŐMINTA; TLMFILTER SZŰRŐFIRST ELSŐFOR CIKLUSFOREACH CIKLUSCSAKFORWARD; FD ELŐRE; EFP TÖLTŐMINTA; TLMFPUT ELSŐNEKFROMMEMBER ELEMTŐL

G

GENERATE GENERÁLGETBOX SZÖVEGDOBOZGETGS RAJZLAPABLAKGETIMAGE KIHASÍTKÉPGETSHAPE ALAKGETTS ÍRÓLAPABLAKGETWINDOW TERÜLETGPROP MEZŐGRAPHICSCREEN; GS RAJZABLAK; RAGREATER? NAGYOBB?GS RAJZABLAK; RA

H

HEADING IRÁNYHIDEBUTTONS REJTGOMBSOR; RGHIDESPEEDBAR REJTIKONSOR; RIHIDETURTLE; HT LÁTHATATLANHOME HAZAHOTSPOT TOLLPONTHT LÁTHATATLAN

I

IF HAIFF HAHAMIS; HAH

189

Page 190: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

IFFALSE; IFF HAHAMIS; HAHIFT HAIGAZ; HAIIFTRUE; IFT HAIGAZ; HAIIGNORE ELFELEJTIMAGE KÉPSORIMAGE? KÉPSOR?IMAGESIZE KÉPSORMÉRETINC NÖVELINSIDE? BELÜL?INT EGÉSZRÉSZITEM ELEM

J K

KEY? GOMBNYOMÁS?; GNY?

L

LAST UTOLSÓLEFT; LT BALRA; BLESS? KISEBB?LET LOKÁLISNÉVLIST LISTALIST? LISTA?LN LNLOAD BETÖLTLOADBITMAP BETÖLTRAJZLOADIMAGE BETÖLTKÉPSORLOADLIB BETÖLTKÖTETLOADLIBRARY; LOADLIB BETÖLTKÖTETLOADPATH BETÖLTŐÚTLOADPROBLEM BETÖLTFELADATLOADSCREEN BETÖLTRAJZLAPLOCAL LOKÁLISLOGO LOGOLOGOSIZE LOGOABLAKLPUT UTOLSÓNAKLT BALRA; B

M

MAKE NÉVMAKEERROR HIBAÜZENETMAKETURTLE ÚJTEKNŐCMAP LEKÉPEZMCI MCIMEMBER ELEMEMEMBER? ELEME?MESSAGEBOX ÜZENŐMOD MARADÉK; MAMOUSE EGÉRHELY

190

Page 191: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

MOUSESTATE EGÉRÁLLAPOT

N

NAME NEVEZNAME? NÉV?NAMES NEVEKNOT NEMNUMBER? SZÁM?

O

OP EREDMÉNY; EROPENVIDEO NYITVIDEOOR VAGYOUTPUT; OP EREDMÉNY; EROUTSIDE? KÍVÜL?OVERLAP? TAKAR?OVERLAPPED TAKART

P

PATH ÚTPATTERN TOLLMINTA; TMPAUSE NYOMOZÓSZÜNETPC TOLLSZÍN; TSZPD TOLLATLE; TLPE TOLLRADÍR; TRDPEN TOLLPENCOLOR; PC TOLLSZÍN; TSZPENDOWN; PD TOLLATLE; TLPENERASE; PE TOLLRADÍR; TRDPENREVERSE; PX TOLLVÁLTÓ; TVTPENSTATE TOLLÁLLAPOTPENUP; PU TOLLATFEL; TFPENWIDTH; PW TOLLVASTAGSÁG; TVPHASE FÁZISPICK KIVÁLASZTPL KIÍRSOR; KSPLAY HANGSORPLAYW HANGHULLÁM; HANGHPLAYWAVE; PLAYW HANGHULLÁM; HANGHPLIST MEZŐKPO KIÍRTARTALOM; KTPOLYGON SOKSZÖGPOLYGONLINE SOKSZÖGVONALPOS HELYPOTS KIÍRSAJÁTSZAVAKPPROP MEZŐ!PPS REKORDOKPRIMITIVE? ALAPSZÓ?PR KIÍR

191

Page 192: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

PRINT; PR KIÍRPRINTG NYOMTATRAJZLAPPRINTGRAPHICS; PRINTG NYOMTATRAJZLAPPRINTLINE; PL KIÍRSOR; KSPRINTM NYOMTATMEMÓRIA; NYMPRINTMEMORY; PRINTM NYOMTATMEMÓRIA; NYMPRINTT NYOMTATÍRÓLAPPRINTTEXT; PRINTT NYOMTATÍRÓLAPPRINTTO KIÍRÓESZKÖZPROCS SAJÁTNEKEVPRODUCT SZORZATPROPS REKORDNEVEKPU TOLLATFEL; TFPUTIMAGE BETOLDKÉPPW TOLLVASTAGSÁG; TVPX TOLLVÁLTÓ; TVT

Q

QUOTIENT HÁNYADOS

R

RANDOM VÉLETLENSZÁM; VSZRANDOMIZE VÉLETLENRC OLVASJEL; OJREADCHAR; RC OLVASJEL; OJREADFROM OLVASÓESZKÖZREADKEY OLVASKÓD; OKREADLIST; RL OLVASLISTA; OLREADLISTDIALOG; RLD OLVASÜZENŐREADLISTTURTLE; RLT TEKNŐCOLVASLISTA; TOLREADWORD; RW OLVASSZÓ; OSZREMPROP TÖRÖLMEZŐREORDER ÚJRASOROLREP HÁNYADIKREPCOUNT; REPC HÁNYADIKREPEAT ISMÉTLÉS; ISMREPLACE CSERE

RESETPAL ALAPPALETTARESETPALETTE; RESETPAL ALAPPALETTAREVERSE FORDÍTRIGHT; RT JOBBRA; JRL OLVASLISTA; OLRLD OLVASÜZENŐRLT TEKNŐCOLVASLISTA; TOLROUND KEREKÍTRT JOBBRARUN VÉGREHAJTRUNPROG FUTTATRUNPROGRAM; RUNPROG FUTTAT

192

Page 193: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

RW OLVASSZÓ

S

SAVE MENTSAVEBITMAP MENTRAJZSAVEIMAGE MENTKÉPSORSAVELIB MENTKÖTETSAVELIBRARY; SAVELIB MENTKÖTETSAVESCREEN MENTRAJZLAPSE MONDAT; MSENTENCE; SE MONDAT; MSETBACKGROUND; SETBG RAJZLAPSZÍN! RSZ!SETBG RAJZLAPSZÍN! RSZ!SETBOX SZÖVEGDOBOZ!SETBOZMODE SZÉVEGDOBOZMÓD!SETBURY FED!SETBUTTONS GOMBNÉV!SETBUTTONSSIZE GOMBSOR!SETCURSOR KURZORHELY!SETFC TÖLTŐSZÍN!; TLSZ!SETFILLCOLOR; SETFC TÖLTŐSZÍN!; TLSZ!SETFILLMODE TÖLTŐMÓD!SETFILLPATTERN; SETFP TÖLTŐMINTA!; TLM!SETFORMAT TIZEDESJEGY!SETFP TÖLTŐMINTA!; TLM!SETGS RAJZLAPABLAK!SETH IRÁNY!SETHEADING; SETH IRÁNY!SETHOTSPOT TOLLPONT!SETIMODE ÁTLÁTSZÓMÓD!SETLOGO LOGO!SETLOGOSIZE LOGOABLAK!SETMC EGÉRALAK!SETMOUSECURSOR; SETMC EGÉRALAK!SETPATH ÚT!SETPATTERN TOLLMINTA!; TM!SETPC TOLLSZÍN; TSZ!SETPEN TOLL!SETPENCOLOR; SETPC TOLLSZÍN!; TSZ!SETPENSTATE TOLLÁLLAPOT!SETPENWIDTH; SETPW TOLLVASTAGSÁG!; TV!SETPHASE FÁZIS!SETPHASEMODE ANIMÁCIÓSMÓD!SETPLIST MEZŐK!SETPOS HELY!SETPROMPT PARANCSJEL!SETPW TOLLVASTAGSÁG!; TV!SETREADLISTPROMPT;SETRLPROMPT OLVASLISTAPARANCSJEL!SETSHAPE ALAK!SETSHAPECOLOR ALAKSZÍN!

193

Page 194: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

SETTC ÍRÓSZÍN!SETTS ÍRÓLAPABLAK!SETTT BETŰ!SETTTEXT; SETTT BETŰ!SETX XHELY!; X!SETXY XYHELY!; XY!SETY YHELY!; Y!SH KIÍRJEL; KISHAPECOLOR ALAKSZÍNSHAPEPOS FÁZISPONTSHOW; SH KIÍRJEL; KISHOWBUTTONS MUTATGOMBSOR; MGSHOWN? LÁTHATÓ?SHOWSPEEDBAR MUTATIKONSOR; MISHOWTURTLE; ST LÁTHATÓSHUFFLE ÖSSZEKEVERSIN SZINSOUND HANGSPLITSCREEN; SS OSZTOTTABLAK; OASQRT GYÖKSS OSZTOTTABLAK; OAST LÁTHATÓSTAMP LENYOMATSTOP VISSZATÉRSUM ÖSSZEGSYSTEMMETRICS RENDSZERMÉRET

T

TAN TGTELL FIGYELJTEST TESZTTEXT SZÓTARTALOMTEXTSCREEN; TS ÍRÓABLAK; ÍATEXTSIZE BETŰNÉGYZETTHING TARTALOMTHROW ÁTDOBTIME IDŐTIMEW IDŐSZÓTIMEWORD; TIMEW IDŐSZÓTO TANULDTOPLEVEL FELSŐSZINTTOUCHED RÁKATTINTOTTTOWARDS IRÁNYSZÖGTRUE IGAZTS ÍRÓABLAK; ÍATT BETŐZDTTEXT; TT BETŐZDTURTLESTATE ÁLLAPOTTYPE KIÍRBELSŐ

194

Page 195: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

U

UNBURY FELFED

V W

WAIT VÁRJWAITUNTIL VÁRJAMÍGWHILE AMÍGWHO KIFIGYELWINDOW ABLAKWORD SZÓWORD? SZÓ?WRAP KÖRKÖRÖSEN

X

XCOR XHELY; X

Y

YCOR YHELY; Y

Z

Tartalomjegyzék

A COMENIUS LOGO FELÜLETE:.........................................................................................................2

NUMERIKUS FÜGGVÉNYEK.................................................................................................................3

* ................................................................................................................................................................3+................................................................................................................................................................3-.................................................................................................................................................................3/..................................................................................................................................................................3ABSZ.........................................................................................................................................................4ARCTG.....................................................................................................................................................4EGÉSZHÁNYADOS; EH........................................................................................................................4EGÉSZRÉSZ.............................................................................................................................................5EH.............................................................................................................................................................5GYÖK.......................................................................................................................................................5HATVÁNY...............................................................................................................................................6HÁNYADOS............................................................................................................................................6KEREKÍT..................................................................................................................................................6COS...........................................................................................................................................................6KÜLÖNBSÉG...........................................................................................................................................7LN.............................................................................................................................................................7MA............................................................................................................................................................7MARADÉK; MA.....................................................................................................................................7ÖSSZEG....................................................................................................................................................7SIN............................................................................................................................................................8SZORZAT.................................................................................................................................................8TG.............................................................................................................................................................8VÉLETLEN..............................................................................................................................................8VÉLETLENSZÁM; VSZ.........................................................................................................................9VSZ...........................................................................................................................................................9

NUMERIKUS PREDIKÁTUMOK..........................................................................................................10

195

Page 196: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

<..............................................................................................................................................................10<=............................................................................................................................................................10>..............................................................................................................................................................10>=............................................................................................................................................................11<>............................................................................................................................................................11=..............................................................................................................................................................11EGYENLŐ?............................................................................................................................................12KISEBB?.................................................................................................................................................12NAGYOBB?...........................................................................................................................................13

SZÓ- ÉS LISTAFÜGGVÉNYEK.............................................................................................................14

<..............................................................................................................................................................14<=............................................................................................................................................................14>..............................................................................................................................................................14>=............................................................................................................................................................15<>............................................................................................................................................................15=..............................................................................................................................................................15CSERE....................................................................................................................................................16EGYENLŐ?............................................................................................................................................17ELEM......................................................................................................................................................17ELEME...................................................................................................................................................18ELEME?..................................................................................................................................................19ELEMNÉLKÜLI.....................................................................................................................................19ELEMSZÁM; ESZ.................................................................................................................................20ELEMTŐL..............................................................................................................................................20ELSŐ.......................................................................................................................................................21ELSŐNEK...............................................................................................................................................21ELSŐNÉLKÜLI; EN.............................................................................................................................22EN...........................................................................................................................................................22ESZ..........................................................................................................................................................22FORDÍT..................................................................................................................................................23JEL..........................................................................................................................................................23KISEBB?.................................................................................................................................................23KIVÁLASZT..........................................................................................................................................23KÓD........................................................................................................................................................24LISTA.....................................................................................................................................................24LISTA?....................................................................................................................................................25M.............................................................................................................................................................25MONDAT; M.........................................................................................................................................26NAGYOBB?...........................................................................................................................................26ÖSSZEKEVER.......................................................................................................................................26SZÁM?....................................................................................................................................................26SZÓ.........................................................................................................................................................27SZÓ?.......................................................................................................................................................27UN...........................................................................................................................................................27UTOLSÓ.................................................................................................................................................28UTOLSÓNAK........................................................................................................................................28UTOLSÓNÉLKÜLI; UN.......................................................................................................................29ÜRES?.....................................................................................................................................................29

REKORDOKRA VONATKOZÓ ELJÁRÁSOK...................................................................................30

ÁTÍR.......................................................................................................................................................30ELFED....................................................................................................................................................30ELFEDMIND..........................................................................................................................................30FED!........................................................................................................................................................31FEDETT..................................................................................................................................................31FELFED..................................................................................................................................................32MEZŐ.....................................................................................................................................................32MEZŐ!....................................................................................................................................................33MEZŐK...................................................................................................................................................33MEZŐK!.................................................................................................................................................34REKORDNEVEK...................................................................................................................................34REKORDOK...........................................................................................................................................35

196

Page 197: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TÖRÖL...................................................................................................................................................35TÖRÖLMEZŐ........................................................................................................................................36TÖRÖLMUNKA....................................................................................................................................36

LOGIKAI FÜGGVÉNYEK ÉS IGAZSÁGÉRTÉKEK.........................................................................38

ÉS............................................................................................................................................................38HAMIS....................................................................................................................................................38IGAZ.......................................................................................................................................................38NEM........................................................................................................................................................38VAGY.....................................................................................................................................................39

VÁLTOZÓK LÉTREHOZÁSA ÉS FELHASZNÁLÁSA.....................................................................40

ÁTÍR.......................................................................................................................................................40CSÖKKENT...........................................................................................................................................40ELFED....................................................................................................................................................40ELFEDMIND..........................................................................................................................................41FED!........................................................................................................................................................41FEDETT..................................................................................................................................................42FELFED..................................................................................................................................................42LOKÁLIS................................................................................................................................................43LOKÁLISNÉV.......................................................................................................................................43NÉV.........................................................................................................................................................43NÉV?.......................................................................................................................................................44NEVEK...................................................................................................................................................44NEVEZ....................................................................................................................................................44NÖVEL...................................................................................................................................................45TARTALOM...........................................................................................................................................45TÖRÖL...................................................................................................................................................46TÖRÖLMUNKA....................................................................................................................................46

VEZÉRLŐ ÉS FELTÉTELES ELJÁRÁSOK........................................................................................48

AMÍG......................................................................................................................................................48ÁTDOB...................................................................................................................................................48CIKLUS..................................................................................................................................................48CIKLUSCSAK........................................................................................................................................49ELÁGAZÁS............................................................................................................................................49ELFELEJT..............................................................................................................................................50ELKAP....................................................................................................................................................51ER............................................................................................................................................................51EREDMÉNY; ER..................................................................................................................................52FELSŐSZINT.........................................................................................................................................52GENERÁL..............................................................................................................................................52HA...........................................................................................................................................................53HAH........................................................................................................................................................53HAHAMIS; HAH..................................................................................................................................54HAI..........................................................................................................................................................54HAIGAZ; HAI.......................................................................................................................................54HASZNÁL..............................................................................................................................................54HÁNYADIK...........................................................................................................................................55HIBA.......................................................................................................................................................55HIBAÜZENET.......................................................................................................................................56ISM..........................................................................................................................................................56ISMÉTLÉS; ISM...................................................................................................................................57LEKÉPEZ...............................................................................................................................................57NYOMOZ...............................................................................................................................................57NYOMOZÓSZÜNET.............................................................................................................................57SZŰRŐ....................................................................................................................................................58TESZT.....................................................................................................................................................58VÉGREHAJT..........................................................................................................................................59VISSZATÉR...........................................................................................................................................59VÁRJ.......................................................................................................................................................60VÁRJAMÍG............................................................................................................................................60

197

Page 198: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

ELJÁRÁSOK DEFINIÁLÁSA, SZERKESZTÉSE ÉS FELDOLGOZÁSA ...................................61

.ALAPSZAVAK.....................................................................................................................................61ALAPSZÓ?.............................................................................................................................................61ÁTÍR.......................................................................................................................................................61ELFED....................................................................................................................................................62ELFEDMIND..........................................................................................................................................62FEDETT..................................................................................................................................................62KIÍRSAJÁTSZAVAK............................................................................................................................63KIÍRTARTALOM; KT..........................................................................................................................63KT...........................................................................................................................................................64SAJÁTNEVEK.......................................................................................................................................64SAJÁTSZÓ.............................................................................................................................................64SAJÁTSZÓ?...........................................................................................................................................65SZÓTARTALOM...................................................................................................................................65TANULD................................................................................................................................................66TÖRÖL...................................................................................................................................................66TÖRÖLMUNKA....................................................................................................................................67VÉGE......................................................................................................................................................67

TEKNŐCMŰVELETEK..........................................................................................................................68

ABLAK...................................................................................................................................................68ALAK......................................................................................................................................................68ALAK!....................................................................................................................................................69ALAKSZÍN.............................................................................................................................................69ALAKSZÍN!...........................................................................................................................................69ALAPHELYZET....................................................................................................................................70ÁLLAPOT...............................................................................................................................................70ANIMÁCIÓSMÓD!...............................................................................................................................70B..............................................................................................................................................................71BALRA; B.............................................................................................................................................71BELÜL?..................................................................................................................................................71BETOLDKÉP.........................................................................................................................................71BETŰ!.....................................................................................................................................................72BETŰZD.................................................................................................................................................73BETŰNÉGYZET....................................................................................................................................73E..............................................................................................................................................................74EGYMÁSUTÁN.....................................................................................................................................74ELŐRE; E..............................................................................................................................................75FÁZIS......................................................................................................................................................75FÁZIS!....................................................................................................................................................75FÁZISPONT...........................................................................................................................................75FIGYELJ.................................................................................................................................................76H..............................................................................................................................................................76HAZA......................................................................................................................................................76HÁTRA; H.............................................................................................................................................76HELY......................................................................................................................................................77HELY!.....................................................................................................................................................77IRÁNY....................................................................................................................................................77IRÁNY!...................................................................................................................................................78IRÁNYSZÖG..........................................................................................................................................78J...............................................................................................................................................................78JOBBRA; J.............................................................................................................................................78KÉREM...................................................................................................................................................79KIFIGYEL..............................................................................................................................................79KIHASÍTKÉP.........................................................................................................................................80KÍVÜL?...................................................................................................................................................81KÖRKÖRÖSEN......................................................................................................................................81LÁTHATÓ..............................................................................................................................................81LÁTHATÓ?............................................................................................................................................82LÁTHATATLAN...................................................................................................................................82LENYOMAT..........................................................................................................................................83MIND......................................................................................................................................................83

198

Page 199: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

PONT......................................................................................................................................................83PONTSZÍN.............................................................................................................................................84SOKSZÖG..............................................................................................................................................84SOKSZÖGVONAL................................................................................................................................85SZÖVEGDOBOZ...................................................................................................................................86SZÖVEGDOBOZ!..................................................................................................................................86SZÖVEGDOBOZMÓD!.........................................................................................................................89TAKART.................................................................................................................................................89TAKAR?.................................................................................................................................................89TEKNŐCOLVASLISTA; TOL.............................................................................................................90TERÜLET...............................................................................................................................................90TF............................................................................................................................................................90TL............................................................................................................................................................91TLM........................................................................................................................................................92TLM!.......................................................................................................................................................92TLSZ.......................................................................................................................................................92TLSZ!......................................................................................................................................................93TM...........................................................................................................................................................93TM!.........................................................................................................................................................93TOL.........................................................................................................................................................94TOLL.......................................................................................................................................................94TOLL!.....................................................................................................................................................94TOLLATFEL; TF..................................................................................................................................95TOLLATLE; TL....................................................................................................................................95TOLLÁLLAPOT....................................................................................................................................95TOLLÁLLAPOT!...................................................................................................................................95TOLLMINTA; TM................................................................................................................................96TOLLMINTA!; TM!..............................................................................................................................96TOLLRADÍR; TRD...............................................................................................................................96TOLLSZÍN; TSZ...................................................................................................................................96TOLLSZÍN!; TSZ!.................................................................................................................................97TOLLVASTAGSÁG; TV......................................................................................................................97TOLLVASTAGSÁG!; TV!...................................................................................................................97TOLLVÁLTÓ; TVT..............................................................................................................................98TÖLT.......................................................................................................................................................98TÖLTŐMÓD!.........................................................................................................................................99TÖLTŐMINTA; TLM...........................................................................................................................99TÖLTŐMINTA!; TLM!........................................................................................................................99TÖLTŐSZÍN; TLSZ..............................................................................................................................99TÖLTŐSZÍN!; TLSZ!...........................................................................................................................99TÖRÖLMUNKA....................................................................................................................................99TÖRÖLRAJZ........................................................................................................................................100TÖRÖLRAJZLAP; TR........................................................................................................................100TÖRÖLTEKNŐC.................................................................................................................................100TR..........................................................................................................................................................100TRD.......................................................................................................................................................101TSZ........................................................................................................................................................101TSZ!......................................................................................................................................................101TV.........................................................................................................................................................101TV!........................................................................................................................................................101TVT.......................................................................................................................................................101ÚJRASOROL........................................................................................................................................101ÚJTEKNŐC..........................................................................................................................................101X............................................................................................................................................................102X!...........................................................................................................................................................103XHELY; X...........................................................................................................................................103XHELY!; X!.........................................................................................................................................103XY!........................................................................................................................................................103XYHELY!; XY!...................................................................................................................................104Y............................................................................................................................................................104Y!...........................................................................................................................................................104YHELY; Y...........................................................................................................................................104

199

Page 200: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

KÉPSOROK FELDOLGOZÁSA...........................................................................................................105

ALAK....................................................................................................................................................105ALAK!..................................................................................................................................................105ALAKSZÍN...........................................................................................................................................106ALAKSZÍN!.........................................................................................................................................106ANIMÁCIÓSMÓD!.............................................................................................................................106BETOLDKÉP.......................................................................................................................................107BETÖLTKÉPSOR................................................................................................................................107BETÖLTRAJZ......................................................................................................................................108ÁTLÁTSZÓMÓD!...............................................................................................................................108FÁZIS....................................................................................................................................................109FÁZIS!..................................................................................................................................................109FÁZISPONT.........................................................................................................................................109KÉPSOR...............................................................................................................................................110KÉPSOR?..............................................................................................................................................110KÉPSORMÉRET..................................................................................................................................110KIHASÍTKÉP.......................................................................................................................................111MENTKÉPSOR....................................................................................................................................112MENTRAJZ..........................................................................................................................................112TOLLPONT..........................................................................................................................................112TOLLPONT!.........................................................................................................................................113ÚT.........................................................................................................................................................113ÚT!........................................................................................................................................................114ÜRESKÉPSOR.....................................................................................................................................114

A KÉPERNYŐ BEÁLLÍTÁSAI.............................................................................................................116

.PONTHELY!.......................................................................................................................................116ALAPHELYZET..................................................................................................................................116ALAPPALETTA...................................................................................................................................116BETÖLTRAJZLAP..............................................................................................................................116EGÉRALAK!........................................................................................................................................117EGÉRHELY!........................................................................................................................................117ÍA...........................................................................................................................................................118ÍRÓABLAK; ÍA...................................................................................................................................118ÍRÓLAP................................................................................................................................................118ÍRÓLAP!...............................................................................................................................................118ÍRÓSZÍN!..............................................................................................................................................119KURZORHELY....................................................................................................................................119KURZORHELY!..................................................................................................................................119LOGOABLAK......................................................................................................................................120LOGOABLAK!.....................................................................................................................................120MENTRAJZLAP..................................................................................................................................120MI..........................................................................................................................................................121MUTATIKONSOR; MI.......................................................................................................................121NYOMTATÍRÓLAP............................................................................................................................121NYOMTATRAJZLAP..........................................................................................................................121OA.........................................................................................................................................................122OLPARANCSJEL!...............................................................................................................................122OLVASLISTAPARANCSJEL!;...........................................................................................................122PONTSZÍN...........................................................................................................................................122OSZTOTTABLAK; OA......................................................................................................................123PARANCSJEL!.....................................................................................................................................123RA.........................................................................................................................................................123RAJZABLAK; RA...............................................................................................................................123RAJZLAP..............................................................................................................................................124RAJZLAP!............................................................................................................................................124RAJZLAPSZÍN; RSZ..........................................................................................................................124RAJZLAPSZÍN!; RSZ!........................................................................................................................124REJTIKONSOR; RI.............................................................................................................................125RI...........................................................................................................................................................125RSZ.......................................................................................................................................................125RSZ!......................................................................................................................................................125

200

Page 201: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

TÍ...........................................................................................................................................................125TÖRÖLÍRÓLAP; TÍ............................................................................................................................125TÖRÖLRAJZ........................................................................................................................................125TÖRÖLRAJZLAP; TR........................................................................................................................125TR..........................................................................................................................................................126

GOMBOK ÉS PARAMÉTERBEÁLLÍTÓK........................................................................................127

BEÁLLÍTÓ...........................................................................................................................................127BETÖLTFELADAT.............................................................................................................................127BEZÁRFELADAT...............................................................................................................................128GOMBNÉV...........................................................................................................................................128GOMBNÉV!.........................................................................................................................................128GOMBSOR...........................................................................................................................................129GOMBSOR!..........................................................................................................................................129MG........................................................................................................................................................130MI..........................................................................................................................................................130MUTATGOMBSOR; MG...................................................................................................................130MUTATIKONSOR; MI.......................................................................................................................130REJTGOMBSOR; RG.........................................................................................................................130REJTIKONSOR; RI.............................................................................................................................131RG.........................................................................................................................................................131RI...........................................................................................................................................................131

KOMMUNIKÁCIÓ A KÜLVILÁGGAL"............................................................................................132

JEL........................................................................................................................................................132GNY?....................................................................................................................................................132GOMBNYOMÁS?; GNY?..................................................................................................................132KI...........................................................................................................................................................132KIÍR.......................................................................................................................................................133KIÍRBELSŐ..........................................................................................................................................133KIÍRJEL; KI.........................................................................................................................................134KIÍRÓESZKÖZ....................................................................................................................................134KIÍRSAJÁTSZAVAK..........................................................................................................................134KIÍRSOR; KS.......................................................................................................................................135KIÍRTARTALOM; KT........................................................................................................................135KS..........................................................................................................................................................136KT.........................................................................................................................................................136NYOMTATMEMÓRIA.......................................................................................................................136NYOMTATÍRÓLAP............................................................................................................................136NYOMTATRAJZLAP..........................................................................................................................136OJ..........................................................................................................................................................137OK.........................................................................................................................................................137OL.........................................................................................................................................................138OLPARANCSJEL!...............................................................................................................................139OLVASJEL; OJ...................................................................................................................................139OLVASKÓD; OK................................................................................................................................139OLVASLISTA; OL..............................................................................................................................139OLVASÓESZKÖZ...............................................................................................................................139OLVASLISTAPARANCSJEL!; OLPARANCSJEL! ....................................................................140OLVASSZÓ; OSZ...............................................................................................................................140OLVASÜZENŐ....................................................................................................................................140OSZ.......................................................................................................................................................141PARANCSJEL!.....................................................................................................................................141TEKNŐCOLVASLISTA; TOL...........................................................................................................141TIZEDESJEGY!...................................................................................................................................142TOL.......................................................................................................................................................142ÜZENŐ.................................................................................................................................................142VÁGÓLAP............................................................................................................................................142

FÁJLKEZELŐ ELJÁRÁSOK...............................................................................................................144

CSATOL...............................................................................................................................................144ÁTÍRFÁJL............................................................................................................................................144BETÖLT...............................................................................................................................................145

201

Page 202: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

BETÖLTKÉPSOR................................................................................................................................145BETÖLTKÖTET..................................................................................................................................146BETÖLTŐÚT.......................................................................................................................................146BETÖLTRAJZ......................................................................................................................................147BETÖLTRAJZLAP..............................................................................................................................147FÁJL?....................................................................................................................................................148FÁJLVÉGE?.........................................................................................................................................148KIÍRÓESZKÖZ....................................................................................................................................148MENT...................................................................................................................................................149MENTKÉPSOR....................................................................................................................................150MENTKÖTET......................................................................................................................................150MENTRAJZ..........................................................................................................................................151MENTRAJZLAP..................................................................................................................................151OLVASÓESZKÖZ...............................................................................................................................152TART....................................................................................................................................................152TARTALOMJEGYZÉK; TART.........................................................................................................153TÖRÖLFÁJL........................................................................................................................................153ÚT.........................................................................................................................................................153ÚT!........................................................................................................................................................154VÁGÓLAP............................................................................................................................................154

KOMMUNIKÁCIÓ AZ EGÉR SEGÍTSÉGÉVEL..............................................................................155

EGÉRALAK!........................................................................................................................................155EGÉRÁLLAPOT..................................................................................................................................156EGÉRHELY..........................................................................................................................................157EGÉRHELY!........................................................................................................................................157ÉRZÉKENYTERÜLET........................................................................................................................157GOMBNYOMÁS?; GNY?..................................................................................................................158GNY?....................................................................................................................................................158OK.........................................................................................................................................................158OLVASKÓD; OK................................................................................................................................159RÁKATTINTOTT................................................................................................................................159

ZENEI ALAPSZAVAK ÉS MULTIMÉDIA.........................................................................................161

BEZÁRVIDEÓ.....................................................................................................................................161HANG...................................................................................................................................................161HANGH................................................................................................................................................161HANGHULLÁM; HANGH.................................................................................................................162HANGSOR...........................................................................................................................................162MCI.......................................................................................................................................................162NYITVIDEÓ.........................................................................................................................................163ÚT.........................................................................................................................................................164ÚT!........................................................................................................................................................164

A MUNKATERÜLET KEZELÉSE.......................................................................................................166

.GYŰJTMEM........................................................................................................................................166

EGYÉB......................................................................................................................................................167

DÁTUM................................................................................................................................................167DÁTUMSZÓ.........................................................................................................................................167FUTTAT...............................................................................................................................................167IDŐ........................................................................................................................................................168IDŐSZÓ................................................................................................................................................168LOGO....................................................................................................................................................169LOGO!..................................................................................................................................................169RENDSZERMÉRET.............................................................................................................................171

KILÉPÉS..................................................................................................................................................172

SZIA......................................................................................................................................................172

ALAPSZAVAK JEGYZÉKE...............................................................................................................174

akármi............................................................................................................................................174

202

Page 203: Nagy Zoltán - Comenius Logo referenciakönyv (1998, 212 oldal)

alakszín..........................................................................................................................................174 alapirány........................................................................................................................................174 alapkoordináták.............................................................................................................................174 alapkönyvtár..................................................................................................................................174 alkönyvtár......................................................................................................................................174 aktív alakszín..................................................................................................................................174 aktív eljárás....................................................................................................................................174 aktív teknőc....................................................................................................................................174

A MAGYAR ELJÁRÁSNEVEK ABC LISTÁJA...............................................................................177

AZ ANGOL ELJÁRÁSNEVEK ÁBÉCÉRENDBELI LISTÁJA......................................................187

203