You are on page 1of 203

Helpből készített referenciakönyv

összeállította: Nagy Zoltán


A Comenius Logo felülete:

Objektum szerkesztő Teljes rajzlap Alapszavak


Betöltés Osztott képernyő Gombsor
Mentés Írólap Demó programok
Segítség Feladatok Program leállítás

2
Numerikus függvények

*
* --- művelet 2 bemenő adattal
szá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 * 3
21
? KI -3 * -5
15
? KIÍR (MONDAT 2 "* 3 "EGYENLŐ 2 * 3)
2 * 3 EGYENLŐ 6

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

? KI 22 + 18
40
? 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ő adattal
szám1 - szám2
-szám
a bemenet1 - bemenet2 és a KÜLÖNBSÉG bemenet1 bemenet2 függvények meg-
egyeznek
Eredményül a szám1 és a szám2 különbségét kapjuk.

? KIÍR 44 - 12
32

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
szám1 / szám2
a bemenet1 / bemenet2 és a HÁNYADOS bemenet1 bemenet2 függvények meg-
egyeznek
Kimenetké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 / 32
17361.09
? KI EGÉSZHÁNYADOS 555555 32
17361

ABSZ
ABSZ --- függvény 1 bemenő adattal
ABSZ szám
Eredménye a bemenő szám abszolút értéke.

? KIÍR ABSZ -55.4


55.4
? KIÍR ABSZ -5 = 5
IGAZ

ARCTG
ARCTG --- függvény 1 bemenő adattal
ARCTG szám
Eredmé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 5
78.69
? KI TG ARCTG 33.5
33.5

EGÉSZHÁNYADOS; EH
EGÉSZHÁNYADOS; EH --- függvény 2 bemenő adattal
EGÉSZHÁNYADOS szám1 szám2
Eredmé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
? KI EGÉSZHÁNYADOS 14 4
3
? KI HÁNYADOS 14 4
3.5
? KI MARADÉK 14 4
2

EGÉSZRÉSZ
EGÉSZRÉSZ --- függvény 1 bemenő adattal
egészrész
EGÉSZRÉSZ szám
Eredmé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 1
2

EH
EGÉSZHÁNYADOS; EH --- függvény 2 bemenő adattal
EGÉSZHÁNYADOS szám1 szám2
Eredmé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 4
3
? KI HÁNYADOS 14 4
3.5
? KI MARADÉK 14 4
2

GYÖK
GYÖK --- függvény 1 bemenő adattal
GYÖK szám
ahol a szám nem negatív
Eredménye a bemenet négyzetgyöke.

? NÉV "VALAMI 5
? KIÍR GYÖK :VALAMI
2.24
? ISMÉTLÉS 3 [KIÍR GYÖK :VALAMI NÉV "VALAMI :VALAMI+5]
2.24
3.16
3.87
? TIZEDESJEGY! 18

5
? KIÍR GYÖK 2
1,41421356237309505

HATVÁNY
HATVÁNY --- függvény 1 bemenő adattal
HATVÁNY szám
Eredmé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 -5
0.01
? KI ELEMSZÁM HATVÁNY -5

20 ; a belső pontosság igen nagy


? TIZEDESJEGY! 18
? KI HATVÁNY 1
2,71828182845904524

HÁNYADOS
HÁNYADOS --- függvény 2 bemenő adattal
HÁNYADOS szám1 szám2
a HÁNYADOS bemenet1 bemenet2 és a bemenet1 / bemenet2 függvények meg-
egyeznek
Eredmé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 32
17361.09
? KI EGÉSZHÁNYADOS 555555 32
17361

KEREKÍT
KEREKÍT --- függvény 1 bemenő adattal
KEREKÍT szám
Eredmé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
8
? KI KEREKÍT -55.5
-56

COS
KEREKÍT --- függvény 1 bemenő adattal
KEREKÍT szám
Eredmé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
8
? KI KEREKÍT -55.5
-56

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

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


32

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

? KI LN 10
2.3
? KI ELEMSZÁM LN 10

19 ; a számok belső ábrázolásának pontossága nagyon nagy


? TIZEDESJEGY! 18
? KI LN 10
2,30258509299404568

MA
MARADÉK; MA --- függvény 2 bemenő adattal
MARADÉK szám1 szám2 ahol szám2 nem lehet 0
Eredmé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 5
3
? 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
HELYES!

SIN
SIN --- függvény 1 bemenő adattal
SIN szög
Eredménye a bemenő (fokokban mért) szög szinusza.

? KIÍR SIN 90
1
? KIÍR ARCTG (SIN 45) / COS 45
45
? 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

SZORZAT
SZORZAT --- függvény 2 vagy N bemenő adattal
SZORZAT szám1 szám2
(SZORZAT szám1 ... )
a SZORZAT bemenet1 bemenet2 és a bemenet1 * bemenet2 függvények azonosak
Eredmé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

TG
TG --- függvény 1 bemenő adattal
TG szög
Eredmé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 45
1
? KIÍR TG 50
1.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.5
72.5

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

8
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; VSZ
VÉLETLENSZÁM; VSZ --- függvény 1 bemenő adattal
VÉLETLENSZÁM szám
ahol a szám nem negatív
Eredmé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]


0
2
0
1

VSZ

9
Numerikus predikátumok

<
< --- művelet 2 bemenő adattal
szám1 < szám2
a bemenet1 < bemenet2 és a KISEBB? bemenet1 bemenet2 függvények megegyez-
nek
Eredmé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 / 3


IGAZ

A tizedesjegyek száma...

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

? KI 5 <= ABSZ -5
IGAZ

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ő adattal
szám1 > szám2
a bemenet1 > bemenet2 és a NAGYOBB? bemenet1 bemenet2 függvények meg-
egyeznek
Eredményül IGAZ értéket kapunk, ha a szám1 nagyobb, mint a szám2, különben pedig
HAMIS-at.

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

10
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.33


IGAZ

A tizedesjegyek száma...

>=
>= --- művelet 2 bemenő adattal
szám1 >= szám2
Eredmé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.44


IGAZ

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ő adattal
akármi1 <> akármi2
Eredmé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 + 4
HAMIS
? KI 8 <> 3.4 + 4.5
IGAZ

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ő adattal
akármi1 = akármi2
a bemenet1 = bemenet2 és az EGYENLŐ? bemenet1 bemenet2 függvények meg-
egyeznek
Ha 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
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 = "27
IGAZ

EGYENLŐ?
EGYENLŐ? --- függvény 2 vagy N bemenő adattal
EGYENLŐ? akármi1 akármi2
(EGYENLŐ? akármi ... )
az EGYENLŐ? bemenet1 bemenet2 és a bemenet1 = bemenet2 függvények meg-
egyeznek
Eredmé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.0
IGAZ
? KI EGYENLŐ? UN "K
IGAZ
? 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ő adattal
KISEBB? szám1 szám2

12
(KISEBB? szám1 ... )
a KISEBB? bemenet1 bemenet2 és a bemenet1 < bemenet2 függvények azonosak
Eredmé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 4
IGAZ
? KI KISEBB? ABSZ -100 2 * 50
HAMIS
? KI (KISEBB? -7 -4 -1 2 5)
IGAZ

NAGYOBB?
NAGYOBB? --- függvény 2 vagy N bemenő adattal
NAGYOBB? szám1 szám2
(NAGYOBB? szám1 ... )
a NAGYOBB? bemenet1 bemenet2 és a bemenet1 > bemenet2 függvények meg-
egyeznek
Eredmé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 4
IGAZ
? KI NAGYOBB? 5 MARADÉK 22 14
HAMIS
? KI (NAGYOBB? 8 0 -8)
IGAZ

13
Szó- és listafüggvények

<
< --- művelet 2 bemenő adattal
szám1 < szám2
a bemenet1 < bemenet2 és a KISEBB? bemenet1 bemenet2 függvények megegyez-
nek
Eredmé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 / 3


IGAZ

A tizedesjegyek száma...

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

? KI 5 <= ABSZ -5
IGAZ

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ő adattal
szám1 > szám2
a bemenet1 > bemenet2 és a NAGYOBB? bemenet1 bemenet2 függvények meg-
egyeznek
Eredményül IGAZ értéket kapunk, ha a szám1 nagyobb, mint a szám2, különben pedig
HAMIS-at.

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

14
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.33


IGAZ

A tizedesjegyek száma...

>=
>= --- művelet 2 bemenő adattal
szám1 >= szám2
Eredmé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.44


IGAZ

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ő adattal
akármi1 <> akármi2
Eredmé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 + 4
HAMIS
? KI 8 <> 3.4 + 4.5
IGAZ

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ő adattal
akármi1 = akármi2
a bemenet1 = bemenet2 és az EGYENLŐ? bemenet1 bemenet2 függvények meg-
egyeznek
Ha 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
? 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 = "27
IGAZ

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

CSERE szám lista akármi


CSERE szám szó1 szó2
CSERE szám képsor1 képsor2

CSERE intervallum lista1 lista2


CSERE intervallum szó1 szó2
CSERE 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Ó "JT
HAJTÓ

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
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 "L


MÁ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] "ROSSZ
HIBA: 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 "XYZ
ABXYZCDEF
; [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ő adattal
EGYENLŐ? akármi1 akármi2
(EGYENLŐ? akármi ... )
az EGYENLŐ? bemenet1 bemenet2 és a bemenet1 = bemenet2 függvények meg-
egyeznek
Eredmé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.0
IGAZ
? KI EGYENLŐ? UN "K
IGAZ
? 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

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

17
ELEM szám akármi
ELEM 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éter
e
? 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ÁN
LIPÁ
? 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ÁNOS
NOS

ELEME
ELEME --- függvény 2 bemenő adattal
ELEME szó1 szó2
ELEME akármi lista
A 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
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ő adattal
ELEME? akármi lista
ELEME? 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ÁBOR
IGAZ

ELEMNÉLKÜLI
ELEMNÉLKÜLI--- függvény 2 bemenő adattal
ELEMNÉ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
? KI ELEMNÉLKÜLI "L "HELLO
HEO
? 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; ESZ
ELEMSZÁM; ESZ --- függvény 1 bemenő adattal
ELEMSZÁM akármi
Ha 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
4
? KI ELEMSZÁM [LOGO]
1
? KI ELEMSZÁM EN "A
0

ELEMTŐL
ELEMTŐL --- függvény 2 bemenő adattal
ELEMTŐL szó1 szó2
ELEMTŐ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 "MNCABXYZCAB


ABXYZCAB
? KI ELEMTŐL "ABBA "MABB

; üres szó lesz visszaadva, mert


; az ABBA nem alszava a MABB-nak

20
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ő adattal
ELSŐ akármi
ahol akármi tetszőleges nem üres szó, lista vagy képsor
Ha 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Ő "ABC
A
? KIÍR ELSŐ 99.567
9
? KI ELSŐ [ [A B C] D E]
[A B C]
? KIÍR ELSŐ [ [A B C] D E]
ABC
Legyen 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ŐNEK
ELSŐNEK --- függvény 2 bemenő adattal
ELSŐNEK betesz
ELSŐNEK akármi lista
ELSŐNEK képsor1 képsor2
ELSŐNEK szó1 szó2
Ha 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
? 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; EN
ELSŐNÉLKÜLI; EN --- függvény 1 bemenő adattal
ELSŐNÉLKÜLI akármi ahol akármi egy tetszőleges nem üres szó, lista vagy képsor
Ha 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 "LOGO


LOGO
? KIÍR EN [ ]
HIBA: en mellett nem használható [ ]
? KI EN EN [ [A 2] [B 3] [C 4] ]
[ [C 4] ]

EN

ESZ
ELEMSZÁM; ESZ --- függvény 1 bemenő adattal
ELEMSZÁM akármi
Ha 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
4
? KI ELEMSZÁM [LOGO]
1
? KI ELEMSZÁM EN "A
0

FORDÍT
FORDÍT --- függvény 1 bemenő adattal
FORDÍT akármi
Megfordí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ÖMB
BMÖGGÉL
? KI FORDÍT [ [1 2 3] [4 5 6] [7 8 9] ]
[ [7 8 9] [4 5 6] [1 2 3] ]

JEL
JEL --- függvény 1 bemenő adattal
JEL szám
ahol a szám egy a 0 és 255 közé eső egész szám
Eredmé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 122


z
? KI JEL 32 + KÓD "E
e

KISEBB?
KISEBB? --- függvény 2 vagy N bemenő adattal
KISEBB? szám1 szám2
(KISEBB? szám1 ... )
a KISEBB? bemenet1 bemenet2 és a bemenet1 < bemenet2 függvények azonosak
Eredmé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 4
IGAZ
? KI KISEBB? ABSZ -100 2 * 50
HAMIS
? KI (KISEBB? -7 -4 -1 2 5)
IGAZ

KIVÁLASZT

23
KIVÁLASZT --- függvény 1 bemenő adattal
KIVÁLASZT akármi
ahol akármi nem üres
A 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ÓD
KÓD --- függvény 1 bemenő adattal
KÓD karakter
KÓ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 "A
65
? KI KÓD "!
33
? KI JEL 32 + KÓD "A
a

LISTA
LISTA --- függvény 2 vagy N bemenő adattal
LISTA 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
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ő adattal
LISTA? akármi
Eredmé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? "ZOLI
HAMIS

M
MONDAT; M --- függvény 2 vagy N bemenő adattal
MONDAT 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ÁL
PÉ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
? 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ő adattal
NAGYOBB? szám1 szám2
(NAGYOBB? szám1 ... )
a NAGYOBB? bemenet1 bemenet2 és a bemenet1 > bemenet2 függvények meg-
egyeznek
Eredmé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 4
IGAZ
? KI NAGYOBB? 5 MARADÉK 22 14
HAMIS
? KI (NAGYOBB? 8 0 -8)
IGAZ

ÖSSZEKEVER
ÖSSZEKEVER --- függvény 1 bemenő adattal
ÖSSZEKEVER akármi
Eredmé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ÖMB
GÖÉLBMG
? KI ÖSSZEKEVER "LÉGGÖMB
BÖ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ő adattal
SZÁM? akármi
Eredmé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.7
IGAZ

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

SZÓ
SZÓ --- függvény 2 vagy N bemenő adattal
SZÓ 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 "dows


Windows
? 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)

AB ; ez egy szóközt tartalmazó szó

SZÓ?
SZÓ? --- függvény 1 bemenő adattal
SZÓ? akármi
Eredmé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 "E
IGAZ ; 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

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

27
UTOLSÓNÉLKÜLI akármi ahol akármi egy tetszőleges nem üres szó, lista vagy kép-
sor
Ha 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ő adattal
UTOLSÓ akármi ahol akármi tetszőleges nem üres szó, lista vagy képsor
Ha 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ÓNAK
UTOLSÓNAK --- függvény 2 bemenő adattal
UTOLSÓNAK betesz
UTOLSÓNAK akármi lista
UTOLSÓNAK képsor1 képsor2
UTOLSÓNAK szó1 szó2
Ha 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
[Z W [X Y] ]
? KI UTOLSÓNAK "GÖMB "LÉG
LÉ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ármi
Eredmé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
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 neve
Megnyitja é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.

ELFED
ELFED --- utasítás 1 bemenő adattal
ELFED memóriaobjektum
ELFED 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 objektumokat
Az ö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
ELFEDMIND --- bemenő adat nélküli utasítás
ELFEDMIND
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 objektumokat
Ahhoz, 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ő adattal
FED! 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
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

FEDETT
FEDETT --- bemenő adat nélküli függvény
FEDETT
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
; 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.

FELFED
FELFED --- utasítás 1 bemenő adattal
FELFED memóriaobjektum
FELFED 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ő adattal
a mező értékei
MEZŐ szó1 szó2
Megkeresi 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 "ANGOLUL
MOTHER

32
? 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ármi
Ez 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 "ANGOLUL
MOTHER

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 :APA
1000000

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ŐK
MEZŐK --- függvény 1 bemenő adattal
mezőlista
MEZŐ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
? 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ők
MEZŐ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 .

REKORDNEVEK
REKORDNEVEK --- bemenő adat nélküli függvény
a rekordok
REKORDNEVEK
Eredmé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
? 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 .

REKORDOK
REKORDOK --- bemenő adat nélküli utasítás
rekordok kiírása
REKORDOK
Kií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]

? REKORDOK
APA ANGOLUL értéke FATHER
APA NÉMETÜL értéke VATER
ANYA ANGOLUL értéke MOTHER
ANYA 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ÖL
TÖRÖL --- utasítás 1 vagy N bemenő adattal
TÖRÖL bemenet1
(TÖRÖL bemenet1 bemenet2 ... )
ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok_lis-
tája
Törli a bemeneteként felsorolt összes memóriaobjektumot.

35
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ő adattal
mező törlése
TÖRÖLMEZŐ szó1 szó2
Tö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ÖLMUNKA
TÖRÖLMUNKA --- bemenő adat nélküli utasítás
mindent töröl

TÖRÖLMUNKA
Tö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
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
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

HAMIS
HAMIS --- 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 "HAMIS
HAMIS
? KI 6 = 2 + 3
HAMIS

IGAZ
IGAZ --- 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 "IGAZ
IGAZ
? KI 6 = 2 + 3
HAMIS

NEM
NEM --- függvény 1 bemenő adattal
NEM logikai
Logikai függvény. Tagadás. Eredménye IGAZ, ha a bemenet HAMIS, illetve HAMIS,
ha a bemenő érték IGAZ.

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

38
VAGY
VAGY --- függvény 2 vagy N bemenő adattal
VAGY 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 "IGAZ


IGAZ
? 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
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 neve
Megnyitja é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ÖKKENT
CSÖKKENT --- utasítás 1 vagy 2 bemenő adattalcsökkent
CSÖ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 :VALAMI
HIBA: A(z) 100 változónak nincs értéke

ELFED

40
ELFED --- utasítás 1 bemenő adattal
ELFED memóriaobjektum
ELFED 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 objektumokat
Az ö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
ELFEDMIND --- bemenő adat nélküli utasítás
ELFEDMIND
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 objektumokat
Ahhoz, 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ő adattal
FED! 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
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

FEDETT
FEDETT --- bemenő adat nélküli függvény
FEDETT
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.

FELFED
FELFED --- utasítás 1 bemenő adattal
FELFED memóriaobjektum
FELFED 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
LOKÁLIS
LOKÁLIS --- utasítás 1 vagy N bemenő adattal
LOKÁLIS szó1
LOKÁ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ók
A 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ÉV
LOKÁLISNÉV --- utasítás 2 vagy N bemenő adattal
LOKÁ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ÓBA
1000 [1 2 3 4 5 6]

NÉV
NÉV --- utasítás 2 bemenő adattal
NÉV szó akármi
a NÉV szó akármi és a NEVEZ akármi szó utasítások megegyeznek
Egy 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 :A
TE É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
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ő adattal
NÉ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ŰK
IGAZ
? KIÍR NÉV? "SZÁMOK
HAMIS

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.

NEVEK
NEVEK --- bemenő adat nélküli függvény
NEVEK
Eredmé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
NEVEZ --- utasítás 2 bemenő adattal
NEVEZ akármi szó a NEVEZ akármi szó és a NÉV szó akármi utasítások azonosak
Egy 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 :A
TE É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ÖVEL
NÖVEL --- utasítás 1 vagy 2 bemenő adattal
növel
NÖ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 azonosak
a (NÖVEL "A 5) és a NÉV "A :A + 5 utasítások megegyeznek

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

TARTALOM
TARTALOM --- függvény 1 bemenő adattal
TARTALOM szó
ahol a szó egy változó neve
Eredmé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
? KI "NÉV
NÉV
? KI TARTALOM "NÉV
OTTÓ
? KI :NÉV
OTTÓ

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ÖL
TÖRÖL --- utasítás 1 vagy N bemenő adattal
TÖRÖL bemenet1
(TÖRÖL bemenet1 bemenet2 ... )
ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok lis-
tája
Tö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ÖLMUNKA
TÖRÖLMUNKA --- bemenő adat nélküli utasítás
mindent töröl
TÖRÖLMUNKA
Tö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
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
Vezérlő és feltételes eljárások

AMÍG
AMÍG --- utasítás 2 bemenő adattal
AMÍG [ kifejezés ] utasításlista
A 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.)

CIKLUS
CIKLUS --- utasítás 3 bemenő adattal
CIKLUS szó [SZ1 SZ2 ] utasításlista
CIKLUS szó [SZ1 SZ2 SZ3 ] utasításlista
ahol az
SZ1, SZ2, SZ3 számok, SZ3 a ciklus lépésköze

48
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]


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

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]


25
18
11

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.

CIKLUSCSAK
CIKLUSCSAK --- utasítás 3 bemenő adattal
CIKLUSCSAK szó akármi utasításlista
Az 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Ű VAN
A(Z) 2. SZÓBAN 6 BETŰ VAN
A(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
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 vagy


szó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 :K
10
? NÉV "K ELÁGAZÁS MARADÉK :K 2 [0 [:K * 2 + 1] 1 [:K * 2]]
? KI :K
21

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

50
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 :SZ


HA :N = 0 [VISSZATÉR]
E :O J :SZ
ELFELEJT OLVASKÓD
LASSÚ.SOKSZÖG :N - 1 :O :SZ
VÉGE

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

ELKAP
ELKAP --- utasítás 2 bemenő adattal
ELKAP szó utasításlista
Balró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]
A
ITT 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 ] ]
A
A
A ; 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
EREDMÉNY; ER --- utasítás 1 bemenő adattal
EREDMÉNY akármi
Meghatá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 :B
EREDMÉNY :A * :A + :B * :B
VÉGE

? KI NÉGYZETÖSSZEG 5 -6
61

EREDMÉNY; ER

FELSŐSZINT
FELSŐSZINT --- különleges jelentéssel bíró szó
ÁTDOB "FELSŐSZINT
Leá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ÁL
GENERÁL --- függvény 3 bemenő adattal
GENERÁL szám eljárásobjektum2 akármi
GENERÁL eljárásobjektum1 eljárásobjektum2 akármi
ahol 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
HA
HA --- utasítás 2 vagy 3 bemenő adattal
függvény 3 bemenő adattal
utasítás: HA logikai lista1
HA logikai lista1 lista2
ahol 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ÁM


HA MA :SZÁM 2 = 0 [KIÍR "PÁROS] [KIÍR "PÁRATLAN]
VÉGE

? PRÓBA.1 22
PÁROS
? PRÓBA.1 23
PÁ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ÁM


ER HA MA :SZÁM 2 = 0 ["PÁROS] ["PÁRATLAN]
VÉGE

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

HAH
HAHAMIS; HAH --- utasítás 1 bemenő adattal
HAHAMIS Logo_utasításlista
Ha 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
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? 6
SAJNOS EZ NEM JÓ
? JÓ.EZ? 3
EZ HELYES BEMENŐ ADAT

HAHAMIS; HAH

HAI
HAIGAZ; HAI --- utasítás 1 bemenő adattal
HAIGAZ Logo_utasításlista
Ha 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ÁLT


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? 2.66
EZ HELYES BEMENŐ ADAT
? JÓ.EZ? 32
SAJNOS EZ NEM JÓ

HAIGAZ; HAI

HASZNÁL
HASZNÁL --- utasítás 2 bemenő adattal
függvény 2 bemenő adattal
HASZNÁL eljárásobjektum lista
aholaz 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
? 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ÁNYADIK
HÁNYADIK --- bemenő adat nélküli függvény
HÁNYADIK
Csak 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]


1
2
3

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.

HIBA
HIBA --- bemenő adat nélküli függvény
különleges jelentéssel bíró szó
függvény: HIBA
speciá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
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ÜZENET
HIBAÜZENET --- utasítás 2 bemenő adattal
HIBAÜZENET lista akármi
Az 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] "759


HIBA: 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

ISM
ISMÉTLÉS; ISM --- utasítás 2 bemenő adattal
ISMÉTLÉS szám Logo_utasításlista
Az 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]


HELLO
HELLO
HELLO

56
? 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ÉPEZ
LEKÉPEZ --- utasítás 1 vagy N bemenő adattal
függvény 1 vagy N bemenő adattal
LEKÉ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]]


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

NYOMOZ
NYOMOZ --- utasítás 1 bemenő adattal
NYOMOZ 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ÜNET
NYOMOZÓSZÜNET --- bemenő adat nélküli utasítás
NYOMOZÓSZÜNET
Az 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
TANULD PRÓBA :I
KIÍRBELSŐ :I
NYOMOZÓSZÜNET
KIÍRBELSŐ :I + 1
PRÓ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ő adattal
SZŰRŐ eljárásobjektum lista
ahol 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]

TESZT
TESZT --- utasítás 1 bemenő adattal
TESZT logikai
Megjegyzi 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 0


HAI [KIÍR [EZ HELYES BEMENŐ ADAT] ]

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

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

VÉGREHAJT
VÉGREHAJT --- utasítás 1 bemenő adattal
függvény 1 bemenő adattal
utasítás: VÉGREHAJT Logo_utasításlista
fü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Ő]


EGY
KETTŐ
? 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 :A
207

VISSZATÉR
VISSZATÉR --- bemenő adat nélküli utasítás
VISSZATÉR
Leá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 :Z
HA ÜRES? :Z [VISSZATÉR]
KIÍR ELSŐ :Z
KIÍR.LISTÁT EN :Z

59
VÉGE

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

VÁRJ
VÁRJ --- utasítás 1 bemenő adattal
VÁRJ szám
ahol 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ÍG
VÁRJAMÍG --- utasítás 1 bemenő adattal
VÁ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
Eljárások definiálása, szerkesztése és feldolgozása

.ALAPSZAVAK
.ALAPSZAVAK --- függvény 1 bemenő adattal
.ALAPSZAVAK szám
ahol a szám 0, 1, 2 vagy 3
Az 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ő adattal
ALAPSZÓ? 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Ó? "ARCTG
IGAZ

TANULD NÉGYZET :OLDAL ; ez a mi saját eljárásunk


ISMÉTLÉS 4 [E :ODLAL J 90]
VÉGE

? KI ALAPSZÓ? "NÉGYZET
HAMIS

Á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 neve
Megnyitja é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
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.

ELFED
ELFED --- utasítás 1 bemenő adattal
ELFED memóriaobjektum
ELFED 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 objektumokat
Az ö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
ELFEDMIND --- bemenő adat nélküli utasítás
ELFEDMIND
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 objektumokat
Ahhoz, 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.

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

62
FEDETT
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áthatóvá teszi a
pillanatnyilag fedett objektumok nevét is.

KIÍRSAJÁTSZAVAK
KIÍRSAJÁTSZAVAK --- bemenő adat nélküli utasítás
saját eljárások címsorának kiírása
KIÍRSAJÁTSZAVAK
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 :N
KIÍR M :X :N
VÉGE

TANULD ÜDVÖZÖL
KIÍR "SZIA
VÉGE

TANULD FURCSASÁG :A :B :C :D :E :F :G
ER (M :A :B :C :D :E :F :G)
VÉGE

? KIÍRSAJÁTSZAVAK
TANULD ÖSSZEFŰZ :X :N
TANULD ÜDVÖZÖL
TANULD FURCSASÁG :A :B :C :D :E :F :G

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

63
tartalom kiírása
KIÍRTARTALOM memóriaobjektum
KIÍRTARTALOM memóriaobjektumok_listája
Az í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ÁTNEVEK
SAJÁTNEVEK --- bemenő adat nélküli függvény
a felhasználó által definiált eljárások SAJÁTNEVEK
Eredmé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ÖL
KIÍR "SZIA
VÉGE
TANULD 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ő adattal
SAJÁTSZÓ szó definíciólista
Egy 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 :X
EREDMÉNY :X + 5
VÉGE ; a bemenő adatot 5-tel növeli

64
? 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ét
3

SAJÁTSZÓ?
SAJÁTSZÓ? --- függvény 1 bemenő adattal
SAJÁ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ÉV
HAMIS
? KI ALAPSZÓ? "DUPLÁZ
HAMIS

TANULD DUPLÁZ :X
EREDMÉNY 2 * :X
VÉGE

? KI SAJÁTSZÓ? "DUPLÁZ
IGAZ

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ÓTARTALOM
SZÓTARTALOM --- függvény 1 bemenő adattal
SZÓ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Ó :X
KIÍR :X
EREDMÉNY 2 * :X
VÉGE

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

65
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Ó


X
KIÍR :X
EREDMÉNY 2 * :X

TANULD
TANULD --- utasítás 1 vagy N bemenő adattal
TANULD 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 szavak
A 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ények
Saját eljárás definiálása

TÖRÖL
TÖRÖL --- utasítás 1 vagy N bemenő adattal
TÖRÖL bemenet1
(TÖRÖL bemenet1 bemenet2 ... )
ahol minden egyes bemenet vagy egy memóriaobjektum, vagy memóriaobjektumok_lis-
tája
Tö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
? (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ÖLMUNKA
TÖRÖLMUNKA --- bemenő adat nélküli utasítás
mindent töröl
TÖRÖLMUNKA
Tö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ÉGE
VÉ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
Teknőcműveletek

ABLAK
ABLAK --- utasítás 1 bemenő adattal vagy bemenő adat nélkül
ABLAK
(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.

ALAK
ALAK --- bemenő adat nélküli függvény
ALAK
Eredmé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? ALAK
IGAZ

? NÉV "ALAKOM ALAK ; a 0 nevű teknőc alakja


? KÉREM 2 [ALAK! :ALAKOM] ; legyen a 2 teknőc alakja

68
; 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ő adattal
ALAK! képsor
ALAK! LGW_fájl
ALAK! [ ]
A továbbiakban az összes pillanatnyilag aktív teknőc alakjaként az adott képsort fogja
használni. Fázisok használata
Ha 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ÍN
ALAKSZÍN --- bemenő adat nélküli függvény
ALAKSZÍN
Eredmé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ő adattal
ALAKSZÍN! szín

69
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.

ALAPHELYZET
ALAPHELYZET --- bemenő adat nélküli utasítás
ALAPHELYZET
Elő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
ÁLLAPOT
Eredmé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ő adattal
ANIMÁCIÓSMÓD! logikai
Azt 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álata
Az 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
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.

B
BALRA; B --- utasítás 1 bemenő adattal
BALRA szög
Az ö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ÁNY
270
? B -90 ; vagyis JOBBRA 90
? BALRA 390 ; vagyis BALRA 30

BALRA; B

BELÜL?
BELÜL? --- függvény 1 vagy 2 bemenő adattal
BELÜ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ÉP
BETOLDKÉP --- utasítás 1 bemenő adattal
BETOLDKÉP képsor
BETOLDKÉP LGW_fájl
Minden 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
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ő adattal
a teknőc által írott szöveg jellemzőinek beállítása
BETŰ! szöveg [szám1 szám2 szám3 ]
BETŰ! szöveg [szám1 szám2 szám3 szám4 szám5 ]
ahol
a 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 1
Azt 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
? 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ŰZD
BETŰZD --- utasítás 1 vagy N bemenő adattal
BETŰ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ÉGYZET
BETŰNÉGYZET --- függvény 1 bemenő adattal
BETŰNÉGYZET! szöveg
Eredmé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
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.

E
ELŐRE; E --- utasítás 1 bemenő adattal
ELŐRE szám
Az ö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ÖG


HA :LÉPÉS < 0.5 [VISSZATÉR]
E :LÉPÉS
B :SZÖG
SOKSZÖG.SPI :LÉPÉS-3 :SZÖG
VÉGE

? SOKSZÖG.SPI 200 174

EGYMÁSUTÁN
EGYMÁSUTÁN --- utasítás 1 bemenő adattal
EGYMÁSUTÁN utasításlista
Az ö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
? 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ÁZIS
FÁZIS --- bemenő adat nélküli függvény
FÁZIS
Eredmé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ÁZIS
4

FÁZIS!
FÁZIS! --- utasítás 1 bemenő adattal
FÁZIS! szám
ahol a szám egy a -32767 és 32767 közé eső egész szám
A 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ÁZISPONT
FÁZISPONT --- bemenő adat nélküli függvény
FÁZISPONT
Eredmé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
ÜRESKÉPSOR utasítást is.

FIGYELJ
FIGYELJ --- utasítás 1 bemenő adattal
FIGYELJ teknőc
FIGYELJ teknőclista
Az ö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 KIFIGYEL
0
? Ú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ő.

H
HÁTRA; H --- utasítás 1 bemenő adattal
HÁTRA szám
Az ö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

HAZA
HAZA --- bemenő adat nélküli utasítás
HAZA
Az ö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
HELY
HELY --- bemenő adat nélküli függvény
HELY
Eredmé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ő adattal
HELY! pont
Az ö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ÁNY
IRÁNY --- bemenő adat nélküli függvény
IRÁNY
Eredmé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
IRÁNY!
IRÁNY! --- utasítás 1 bemenő adattal
IRÁNY! szög
Elfordí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ÖG
IRÁNYSZÖG --- függvény 1 bemenő adattal
IRÁNYSZÖG pont
IRÁNYSZÖG teknőc
Eredmé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ÁNY
90

J
JOBBRA; J --- utasítás 1 bemenő adattal
JOBBRA szög
Az ö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ÁNY
90
? J -90 ; vagyis BALRA 90
? J 380 ; vagyis JOBBRA 20

JOBBRA; J

78
KÉREM
KÉREM --- utasítás 2 bemenő adattal
függvény 2 bemenő adattal
utasítás: KÉREM teknőc utasításlista
KÉREM teknőclista utasításlista
fü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 KIFIGYEL
0
? 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 KIFIGYEL
0
? (KI "Teki "a KÉREM "TEKI [HELY] "pontban "áll)
Teki a [10 10] pontban áll

KIFIGYEL
KIFIGYEL --- bemenő adat nélküli függvény
KIFIGYEL
Ha 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
? KI KIFIGYEL
0
? KI MIND
[0]

KIHASÍTKÉP
KIHASÍTKÉP --- függvény 1 bemenő adattal
KIHASÍ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áig
szám2 távolság a terület felső határáig
szám3 távolság a terület jobb határáig
szá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
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ő adattal
KÍ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ÖSEN
KÖRKÖRÖSEN --- utasítás 1 bemenő adattal vagy bemenő adat nélkül
KÖ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ás
LÁTHATÓ

81
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ény
LÁ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ÁTHATATLAN
LÁTHATATLAN --- bemenő adat nélküli utasítás
LÁTHATATLAN
Az 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
? 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.

LENYOMAT
LENYOMAT --- bemenő adat nélküli utasítás
LENYOMAT
Az ö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

MIND
MIND --- bemenő adat nélküli függvény
MIND
A 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 KIFIGYEL
0

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.

PONT
PONT --- bemenő adat nélküli utasítás
PONT

83
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ÍN
PONTSZÍN --- bemenő adat nélküli függvény
PONTSZÍN
Eredmé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ÖG
SOKSZÖG --- utasítás 1 bemenő adattal
SOKSZÖG sokszöglista
Az ö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
? Ú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ÖGVONAL
SOKSZÖGVONAL --- utasítás 1 bemenő adattal
SOKSZÖGVONAL sokszöglista
Az ö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
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ÖVEGDOBOZ
SZÖVEGDOBOZ --- függvény 1 bemenő adattal
SZÖVEGDOBOZ [ ]
SZÖVEGDOBOZ szó
ahola szó a következők egyike: SIZE, TITLE, BG, FRAME, FROM, PP, OFFSET,
MARGIN, EDIT, ASIZE és MOUSE
Ha 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 0
MARGIN 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ő adattal
SZÖVEGDOBOZ! lista
ahola 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 EDIT
A 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
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 :Z
1

87
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
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ő adattal
SZÖVEGDOBOZMÓD! logikai
IGAZ 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

TAKART
TAKART --- függvény 1 bemenő adattal vagy bemenő adat nélkül
TAKART
(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
TAKAR? --- függvény 1 bemenő adattal
TAKAR? teknőc
TAKAR? teknőcök_listája
Eredmé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? 0
HAMIS ; egy teknőc sem takarja önmagát

TEKNŐCOLVASLISTA; TOL
TEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvény
TEKNŐCOLVASLISTA
Egy 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ÜLET
TERÜLET --- bemenő adat nélküli függvény
TERÜLET
Eredmé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.

TF
TOLLATFEL; TF --- bemenő adat nélküli utasítás
TOLLATFEL
Az 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
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ÖG


ISMÉ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.

TL
TOLLATLE; TL --- bemenő adat nélküli utasítás
TOLLATLE
Az ö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 TOLL
TL
? Ú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
TLM
TÖLTŐMINTA; TM --- bemenő adat nélküli függvény
TÖLTŐMINTA
Eredmé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ő adattal
TÖLTŐMINTA! töltőminta
Az 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 TLM
0
? TLM! 4
? KI TLM
4
Az 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.

TLSZ
TÖLTŐSZÍN; TLSZ --- bemenő adat nélküli függvény
TÖLTŐSZÍN
Eredmé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ÍN
0
? TOLLSZÍN! 7
? KI TOLLSZÍN
7
? KI TÖLTŐSZÍN
7
? TÖLTŐSZÍN! 11
? KI TOLLSZÍN
7
? KI TÖLTŐSZÍN

92
11

TLSZ!
TÖLTŐSZÍN!; TLSZ! --- utasítás 1 bemenő adattal
TÖLTŐSZÍN! szín
Meghatá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)
00
? TLSZ! 7
? KI TLSZ
7
? 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.

TM
TOLLMINTA; TM --- bemenő adat nélküli függvény
TOLLMINTA
Eredmé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ő adattal
TOLLMINTA! tollminta
Az 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
3

TOL
TEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvény
TEKNŐCOLVASLISTA
Egy 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.)

TOLL
TOLL --- bemenő adat nélküli függvény
TOLL
Eredmé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 KIFIGYEL
0

? TVT ; azaz TOLLVÁLTÓ


; a 0 nevű teknőc tollának állapota megváltozott
? KI TOLL
TVT
? Ú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ő adattal
TOLL! szó
ahol a szó a következők egyike: TF, TL, TRD vagy TVT
Az ö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
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 TRD


A 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ÁLLAPOT
TOLLÁLLAPOT --- bemenő adat nélküli függvény
TOLLÁLLAPOT
Eredmé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 TOLL
TF
? KIÍR TSZ
10
? KIÍR TV
6
? KIÍR TM
1

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

95
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 TOLL
TF
? KIÍR TSZ
10
? KIÍR TV
6
? KIÍR TM
1

TOLLMINTA; TM

TOLLMINTA!; TM!

TOLLRADÍR; TRD
TOLLRADÍR; TRD --- bemenő adat nélküli utasítás
TOLLRADÍR
Az ö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 TOLL
TOLLRADÍ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; TSZ
TOLLSZÍN; TSZ --- bemenő adat nélküli függvény

96
TOLLSZÍN
Eredmé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 TSZ
0
? ÚJTEKNŐC 1 [-10 0 0]
? FIGYELJ [0 1]
? TSZ! 7
? EGYMÁSUTÁN [KIÍR TSZ]
7
7

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ő adattal
TOLLSZÍN! szín
A 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; TV
TOLLVASTAGSÁG!; TV! --- utasítás 1 bemenő adattal
TOLLVASTAGSÁG! tollvastagság
A 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 TV
1
? ISMÉTLÉS 5 [E 30 TV! TV * 3]

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

97
TOLLVASTAGSÁG! tollvastagság
A 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 TV
1
? ISMÉTLÉS 5 [E 30 TV! TV * 3]

TOLLVÁLTÓ; TVT
TOLLVÁLTÓ; TVT --- bemenő adat nélküli utasítás
TOLLVÁ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ÖLT
TÖLT --- bemenő adat nélküli utasítás
TÖLT
Az ö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
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ő adattal
TÖLTŐMÓD bemenet
ahol a bemenet vagy 0, vagy 1
Az 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ÖLMUNKA
TÖRÖLMUNKA --- bemenő adat nélküli utasítás
mindent töröl
TÖRÖLMUNKA
Tö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
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ÖLRAJZ
TÖRÖLRAJZ --- bemenő adat nélküli utasítás
TÖRÖLRAJZ
Tö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
TÖRÖLRAJZLAP; TR --- bemenő adat nélküli utasítás
TÖRÖLRAJZLAP
Tö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ŐC
TÖRÖLTEKNŐC --- utasítás 1 bemenő adattal
TÖRÖLTEKNŐC teknőc
TÖRÖLTEKNŐC teknőcök_listája
Tö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
TRD

TSZ

TSZ!

TV

TV!

TVT

ÚJRASOROL
ÚJRASOROL --- utasítás 1 bemenő adattal
ÚJRASOROL teknőcök_listája
A 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
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 ... ] vagy


FIGYELJ [ ] 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.

X
XHELY X --- bemenő adat nélküli függvény
XHELY
Eredmé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
? Ú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ő adattal
XHELY! szám
Ví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ÁTRA
a 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ő adattal
XYHELY! szám1 szám2
Elmozdí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
? 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!

Y
YHELY Y --- bemenő adat nélküli függvény
YHELY
Eredmé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]
-50
Jegyezzük meg, hogy az YHELY egyenértékű az UTOLSÓ HELY függvénnyel.

Y!
YHELY! --- utasítás 1 bemenő adattal
YHELY! szám
Fü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
Képsorok feldolgozása

ALAK
ALAK --- bemenő adat nélküli függvény
ALAK
Eredmé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? ALAK
IGAZ

? 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ő adattal
ALAK! képsor
ALAK! LGW_fájl
ALAK! [ ]
A továbbiakban az összes pillanatnyilag aktív teknőc alakjaként az adott képsort fogja
használni.
Fázisok használata
Ha 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
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ÍN
ALAKSZÍN --- bemenő adat nélküli függvény
ALAKSZÍN
Eredmé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ő adattal
ALAKSZÍN! szín
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.

ANIMÁCIÓSMÓD!
ANIMÁCIÓSMÓD! --- utasítás 1 bemenő adattal
ANIMÁCIÓSMÓD! logikai
Azt 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álata
Az 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
Ú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ÉP
BETOLDKÉP --- utasítás 1 bemenő adattal
BETOLDKÉP képsor
BETOLDKÉP LGW_fájl
Minden 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ÉPSOR
BETÖLTKÉPSOR --- függvény 2 bemenő adattal
BETÖLTKÉPSOR LGW_fájl [ ]
BETÖLTKÉPSOR LGW_fájl intervallum
Eredmé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
? 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ÖLTRAJZ
BETÖLTRAJZ --- függvény 1 bemenő adattal
BETÖLTRAJZ BMP_fájl
Eredmé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? :VALAMI
IGAZ
? 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! bemenet
ahol a bemenet 0, 1 vagy 2
Meghatá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
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ÁZIS
FÁZIS --- bemenő adat nélküli függvény
FÁZIS
Eredmé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ÁZIS
4

FÁZIS!
FÁZIS! --- utasítás 1 bemenő adattal
FÁZIS! szám
ahol a szám egy a -32767 és 32767 közé eső egész szám
A 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ÁZISPONT
FÁZISPONT --- bemenő adat nélküli függvény
FÁZISPONT
Eredmé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
KÉPSOR
KÉPSOR --- függvény 2 vagy N bemenő adattal
KÉ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ÉPSOR
IGAZ

KÉPSOR?
KÉPSOR? --- függvény 1 bemenő adattal
KÉPSOR? akármi
Eredmé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? :VALAMI
IGAZ
? KI SZÓ? :VALAMI
HAMIS

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ÉRET
KÉPSORMÉRET --- függvény 1 bemenő adattal
KÉPSORMÉRET képsor
Eredmé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
? KIÍR KÉPSORMÉRET EN :ARCKÉP
[40 57]

KIHASÍTKÉP
KIHASÍTKÉP --- függvény 1 bemenő adattal
KIHASÍ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áig
szám2 távolság a terület felső határáig
szám3 távolság a terület jobb határáig
szá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
MENTKÉPSOR
MENTKÉPSOR --- utasítás 2 vagy N bemenő adattal
MENTKÉ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

MENTRAJZ
MENTRAJZ --- utasítás 2 bemenő adattal
MENTRAJZ BMP_fájl képsor
Az 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

TOLLPONT
TOLLPONT --- függvény 1 bemenő adattal
TOLLPONT képsor

112
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ő adattal
TOLLPONT! képsor tollpont
TOLLPONT! 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
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ÉPSOR
Eredmé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
? NÉV "X ÜRESKÉPSOR
? KI KÉPSORMÉRET :X
[0 0]
? KI ELEMSZÁM :X
0
? 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 ALAK
IGAZ

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:
=
CSERE
ELEMSZÁM; ESZ
EGYENLŐ?
ELEM
ELSŐ
ELSŐNEK
ELSŐNÉLKÜLI; EN
EN
ESZ
FORDÍT
KIVÁLASZT

LISTA
LISTA?
M
MONDAT; M
ÖSSZEKEVER
UN
UTOLSÓ
UTOLSÓNAK
UTOLSÓNÉLKÜLI; UN
ÜRES?

115
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.

ALAPHELYZET
ALAPHELYZET --- bemenő adat nélküli utasítás
ALAPHELYZET
Elő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Ó

ALAPPALETTA
ALAPPALETTA --- bemenő adat nélküli utasítás
ALAPPALETTA
Ha 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ÖLTRAJZLAP
BETÖLTRAJZLAP --- utasítás 1 bemenő adattal
BETÖLTRAJZLAP BMP_fájl
Betö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
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él
Má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ő adattal
EGÉRALAK! képsor
EGÉRALAK! LGW_fájl
EGÉRALAK! szám
EGÉRALAK! [ ]
ahol a szám egy a 0 és 15 közé eső egész szám
Hatá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ő adattal
egé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
ÍA
ÍRÓABLAK; ÍA --- bemenő adat nélküli utasítás
ÍRÓABLAK
A 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, vagy
a Fő-ablak Eszközsorának Íróablak piktogramja.

ÍRÓABLAK; ÍA

ÍRÓLAP
ÍRÓLAPABLAK --- bemenő adat nélküli függvény
az írólap jellemzői
ÍRÓLAP
Eredmé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ő adattal
az íróablak méretének beállításaÍRÓLAP! szám
ahol a szám egy 2 és 25 közé eső egész szám
Az í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
ÍRÓSZÍN!
ÍRÓSZÍN! --- utasítás 1 bemenő adattal
az írólap színeinek beállítása
ÍRÓSZÍN! szám
ahol a szám egy a 0 és 255 közé eső egész szám
Az í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.)

KURZORHELY
KURZORHELY --- bemenő adat nélküli függvény
KURZORHELY
Eredmé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ő adattal
KURZORHELY! [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ám
Kiteszi 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
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.

LOGOABLAK
LOGOABLAK --- bemenő adat nélküli függvény
LOGOABLAK
Eredmé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ő adattal
LOGOABLAK! [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ámok
A 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.

MENTRAJZLAP
MENTRAJZLAP --- utasítás 1 vagy 2 bemenő adattal
MENTRAJZLAP BMP_fájl
(MENTRAJZLAP BMP_fájl pont )
(MENTRAJZLAP BMP_fájl téglalapnyi_terület )

120
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ésekor
Más lehetőség:
a Fő-ablak Fájl menüjének Rajzlapmentés... utasítása

MI
MUTATIKONSOR; MI --- bemenő adat nélküli utasítás
MUTATIKONSOR
Megjelení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ÓLAP
NYOMTATÍRÓLAP --- utasítás 1 bemenő adattal
NYOMTATÍ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.

NYOMTATRAJZLAP
NYOMTATRAJZLAP --- utasítás 1 vagy 2 bemenő adattal
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.

121
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.

OA
OSZTOTTABLAK; OA --- bemenő adat nélküli utasítás
OSZTOTTABLAK
Beá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, vagy
a Fő-ablak Eszközsorának Osztottablak piktogramja.

OLPARANCSJEL!
OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattal
OLVASLISTAPARANCSJEL! listaolvasás_parancsjele
Az 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]

OLVASLISTAPARANCSJEL!;
OLVASLISTAPARANCSJEL!; OLPARANCSJEL! --- utasítás 1 bemenő adattal
OLVASLISTAPARANCSJEL! listaolvasás_parancsjele
Az 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ÍN
PONTSZÍN --- bemenő adat nélküli függvény

122
PONTSZÍN
Eredmé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

OSZTOTTABLAK; OA

PARANCSJEL!
PARANCSJEL! --- utasítás 1 bemenő adattal
PARANCSJEL! 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 "SZIA
SZIA
Amit gépelsz: KIÍR 5
5
Amit 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.

RA
RAJZABLAK; RA --- bemenő adat nélküli utasítás
RAJZABLAK
A 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, vagy
az F5 funkcióbillentyű, ha a Fő-ablak aktív, vagy
a Fő-ablak Ikonsorának Rajzablak piktogramja.

RAJZABLAK; RA

123
RAJZLAP
RAJZLAP --- bemenő adat nélküli függvény
a rajzlap jellemzői
RAJZLAP
Eredmé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
elhelyezve
egész4 1, ha görgetősávok láthatók a rajzablak jobb és alsó szélein
0, ha nincsenek görgetősávok
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.

RAJZLAP!
RAJZLAPABLAK! --- utasítás 1 bemenő adattal
a rajzlap jellemzőinek beállítása
RAJZLAPABLAK! [szám1 szám2 ]
ahol a szám1, és a szám2 8 és 2048 közé eső egész számok
A 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; RSZ
RAJZLAPSZÍN; RSZ --- bemenő adat nélküli függvény
RAJZLAPSZÍN
Eredmé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ő adattal
RAJZLAPSZÍN! szín
A 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
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; RI
REJTIKONSOR; RI --- bemenő adat nélküli utasítás
REJTIKONSOR
Eltü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ÖRÖLÍRÓLAP; TÍ --- bemenő adat nélküli utasítás
TÖRÖLÍRÓLAP
Tö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ÖLRAJZ
TÖRÖLRAJZ --- bemenő adat nélküli utasítás
TÖRÖLRAJZ
Tö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
TR

126
Gombok és paraméterbeállítók

BEÁLLÍTÓ
BEÁLLÍTÓ --- függvény 1 bemenő adattal
BEÁLLÍTÓ Logo-eljárás
Ez 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ÖLTFELADAT
BETÖLTFELADAT --- utasítás 1 vagy 2 bemenő adattal
BETÖLTFELADAT TXT_fájl
Megnyitja 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
BEZÁRFELADAT
BEZÁRFELADAT --- utasítás 1 bemenő adattal
BEZÁRFELADAT TXT_fájl
A 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ÉV
GOMBNÉV --- függvény 1 bemenő adattal vagy bemenő adat nélkül
GOMBNÉ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ő adattal
GOMBNÉ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ám
A 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
? 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.

GOMBSOR
GOMBSOR --- bemenő adat nélküli függvény
GOMBSOR
Eredmé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ő adattal
GOMBSOR! [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ámok
A 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
? 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] ]

MG
MUTATGOMBSOR; MG --- bemenő adat nélküli utasítás
MUTATGOMBSOR
Megjelení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

MI
MUTATIKONSOR; MI --- bemenő adat nélküli utasítás
MUTATIKONSOR
Megjelení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; RG
REJTGOMBSOR; RG --- bemenő adat nélküli utasítás
REJTGOMBSOR
Eltü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
az F10 funkcióbillentyű lenyomása.

REJTIKONSOR; RI
REJTIKONSOR; RI --- bemenő adat nélküli utasítás
REJTIKONSOR
Eltü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
Kommunikáció a Külvilággal"

JEL
JEL --- függvény 1 bemenő adattal
JEL szám
ahol a szám egy a 0 és 255 közé eső egész szám
Eredmé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 122


z
? KI JEL 32 + KÓD "E
e

GNY?
GOMBNYOMÁS?; GNY? --- bemenő adat nélküli függvény
GOMBNYOMÁ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ÁS
HA GOMBNYOMÁS? [ÍRJ VISSZATÉR]
VÁRAKOZÁS ; ilyesmi ciklust használ a READCHAR is
VÉGE

TANULD ÍRJ
KIÍRBELSŐ [A LENYOMOTT BILLENTYŰ:\ ]
KIÍR OLVASJEL
VÉGE

? VÁRAKOZÁS ; addig vár, míg lenyomunk egy billentyűt


A LENYOMOTT BILLENTYŰ: R
?

GOMBNYOMÁS?; GNY?

KI
KIÍRJEL; KI --- utasítás 1 vagy N bemenő adattal
KIÍ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
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ÉP
SZÉ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ÍR
KIÍR --- utasítás 1 vagy N bemenő adattal
KIÍ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ÉP
SZÉ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
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Ő "SZIA
SZIA? ; 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ÖZ
KIÍRÓESZKÖZ --- utasítás 1 bemenő adattal
KIÍRÓESZKÖZ fájl
KIÍ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ÁTSZAVAK
KIÍRSAJÁTSZAVAK --- bemenő adat nélküli utasítás
saját eljárások címsorának kiírása
KIÍRSAJÁTSZAVAK

134
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 :N
KIÍR M :X :N
VÉGE

TANULD ÜDVÖZÖL
KIÍR "SZIA
VÉGE

TANULD FURCSASÁG :A :B :C :D :E :F :G
ER (M :A :B :C :D :E :F :G)
VÉGE

? KIÍRSAJÁTSZAVAK
TANULD ÖSSZEFŰZ :X :N
TANULD ÜDVÖZÖL
TANULD FURCSASÁG :A :B :C :D :E :F :G

KIÍRSOR; KS
KIÍRSOR; KS --- utasítás 1 vagy N bemenő adattal
KIÍ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 "HOOOO
HOOOO
? KS [KEDVES KIS LOGO]
KEDVES
KIS
LOGO
? KS [ [ELSŐ ALLISTA] [MÁSODIK ALLISTA] ]
ELSŐ ALLISTA
MÁ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; KT
KIÍRTARTALOM; KT --- utasítás 1 bemenő adattal
tartalom kiírása
KIÍRTARTALOM memóriaobjektum
KIÍRTARTALOM memóriaobjektumok_listája
Az írólapra írja a bemeneteként adott objektumok definícióját, illetve definícióit.

135
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ÓRIA
NYOMTATMEMÓRIA --- utasítás 1 vagy N bemenő adattal
NYOMTATMEMÓRIA nyomtatójelző
(NYOMTATMEMÓRIA nyomtatójelző bemenet1 bemenet2 ... )
ahol minden egyes bemenet vagy memóriaobjektum vagy memóriaobjektumok_listája
Kinyomtatja 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ÓLAP
NYOMTATÍRÓLAP --- utasítás 1 bemenő adattal
NYOMTATÍ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.

NYOMTATRAJZLAP
NYOMTATRAJZLAP --- utasítás 1 vagy 2 bemenő adattal

136
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.

OJ
OLVASJEL; OJ --- bemenő adat nélküli függvény
OLVASJEL
Eredmé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űt
A ; 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-et


83
Fájlba írás és fájlból olvasás

OK
OLVASKÓD OK --- bemenő adat nélküli függvény
OLVASKÓD
Eredmé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
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-et


Ez 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.

OL
OLVASLISTA; OL --- bemenő adat nélküli függvény
OLVASLISTA
A 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
? 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ő adattal
OLVASLISTAPARANCSJEL! listaolvasás_parancsjele
Az 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ÖZ
OLVASÓESZKÖZ --- utasítás 1 bemenő adattal
OLVASÓESZKÖZ fájl
OLVASÓ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 "FAJL55
HIBA: Gondjaim vannak a(z) FILE55-val.

139
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ő adattal
OLVASLISTAPARANCSJEL! listaolvasás_parancsjele
Az 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Ó; OSZ
OLVASSZÓ; OSZ --- bemenő adat nélküli függvény
OLVASSZÓ
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 :NEVED
RÉ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ül
OLVASÜZENŐ
(OLVASÜZENŐ szöveg1 )

140
(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ő adattal
PARANCSJEL! szó
ahol a szó legfeljebb 16 karakterből állhat
Az í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 "SZIA
SZIA
Amit gépelsz: KIÍR 5
5
Amit 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; TOL
TEKNŐCOLVASLISTA; TOL --- bemenő adat nélküli függvény
TEKNŐCOLVASLISTA
Egy 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
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ő adattal
a tizedestörtek pontosságának beállítása
TIZEDESJEGY! szám
ahol a szám egy 0 és 18 közé eső egész szám
A 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 1
2.72
? TIZEDESJEGY! 10
? KI HATVÁNY 1
2.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ÓLAP
VÁGÓLAP --- különleges jelentéssel bíró szó
Logo-eljárás "VÁGÓLAP
ahol 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
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
Fájlkezelő eljárások

CSATOL
CSATOL --- utasítás 1 vagy N bemenő adattal
CSATOL 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ájl
Kinyitja 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
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ÖLT
BETÖLT --- utasítás 1 bemenő adattal
BETÖLT LGO_fájl
Betö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ÉPSOR
BETÖLTKÉPSOR --- függvény 2 bemenő adattal
BETÖLTKÉPSOR LGW_fájl [ ]
BETÖLTKÉPSOR LGW_fájl intervallum
Eredmé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
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ÖTET
BETÖLTKÖTET --- utasítás 1 bemenő adattal
BETÖLTKÖTET projekt-kötet
Az 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ŐÚT
BETÖLTŐÚT --- függvény 1 bemenő adattal vagy bemenő adat nélkül
BETÖ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
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ÖLTRAJZ
BETÖLTRAJZ --- függvény 1 bemenő adattal
BETÖLTRAJZ BMP_fájl
Eredmé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? :VALAMI
IGAZ
? 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ÖLTRAJZLAP
BETÖLTRAJZLAP --- utasítás 1 bemenő adattal
BETÖLTRAJZLAP BMP_fájl
Betö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
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él
Má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ő adattal
FÁ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ény
vé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ÖZ
KIÍRÓESZKÖZ --- utasítás 1 bemenő adattal
KIÍRÓESZKÖZ fájl
KIÍ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
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

MENT
MENT --- utasítás 1 vagy N bemenő adattal
MENT LGO_fájl
(MENT LGO_fájl bemenet1 ... )
ahol a bemenet1, ... vagy memóriaobjektum, vagy memóriaobjektumok_listája
Az ö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
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ÉPSOR
MENTKÉPSOR --- utasítás 2 vagy N bemenő adattal
MENTKÉ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

MENTKÖTET
MENTKÖTET --- utasítás 1 vagy N bemenő adattal
MENTKÖTET projektkötet
(MENTKÖTET projektkötet bemenet1 ... )
ahol a bemenet1 ... memóriaobjektum vagy memóriaobjektumok_listája
Ha 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
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

MENTRAJZ
MENTRAJZ --- utasítás 2 bemenő adattal
MENTRAJZ BMP_fájl képsor
Az 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

MENTRAJZLAP
MENTRAJZLAP --- utasítás 1 vagy 2 bemenő adattal
MENTRAJZLAP 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
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ésekor
Más lehetőség:
a Fő-ablak Fájl menüjének Rajzlapmentés... utasítása

OLVASÓESZKÖZ
OLVASÓESZKÖZ --- utasítás 1 bemenő adattal
OLVASÓESZKÖZ fájl
OLVASÓ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 "FAJL55
HIBA: 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

TART
TARTALOMJEGYZÉ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
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 "*.LGP
UTCA.LGP 1560
MALACKA.LGP 780
TENGER.LGP 5

TARTALOMJEGYZÉK; TART

TÖRÖLFÁJL
TÖRÖLFÁJL --- utasítás 1 bemenő adattal
TÖRÖLFÁJL fájl
Tö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ÉK
UTCA.LGP 134276
MALACKA.LGP 70723
VALAMI.LGP 2025
? TÖRÖLFÁJL "VALAMI.LGP
? KS TARTALOMJEGYZÉK
UTCA.LGP 134276
MALACKA.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
"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ÓLAP
VÁGÓLAP --- különleges jelentéssel bíró szó
Logo-eljárás "VÁGÓLAP
ahol 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
Kommunikáció az egér segítségével

EGÉRALAK!
EGÉRALAK! --- utasítás 1 bemenő adattal
EGÉRALAK! képsor
EGÉRALAK! LGW_fájl
EGÉRALAK! szám
EGÉRALAK! [ ]
ahol a szám egy a 0 és 15 közé eső egész szám
Hatá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
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ÁLLAPOT
EGÉRÁLLAPOT --- bemenő adat nélküli függvény
EGÉRÁLLAPOT
Eredmé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
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ÉRHELY
EGÉRHELY --- bemenő adat nélküli függvény
EGÉRHELY
Az 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ő adattal
egé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.

É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
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ény
GOMBNYOMÁ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ÁS
HA GOMBNYOMÁS? [ÍRJ VISSZATÉR]
VÁRAKOZÁS ; ilyesmi ciklust használ a READCHAR is
VÉGE

TANULD ÍRJ
KIÍRBELSŐ [A LENYOMOTT BILLENTYŰ:\ ]
KIÍR OLVASJEL
VÉGE

? VÁRAKOZÁS ; addig vár, míg lenyomunk egy billentyűt


A LENYOMOTT BILLENTYŰ: R
?

GNY?

OK
OLVASKÓD OK --- bemenő adat nélküli függvény
OLVASKÓD
Eredmé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
[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-et


Ez 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ÁKATTINTOTT
RÁKATTINTOTT --- bemenő adat nélküli függvény
melyik teknőcöt „érintettük meg az egérrel
RÁKATTINTOTT
Amikor 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
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
Zenei alapszavak és multimédia

BEZÁRVIDEÓ
BEZÁRVIDEO --- utasítás 1 bemenő adattal
BEZÁ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.

HANG
HANG --- utasítás 1 vagy N bemenő adattal
HANG 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.

HANGH
HANGHULLÁM; HANGH --- utasítás 1 vagy N bemenő adattal
HANGHULLÁ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
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

HANGSOR
HANGSOR --- utasítás 1 vagy N bemenő adattal
HANGSOR 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.

MCI
MCI --- utasítás (vagy függvény) 1 bemenő adattal
Media Control Interface
MCI 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
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ő adattal
NYITVIDEO szó1 szó2 lista3
NYITVIDEO lista1 szó2 lista3
ahol a szó2 nem üres
Ezt 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
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
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
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
Egyéb

DÁTUM
DÁTUM --- bemenő adat nélküli függvény
DÁTUM
A 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árnap
1 hétfő
2 kedd
3 szerda
4 csütörtök
5 péntek
6 szombat

DÁTUMSZÓ
DÁTUMSZÓ --- bemenő adat nélküli függvény
DÁ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

FUTTAT
FUTTAT --- függvény 1 vagy 2 bemenő adattal
FUTTAT 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
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épet


NÉV "no FUTTAT "utasítás.com ; elindítja az MS-DOS-t
NÉ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ény
IDŐ
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ény
IDŐ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
14:23:54 ; a Windows aktuális beállításaitól függ

LOGO
LOGO --- függvény 1 bemenő adattal
LOGO szó
ahol szó a következők egyike: ERROR, VERSION, HELP, AUTOPATH, RIGHTC-
LICKS, STEPPING, DECIMAL, PRINT, SAVE, BEEP
és SOUND
Eredmé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ő adattal
LOGO! [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 SOUND
Az 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
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.3
1.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,3
HIBA: 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
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át
vá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ÉRET
RENDSZERMÉRET --- függvény 1 bemenő adattal
RENDSZERMÉRET szám
RENDSZERMÉ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
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

SZIA
SZIA --- utasítás 1 bemenő adattal vagy bemenő adat nélkül
SZIA
(SZIA logikai )

172
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
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

betűkészlet

C, CS
D, DZ, DZS

definíciós lista
demo projekt

E, É

eljárás
eljárásnév
eljárásobjektum

fájlkiterjesztés
fájlnév
feladat
feltételes eljárás

G, GY

174
globális változó
gombsordefiníció
gombsordefiníciók listája

hibaüzenet
hosszú sor

I, Í

igazságérték
ikonváltozó
irány
írólap
írólap parancsjele
INDÍTÓ eljárás

J
K

karakter
kis- és nagybetű
kifejezés
kiterjesztés
képfájlnév
képsor
képsorfázisok
képsorelem tollpontja
könyvtár

L, LY

LGO fájl
LGP fájl
LGW fájl
lista
listaolvasás parancsjele
Logo alkönyvtár
Logo eljárás
Logo eljárás bemenő adata
Logo utasítás
logikai érték
lokális változó

memóriaobjektum
memóriaobjektumok listája
mondat

175
függvény
mező
munkakönyvtár

N, NY

nyomtatójelző

O, Ó, Ö, Ő

objektum
objektumrész

parancsjel
pont
pontok listája
potméter szövegdoboz
pozíció
predikátum
projekt háttere
projekt
projektkötet

Q
R

rajzlap
rajzlap origója
rekord
rekordmezők listája
rövidítés

S, SZ

saját eljárás
saját objektum
SLOGO.INI fájl
sokszöglista
szavak listája
szám
szín
szó
szóhossz
szög
szöveg
szövegdobozteknőc

szűrő

T, TY

176
teknőc azonosítója
teknőc neve
teknőcök listája
teljes hibaüzenet
téglalapnyi terület
tollminta
tollvastagság
töltőminta
TXT fájlnév

U, Ú, Ü, Ű

utasítás
utasításlista
utasítássor
útvonal

Vágólap
változó (globális)

változó (lokális)

változó neve

változónév

vonalvastagság

WAV fájl
Windows 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
.GYÜJTMEM
.PONTHELY
*
+
-
/
<
<=
<>
=
>

>=

-AÁ-

ABLAK WINDOW
ABSZ ABS
ALAK GETSHAPE
ALAK! SETSHAPE
ALAKSZÍN SHAPECOLOR
ALAKSZÍN! SETSHAPECOLOR
ALAPHELYZET DRAW
ALAPPALETTA RESETPALETTE; RESETPAL
ALAPSZÓ? PRIMITIVE?

AMÍG WHILE
ANIMÁCIÓSMÓD! SETPHASEMODE
ARCTG ARCTAN
ÁLLAPOT TURTLESTATE
ÁTDOB THROW
ÁTÍR EDIT; ED
ÁTÍRFÁJL EDITFILE; EDFILE
ÁTLÁTSZÓMÓD! SETIMODE

-B-

B LEFT; LT
BALRA; B LEFT; LT
BEÁLLÍTÓ CHOOSER
BELÜL? INSIDE?
BETOLDKÉP PUTIMAGE
BETÖLT LOAD
BETÖLTFELADAT LOADPROBLEM
BETÖLTKÉPSOR LOADIMAGE
BETÖLTKÖTET LOADLIBRARY; LOADLIB
BETÖLTŐÚT LOADPATH
BETÖLTRAJZ LOADBITMAP
BETÖLTRAJZLAP LOADSCREEN
BETŰ! SETTTEXT; SETTT
BETŰNÉGYZET TEXTSIZE
BETŰZD TTEXT; TT

178
BEZÁRFELADAT CLOSEPROBLEM
BEZÁRVIDEO CLOSEVIDEO

- C CS-

CIKLUS FOR
CIKLUSCSAK FOREACH
CSATOL APPEND
CSERE REPLACE
CSÖKKENT DEC

- D DZ DZS-

DÁTUM DATE
DÁTUMSZÓ DATEWORD; DATEW

- E É-

E FORWARD; FD
EGÉRALAK! SETMOUSECURSOR
EGÉRÁLLAPOT MOUSESTATE
EGÉRHELY MOUSE
EGÉRHELY! .SETMOUSEPOS
EGÉSZHÁNYADOS; EH DIV
EGÉSZRÉSZ INT
EGYENLŐ? EQUAL?
EGYMÁSUTÁN EACH
EH DIV
ELÁGAZÁS CASE
ELEM ITEM
ELEME MEMBER
ELEME? MEMBER?
ELEMNÉLKÜLI BUTMEMBER
ELEMSZÁM; ESZ COUNT
ELEMTŐL FROMMEMBER
ELFED BURY
ELFEDMIND BURYALL
ELFELEJT IGNORE

ELKAP CATCH
ELŐRE; E FORWARD; FD
ELSŐ FIRST
ELSŐNEK FPUT
ELSŐNÉLKÜLI; EN BUTFIRST; BF
EN BUTFIRST; BF
ER OUTPUT; OP
EREDMÉNY; ER OUTPUT; OP

ESZ COUNT
ÉRZÉKENYTERÜLET CODEAREA
ÉS AND

179
-F-

FÁJL? FILE?
FÁJLVÉGE? EOF?
FÁZIS PHASE
FÁZIS! SETPHASE
FÁZISPONT SHAPEPOS
FED! SETBURY
FEDETT BURIED
FELFED UNBURY
FELSŐSZINT TOPLEVEL

FIGYELJ TELL
FORDÍT REVERSE
FUTTAT RUNPROGRAM; RUNPROG

- G GY-

GENERÁL GENERATE
GOMBNÉV BUTTONS
GOMBNÉV! SETBUTTONS
GOMBNYOMÁS?; GY? KEY?
GOMBSOR BUTTONSSIZE
GOMBSOR! SETBUTTONSSIZE
GY? KEY?
GYÖK SQRT

-H-

H BACK; BK
HA IF
HAH IFFALSE; IFF
HAHAMIS; HAH IFFALSE; IFF
HAI IFTRUE; IFT
HAIGAZ; HAI IFTRUE; IFT
HAMIS FALSE
HANG SOUND

HANGH PLAYWAVE; PLAYW


HANGHULLÁM; HANGH PLAYWAVE; PLAYW
HANGSOR PLAY
HASZNÁL APPLY
HATVÁNY EXP
HAZA HOME
HÁNYADIK REPCOUNT; REPC
HÁNYADOS QUOTIENT

HÁTRA; H BACK; BK
HELY POS
HELY! SETPOS
HIBA ERROR
HIBAÜZENET MAKEERROR

180
- I Í-

IDŐ TIME
IDŐSZÓ TIMEWORD; TIMEW
IGAZ TRUE
IRÁNY HEADING
IRÁNY! SETHEADING; SETH
IRÁNYSZÖG TOWARDS
ISM REPEAT
ISMÉ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; RT
JEL CHAR
JOBBRA; J RIGHT; RT

-K-

KEREKÍT ROUND
KÉPSOR IMAGE
KÉPSOR? IMAGE?
KÉPSORMÉRET IMAGESIZE
KÉREM ASK
KI SHOW; SH
KIFIGYEL WHO
KIHASÍTKÉP GETIMAGE
KIÍR PRINT; PR

KIÍRBELSŐ TYPE
KIÍRJEL; KI SHOW; SH
KIÍRÓESZKÖZ PRINTTO
KIÍRSAJÁTSZAVAK POTS
KIÍRSOR; KS PRINTLINE; PL
KIÍRTARTALOM; KT PO
KISEBB? LESS?

KIVÁLASZT PICK
KÍVÜL? OUTSIDE?
KOSZ COS
KÓD ASCII
KÖRKÖRÖSEN WRAP
KS PRINTLINE; PL
KT PO
KURZORHELY CURSOR

181
KURZORHELY! SETCURSOR

KÜLÖNBSÉG DIFFERENCE

- L LY-

LÁTHATATLAN HIDETURTLE; HT
LÁTHATÓ SHOWTURTLE; ST
LÁTHATÓ? SHOWN?
LEKÉPEZ MAP
LENYOMAT STAMP
LISTA LIST
LISTA? LIST?
LN LN
LOGO LOGO

LOGO! SETLOGO
LOGOABLAK LOGOSIZE
LOGOABLAK! SETLOGOSIZE
LOKÁLIS LOCAL
LOKÁLISNÉV LET

-M-

M SENTENCE; SE
MA MOD
MARADÉK; MA MOD
MCI MCI
MENT SAVE
MENTKÉPSOR SAVEIMAGE
MENTKÖTET SAVELIBRARY; SAVELIB
MENTRAJZ SAVEBITMAP
MENTRAJZLAP SAVESCREEN
MEZŐ GPROP
MEZŐ! PPROP
MEZŐK PLIST
MEZŐK! SETPLIST
MG SHOWBUTTONS
MI SHOWSPEEDBAR
MIND ALLTURTLES; ALL
MONDAT; M SENTENCE; SE
MUTATGOMBSOR; MG SHOWBUTTONS
MUTATIKONSOR; MI SHOWSPEEDBAR

- N NY-

NAGYOBB? GREATER?
NEM NOT
NEVEK NAMES
NEVEZ NAME
NÉV MAKE
NÉV? NAME?

182
NÖVEL INC
NYITVIDEO OPENVIDEO
NYM PRINTMEMORY; PRINTM
NYOMOZ DEBUG
NYOMOZÓSZÜNET PAUSE
NYOMTATÍRÓLAP PRINTTEXT; PRINTT
NYOMTATMEMÓRIA; NYM PRINTMEMORY; PRINTM
NYOMTATRAJZLAP PRINTGRAPHICS; PRINTG

- O Ó Ö Ő-

OA SPLITSCREEN; SS
OJ READCHAR; RC
OK READKEY
OL READLIST; RL
OLPARANCSJEL! SETRLPROMPT
OLVASJEL; OJ READCHAR; RC
OLVASKÓD; OK READKEY
OLVASLISTA; OL READLIST; RL
OLVASLISTAPARANCSJEL!;
OLPARANCSJEL! SETRLPROMPT
OLVASÓESZKÖZ READFROM
OLVASSZÓ; OSZ READWORD; RW
OLVASÜZENŐ READLISTDIALOG; RLD
OSZ READWORD; RW
OSZTOTTABLAK; OA SPLITSCREEN; SS
ÖSSZEG SUM
ÖSSZEKEVER SHUFFLE

-P-

PARANCSJEL! SETPROMPT
PONT DOT
PONTSZÍN DOTCOLOR

-Q-
-R-

RA GRAPHICSCREEN; GS
RAJZABLAK; RA GRAPHICSCREEN; GS
RAJZLAPABLAK GETGS
RAJZLAPABLAK! SETGS
RAJZLAPSZÍN; RSZ BACKGROUND; BG
RAJZLAPSZÍN!; RSZ! SETBACKGROUND; SETBG
RÁKATTINTOTT TOUCHED
REJTGOMBSOR; RG HIDEBUTTONS
REJTIKONSOR; RI HIDESPEEDBAR
REKORDNEVEK PROPS
REKORDOK PPS
RENDSZERMÉRET SYSTEMMETRICS
RI HIDESPEEDBAR
RG HIDEBUTTONS

183
RSZ BACKGROUND; BG
RSZ! SETBACKGROUND; SETBG

- S SZ-

SAJÁTNEVEK PROCS
SAJÁTSZÓ DEFINE
SAJÁTSZÓ? DEFINED?
SOKSZÖG POLYGON
SOKSZÖGVONAL POLYGONLINE
SZÁM? NUMBER?
SZIA BYE
SZIN SIN
SZORZAT PRODUCT
SZÓ WORD
SZÓ? WORD?
SZÓTARTALOM TEXT
SZÖVEGDOBOZ GETBOX
SZÖVEGDOBOZ! SETBOX
SZÖVEGDOBOZMÓD! SETBOXMODE
SZŰRŐ FILTER

- T TY-

TAKAR? OVERLAP?
TAKART OVERLAPPED
TANULD TO
TART DIR
TARTALOM THING
TARTALOMJEGYZÉK; TART DIR

TEKNŐCOLVASLISTA; TOL READLISTTURTLE; RLT

TERÜLET GETWINDOW
TESZT TEST
TF PENUP; PU
TG TAN
TIZEDESJEGY! SETFORMAT
TÍ CLEARTEXT; CT
TL PENDOWN; PD
TM PATTERN
TM! SETPATTERN
TOL READLISTTURTLE; RLT
TOLL PEN
TOLL! SETPEN
TOLLATFEL; TF PENUP; PU
TOLLATLE; TL PENDOWN; PD
TOLLÁLLAPOT PENSTATE
TOLLÁLLAPOT! SETPENSTATE
TOLLMINTA; TM PATTERN
TOLLMINTA!; TM! SETPATTERN
TOLLPONT HOTSPOT

184
TOLLPONT! SETHOTSPOT
TOLLRADÍR; TRD PENERASE; PE
TOLLSZÍN; TSZ PENCOLOR; PC
TOLLSZÍN!;TSZ! SETPENCOLOR; SETPC
TOLLVASTAGSÁG; TV PENWIDTH; PW
TOLLVASTAGSÁG!; TV! SETPENWIDTH; SETPW
TOLLVÁLTÓ; TVT PENREVERSE; PX
TÖLT FILL
TÖLTŐMINTA; TLM FILLPATTERN; FP
TÖLTŐMINTA!; TLM! SETFILLPATTERN; SETFP
TÖLTŐMÓD! SETFILLMODE
TÖLTŐSZÍN; TLSZ FILLCOLOR; FC
TÖLTŐSZÍN!; TLSZ! SETFILLCOLOR;
TÖRÖL ERASE; ER
TÖRÖLFÁJL ERASEFILE; ERFILE
TÖRÖLÍRÓLAP; TÍ CLEARTEXT; CT
TÖRÖLMEZŐ REMPROP
TÖRÖLMUNKA ERALL
TÖRÖLRAJZ CLEAN
TÖRÖLRAJZLAP; TR CLEARSCREEN; CS
TÖRÖLTEKNŐC ERASETURTLE; ERTURTLE
TL PENDOWN; PD
TLM FILLPATTERN; FP
TLM! SETFILLPATTERN; SETFP
TLSZ FILLCOLOR; FC
TLSZ! SETFILLCOLOR; SETFC
TM PATTERN
TM! SETPATTERN
TR CLEARSCREEN; CS
TRD PENERASE; PE
TSZ PENCOLOR; PC
TSZ! SETPENCOLOR; SETPC
TV PENWIDTH; SETPW
TV! SETPENWIDTH; PWS
TVT PENREVERSE; PX

- U Ú Ü Ű-

UN BUTLAST; BL
UTOLSÓ LAST
UTOLSÓNAK LPUT
UTOLSÓNÉLKÜLI; UN BUTLAST; BL
ÚJRASOROL REORDER
ÚJTEKNŐC MAKETURTLE
ÚT PATH
ÚT! SETPATH
ÜRES? EMPTY?
ÜRESKÉPSOR EMPTYIMAGE
ÜZENŐ MESSAGEBOX

-V-

185
VAGYOR
VÁGÓLAP CLIPBOARD
VÁRJ WAIT
VÁRJAMÍG WAITUNTIL
VÉGE END
VÉGREHAJT RUN
VÉLETLEN RANDOMIZE
VÉLETLENSZÁM; VSZ RANDOM
VISSZATÉR STOP

VSZ RANDOM

-W-
-X-

X XCOR
X! SETX
XHELY; X XCOR
XHELY!; X! SETX
XY! SETXY
XYHELY!; XY! SETXY

-Y-

Y YCOR
Y! SETY
YHELY; Y YCOR
YHELY!; Y! SETY

- Z ZS-

186
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
<
<=

<>
=
>
>=

ABS ABSZ
ALL MIND
ALLTURTLES; ALL MIND
AND ÉS
APPEND CSATOL
APPLY HASZNÁL
ARCTAN ARCTG
ASCII KÓD
ASK KÉREM

BACK; BK HÁTRA; H
BACKGROUND; BG RAJZLAPSZÍN; RSZ
BF ELSŐNÉLKÜLI; EN
BG RAJZLAPSZÍN; RSZ
BL UTOLSÓNÉLKÜLI; UN
BURIED FEDETT
BURY ELFED
BURYALL ELFEDMIND
BUTFIRST; BF ELSŐNÉLKÜL; EN
BUTLAST; BL UTOLSÓNÉLKÜLI; UN
BUTMEMBER ELEMNÉLKÜLI
BUTTONS GOMBNÉV
BUTTONSSIZE GOMBSOR
BYE SZIA

187
C

CASE ELÁGAZÁS
CATCH ELKAP
CHAR JEL
CHOOSER BEÁLLÍTÓ
CLEAN TÖRÖLRAJZ
CLEARSCREEN; CS TÖRÖLRAJZLAP; TR
CLEARTEXT; CT TÖRÖLÍRÓLAP; TÍ
CLIPBOARD VÁGÓLAP
CLOSEPROBLEM BEZÁRFELADAT
CLOSEVIDEO BEZÁRVIDEO
CODEAREA ÉRZÉKENYTERÜLET
COS KOSZ
COUNT ELEMSZÁM; ESZ
CS TÖRÖLRAJZLAP; TR
CT TÖRÖLÍRÓLAP
CURSOR KURZORHELY

DATE DÁTUM
DATEW DÁTUMSZÓ
DATEWORD; DATEW DÁTUMSZÓ
DEBUG NYOMOZ
DEC CSÖKKENT
DEFINE SAJÁTSZÓ
DEFINED? SAJÁTSZÓ?
DIFFERENCE KÜLÖNBSÉG
DIR TARTALOMJEGYZÉK; TART
DIV EGÉSZHÁNYADOS; EH
DOT PONT
DOTCOLOR PONTSZÍN
DRAW ALAPHELYZET

EACH EGYMÁSUTÁN
ED ÁTÍR
EDFILE ÁTÍRFÁJL
EDIT; ED ÁTÍR
EDITFILE; EDFILE ÁTÍRFÁJL
EMPTY? ÜRES?
EMPTYIMAGE ÜRESKÉPSOR
END VÉGE
EOF? FÁJLVÉGE?
EQUAL? EGYENLŐ?
ER TÖRÖL
ERALL TÖRÖLMUNKA
ERASE; ER TÖRÖL
ERASEFILE; ERFILE TÖRÖLFÁJL

188
ERASETURTLE; ERTURTLE TÖRÖLTEKNŐC
ERFILE TÖRÖLFÁJL
ERROR HIBA
ERTURTLE TÖRÖLTEKNŐC
EXP HATVÁNY

FALSE HAMIS
FC TÖLTŐSZÍN; TLSZ
FD ELŐRE; E
FILE? FÁJL?
FILL TÖLT
FILLCOLOR; FC TÖLTŐSZÍN; TLSZ
FILLPATTERN; FP TÖLTŐMINTA; TLM
FILTER SZŰRŐ
FIRST ELSŐ
FOR CIKLUS
FOREACH CIKLUSCSAK
FORWARD; FD ELŐRE; E
FP TÖLTŐMINTA; TLM
FPUT ELSŐNEK
FROMMEMBER ELEMTŐL

GENERATE GENERÁL
GETBOX SZÖVEGDOBOZ
GETGS RAJZLAPABLAK
GETIMAGE KIHASÍTKÉP
GETSHAPE ALAK
GETTS ÍRÓLAPABLAK
GETWINDOW TERÜLET
GPROP MEZŐ
GRAPHICSCREEN; GS RAJZABLAK; RA
GREATER? NAGYOBB?
GS RAJZABLAK; RA

HEADING IRÁNY
HIDEBUTTONS REJTGOMBSOR; RG
HIDESPEEDBAR REJTIKONSOR; RI
HIDETURTLE; HT LÁTHATATLAN
HOME HAZA
HOTSPOT TOLLPONT
HT LÁTHATATLAN

IF HA
IFF HAHAMIS; HAH

189
IFFALSE; IFF HAHAMIS; HAH
IFT HAIGAZ; HAI
IFTRUE; IFT HAIGAZ; HAI
IGNORE ELFELEJT
IMAGE KÉPSOR
IMAGE? KÉPSOR?
IMAGESIZE KÉPSORMÉRET
INC NÖVEL
INSIDE? BELÜL?
INT EGÉSZRÉSZ
ITEM ELEM

J
K

KEY? GOMBNYOMÁS?; GNY?

LAST UTOLSÓ
LEFT; LT BALRA; B
LESS? KISEBB?
LET LOKÁLISNÉV
LIST LISTA
LIST? LISTA?
LN LN
LOAD BETÖLT
LOADBITMAP BETÖLTRAJZ
LOADIMAGE BETÖLTKÉPSOR
LOADLIB BETÖLTKÖTET
LOADLIBRARY; LOADLIB BETÖLTKÖTET
LOADPATH BETÖLTŐÚT
LOADPROBLEM BETÖLTFELADAT
LOADSCREEN BETÖLTRAJZLAP
LOCAL LOKÁLIS
LOGO LOGO
LOGOSIZE LOGOABLAK
LPUT UTOLSÓNAK
LT BALRA; B

MAKE NÉV
MAKEERROR HIBAÜZENET
MAKETURTLE ÚJTEKNŐC
MAP LEKÉPEZ
MCI MCI
MEMBER ELEME
MEMBER? ELEME?
MESSAGEBOX ÜZENŐ
MOD MARADÉK; MA
MOUSE EGÉRHELY

190
MOUSESTATE EGÉRÁLLAPOT

NAME NEVEZ
NAME? NÉV?
NAMES NEVEK
NOT NEM
NUMBER? SZÁM?

OP EREDMÉNY; ER
OPENVIDEO NYITVIDEO
OR VAGY
OUTPUT; OP EREDMÉNY; ER
OUTSIDE? KÍVÜL?
OVERLAP? TAKAR?
OVERLAPPED TAKART

PATH ÚT
PATTERN TOLLMINTA; TM
PAUSE NYOMOZÓSZÜNET
PC TOLLSZÍN; TSZ
PD TOLLATLE; TL
PE TOLLRADÍR; TRD
PEN TOLL
PENCOLOR; PC TOLLSZÍN; TSZ
PENDOWN; PD TOLLATLE; TL
PENERASE; PE TOLLRADÍR; TRD
PENREVERSE; PX TOLLVÁLTÓ; TVT
PENSTATE TOLLÁLLAPOT
PENUP; PU TOLLATFEL; TF
PENWIDTH; PW TOLLVASTAGSÁG; TV
PHASE FÁZIS
PICK KIVÁLASZT
PL KIÍRSOR; KS
PLAY HANGSOR
PLAYW HANGHULLÁM; HANGH
PLAYWAVE; PLAYW HANGHULLÁM; HANGH
PLIST MEZŐK
PO KIÍRTARTALOM; KT
POLYGON SOKSZÖG
POLYGONLINE SOKSZÖGVONAL
POS HELY
POTS KIÍRSAJÁTSZAVAK
PPROP MEZŐ!
PPS REKORDOK
PRIMITIVE? ALAPSZÓ?
PR KIÍR

191
PRINT; PR KIÍR
PRINTG NYOMTATRAJZLAP
PRINTGRAPHICS; PRINTG NYOMTATRAJZLAP
PRINTLINE; PL KIÍRSOR; KS
PRINTM NYOMTATMEMÓRIA; NYM
PRINTMEMORY; PRINTM NYOMTATMEMÓRIA; NYM
PRINTT NYOMTATÍRÓLAP
PRINTTEXT; PRINTT NYOMTATÍRÓLAP
PRINTTO KIÍRÓESZKÖZ
PROCS SAJÁTNEKEV
PRODUCT SZORZAT
PROPS REKORDNEVEK
PU TOLLATFEL; TF
PUTIMAGE BETOLDKÉP
PW TOLLVASTAGSÁG; TV
PX TOLLVÁLTÓ; TVT

QUOTIENT HÁNYADOS

RANDOM VÉLETLENSZÁM; VSZ


RANDOMIZE VÉLETLEN
RC OLVASJEL; OJ
READCHAR; RC OLVASJEL; OJ
READFROM OLVASÓESZKÖZ
READKEY OLVASKÓD; OK
READLIST; RL OLVASLISTA; OL
READLISTDIALOG; RLD OLVASÜZENŐ
READLISTTURTLE; RLT TEKNŐCOLVASLISTA; TOL
READWORD; RW OLVASSZÓ; OSZ
REMPROP TÖRÖLMEZŐ
REORDER ÚJRASOROL
REP HÁNYADIK
REPCOUNT; REPC HÁNYADIK
REPEAT ISMÉTLÉS; ISM
REPLACE CSERE

RESETPAL ALAPPALETTA
RESETPALETTE; RESETPAL ALAPPALETTA
REVERSE FORDÍT
RIGHT; RT JOBBRA; J
RL OLVASLISTA; OL
RLD OLVASÜZENŐ
RLT TEKNŐCOLVASLISTA; TOL
ROUND KEREKÍT
RT JOBBRA
RUN VÉGREHAJT
RUNPROG FUTTAT
RUNPROGRAM; RUNPROG FUTTAT

192
RW OLVASSZÓ

SAVE MENT
SAVEBITMAP MENTRAJZ
SAVEIMAGE MENTKÉPSOR
SAVELIB MENTKÖTET
SAVELIBRARY; SAVELIB MENTKÖTET
SAVESCREEN MENTRAJZLAP
SE MONDAT; M
SENTENCE; SE MONDAT; M
SETBACKGROUND; 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
SETTC ÍRÓSZÍN!
SETTS ÍRÓLAPABLAK!
SETTT BETŰ!
SETTTEXT; SETTT BETŰ!
SETX XHELY!; X!
SETXY XYHELY!; XY!
SETY YHELY!; Y!
SH KIÍRJEL; KI
SHAPECOLOR ALAKSZÍN
SHAPEPOS FÁZISPONT
SHOW; SH KIÍRJEL; KI
SHOWBUTTONS MUTATGOMBSOR; MG
SHOWN? LÁTHATÓ?
SHOWSPEEDBAR MUTATIKONSOR; MI
SHOWTURTLE; ST LÁTHATÓ
SHUFFLE ÖSSZEKEVER
SIN SZIN
SOUND HANG
SPLITSCREEN; SS OSZTOTTABLAK; OA
SQRT GYÖK
SS OSZTOTTABLAK; OA
ST LÁTHATÓ
STAMP LENYOMAT
STOP VISSZATÉR
SUM ÖSSZEG
SYSTEMMETRICS RENDSZERMÉRET

TAN TG
TELL FIGYELJ
TEST TESZT
TEXT SZÓTARTALOM
TEXTSCREEN; TS ÍRÓABLAK; ÍA
TEXTSIZE BETŰNÉGYZET
THING TARTALOM
THROW ÁTDOB
TIME IDŐ
TIMEW IDŐSZÓ
TIMEWORD; TIMEW IDŐSZÓ
TO TANULD
TOPLEVEL FELSŐSZINT
TOUCHED RÁKATTINTOTT
TOWARDS IRÁNYSZÖG
TRUE IGAZ
TS ÍRÓABLAK; ÍA
TT BETŐZD
TTEXT; TT BETŐZD
TURTLESTATE ÁLLAPOT
TYPE KIÍRBELSŐ

194
U

UNBURY FELFED

V
W

WAIT VÁRJ
WAITUNTIL VÁRJAMÍG
WHILE AMÍG
WHO KIFIGYEL
WINDOW ABLAK
WORD SZÓ
WORD? SZÓ?
WRAP KÖRKÖRÖSEN

XCOR XHELY; X

YCOR YHELY; Y

Tartalomjegyzék
A COMENIUS LOGO FELÜLETE:.........................................................................................................2

NUMERIKUS FÜGGVÉNYEK.................................................................................................................3
* ................................................................................................................................................................3
+................................................................................................................................................................3
-.................................................................................................................................................................3
/..................................................................................................................................................................3
ABSZ.........................................................................................................................................................4
ARCTG.....................................................................................................................................................4
EGÉSZHÁNYADOS; EH........................................................................................................................4
EGÉSZRÉSZ.............................................................................................................................................5
EH.............................................................................................................................................................5
GYÖK.......................................................................................................................................................5
HATVÁNY...............................................................................................................................................6
HÁNYADOS............................................................................................................................................6
KEREKÍT..................................................................................................................................................6
COS...........................................................................................................................................................6
KÜLÖNBSÉG...........................................................................................................................................7
LN.............................................................................................................................................................7
MA............................................................................................................................................................7
MARADÉK; MA.....................................................................................................................................7
ÖSSZEG....................................................................................................................................................7
SIN............................................................................................................................................................8
SZORZAT.................................................................................................................................................8
TG.............................................................................................................................................................8
VÉLETLEN..............................................................................................................................................8
VÉLETLENSZÁM; VSZ.........................................................................................................................9
VSZ...........................................................................................................................................................9
NUMERIKUS PREDIKÁTUMOK..........................................................................................................10

195
<..............................................................................................................................................................10
<=............................................................................................................................................................10
>..............................................................................................................................................................10
>=............................................................................................................................................................11
<>............................................................................................................................................................11
=..............................................................................................................................................................11
EGYENLŐ?............................................................................................................................................12
KISEBB?.................................................................................................................................................12
NAGYOBB?...........................................................................................................................................13
SZÓ- ÉS LISTAFÜGGVÉNYEK.............................................................................................................14
<..............................................................................................................................................................14
<=............................................................................................................................................................14
>..............................................................................................................................................................14
>=............................................................................................................................................................15
<>............................................................................................................................................................15
=..............................................................................................................................................................15
CSERE....................................................................................................................................................16
EGYENLŐ?............................................................................................................................................17
ELEM......................................................................................................................................................17
ELEME...................................................................................................................................................18
ELEME?..................................................................................................................................................19
ELEMNÉLKÜLI.....................................................................................................................................19
ELEMSZÁM; ESZ.................................................................................................................................20
ELEMTŐL..............................................................................................................................................20
ELSŐ.......................................................................................................................................................21
ELSŐNEK...............................................................................................................................................21
ELSŐNÉLKÜLI; EN.............................................................................................................................22
EN...........................................................................................................................................................22
ESZ..........................................................................................................................................................22
FORDÍT..................................................................................................................................................23
JEL..........................................................................................................................................................23
KISEBB?.................................................................................................................................................23
KIVÁLASZT..........................................................................................................................................23
KÓD........................................................................................................................................................24
LISTA.....................................................................................................................................................24
LISTA?....................................................................................................................................................25
M.............................................................................................................................................................25
MONDAT; M.........................................................................................................................................26
NAGYOBB?...........................................................................................................................................26
ÖSSZEKEVER.......................................................................................................................................26
SZÁM?....................................................................................................................................................26
SZÓ.........................................................................................................................................................27
SZÓ?.......................................................................................................................................................27
UN...........................................................................................................................................................27
UTOLSÓ.................................................................................................................................................28
UTOLSÓNAK........................................................................................................................................28
UTOLSÓNÉLKÜLI; UN.......................................................................................................................29
ÜRES?.....................................................................................................................................................29
REKORDOKRA VONATKOZÓ ELJÁRÁSOK...................................................................................30
ÁTÍR.......................................................................................................................................................30
ELFED....................................................................................................................................................30
ELFEDMIND..........................................................................................................................................30
FED!........................................................................................................................................................31
FEDETT..................................................................................................................................................31
FELFED..................................................................................................................................................32
MEZŐ.....................................................................................................................................................32
MEZŐ!....................................................................................................................................................33
MEZŐK...................................................................................................................................................33
MEZŐK!.................................................................................................................................................34
REKORDNEVEK...................................................................................................................................34
REKORDOK...........................................................................................................................................35

196
TÖRÖL...................................................................................................................................................35
TÖRÖLMEZŐ........................................................................................................................................36
TÖRÖLMUNKA....................................................................................................................................36
LOGIKAI FÜGGVÉNYEK ÉS IGAZSÁGÉRTÉKEK.........................................................................38
ÉS............................................................................................................................................................38
HAMIS....................................................................................................................................................38
IGAZ.......................................................................................................................................................38
NEM........................................................................................................................................................38
VAGY.....................................................................................................................................................39
VÁLTOZÓK LÉTREHOZÁSA ÉS FELHASZNÁLÁSA.....................................................................40
ÁTÍR.......................................................................................................................................................40
CSÖKKENT...........................................................................................................................................40
ELFED....................................................................................................................................................40
ELFEDMIND..........................................................................................................................................41
FED!........................................................................................................................................................41
FEDETT..................................................................................................................................................42
FELFED..................................................................................................................................................42
LOKÁLIS................................................................................................................................................43
LOKÁLISNÉV.......................................................................................................................................43
NÉV.........................................................................................................................................................43
NÉV?.......................................................................................................................................................44
NEVEK...................................................................................................................................................44
NEVEZ....................................................................................................................................................44
NÖVEL...................................................................................................................................................45
TARTALOM...........................................................................................................................................45
TÖRÖL...................................................................................................................................................46
TÖRÖLMUNKA....................................................................................................................................46
VEZÉRLŐ ÉS FELTÉTELES ELJÁRÁSOK........................................................................................48
AMÍG......................................................................................................................................................48
ÁTDOB...................................................................................................................................................48
CIKLUS..................................................................................................................................................48
CIKLUSCSAK........................................................................................................................................49
ELÁGAZÁS............................................................................................................................................49
ELFELEJT..............................................................................................................................................50
ELKAP....................................................................................................................................................51
ER............................................................................................................................................................51
EREDMÉNY; ER..................................................................................................................................52
FELSŐSZINT.........................................................................................................................................52
GENERÁL..............................................................................................................................................52
HA...........................................................................................................................................................53
HAH........................................................................................................................................................53
HAHAMIS; HAH..................................................................................................................................54
HAI..........................................................................................................................................................54
HAIGAZ; HAI.......................................................................................................................................54
HASZNÁL..............................................................................................................................................54
HÁNYADIK...........................................................................................................................................55
HIBA.......................................................................................................................................................55
HIBAÜZENET.......................................................................................................................................56
ISM..........................................................................................................................................................56
ISMÉTLÉS; ISM...................................................................................................................................57
LEKÉPEZ...............................................................................................................................................57
NYOMOZ...............................................................................................................................................57
NYOMOZÓSZÜNET.............................................................................................................................57
SZŰRŐ....................................................................................................................................................58
TESZT.....................................................................................................................................................58
VÉGREHAJT..........................................................................................................................................59
VISSZATÉR...........................................................................................................................................59
VÁRJ.......................................................................................................................................................60
VÁRJAMÍG............................................................................................................................................60

197
ELJÁRÁSOK DEFINIÁLÁSA, SZERKESZTÉSE ÉS FELDOLGOZÁSA ...................................61
.ALAPSZAVAK.....................................................................................................................................61
ALAPSZÓ?.............................................................................................................................................61
ÁTÍR.......................................................................................................................................................61
ELFED....................................................................................................................................................62
ELFEDMIND..........................................................................................................................................62
FEDETT..................................................................................................................................................62
KIÍRSAJÁTSZAVAK............................................................................................................................63
KIÍRTARTALOM; KT..........................................................................................................................63
KT...........................................................................................................................................................64
SAJÁTNEVEK.......................................................................................................................................64
SAJÁTSZÓ.............................................................................................................................................64
SAJÁTSZÓ?...........................................................................................................................................65
SZÓTARTALOM...................................................................................................................................65
TANULD................................................................................................................................................66
TÖRÖL...................................................................................................................................................66
TÖRÖLMUNKA....................................................................................................................................67
VÉGE......................................................................................................................................................67
TEKNŐCMŰVELETEK..........................................................................................................................68
ABLAK...................................................................................................................................................68
ALAK......................................................................................................................................................68
ALAK!....................................................................................................................................................69
ALAKSZÍN.............................................................................................................................................69
ALAKSZÍN!...........................................................................................................................................69
ALAPHELYZET....................................................................................................................................70
ÁLLAPOT...............................................................................................................................................70
ANIMÁCIÓSMÓD!...............................................................................................................................70
B..............................................................................................................................................................71
BALRA; B.............................................................................................................................................71
BELÜL?..................................................................................................................................................71
BETOLDKÉP.........................................................................................................................................71
BETŰ!.....................................................................................................................................................72
BETŰZD.................................................................................................................................................73
BETŰNÉGYZET....................................................................................................................................73
E..............................................................................................................................................................74
EGYMÁSUTÁN.....................................................................................................................................74
ELŐRE; E..............................................................................................................................................75
FÁZIS......................................................................................................................................................75
FÁZIS!....................................................................................................................................................75
FÁZISPONT...........................................................................................................................................75
FIGYELJ.................................................................................................................................................76
H..............................................................................................................................................................76
HAZA......................................................................................................................................................76
HÁTRA; H.............................................................................................................................................76
HELY......................................................................................................................................................77
HELY!.....................................................................................................................................................77
IRÁNY....................................................................................................................................................77
IRÁNY!...................................................................................................................................................78
IRÁNYSZÖG..........................................................................................................................................78
J...............................................................................................................................................................78
JOBBRA; J.............................................................................................................................................78
KÉREM...................................................................................................................................................79
KIFIGYEL..............................................................................................................................................79
KIHASÍTKÉP.........................................................................................................................................80
KÍVÜL?...................................................................................................................................................81
KÖRKÖRÖSEN......................................................................................................................................81
LÁTHATÓ..............................................................................................................................................81
LÁTHATÓ?............................................................................................................................................82
LÁTHATATLAN...................................................................................................................................82
LENYOMAT..........................................................................................................................................83
MIND......................................................................................................................................................83

198
PONT......................................................................................................................................................83
PONTSZÍN.............................................................................................................................................84
SOKSZÖG..............................................................................................................................................84
SOKSZÖGVONAL................................................................................................................................85
SZÖVEGDOBOZ...................................................................................................................................86
SZÖVEGDOBOZ!..................................................................................................................................86
SZÖVEGDOBOZMÓD!.........................................................................................................................89
TAKART.................................................................................................................................................89
TAKAR?.................................................................................................................................................89
TEKNŐCOLVASLISTA; TOL.............................................................................................................90
TERÜLET...............................................................................................................................................90
TF............................................................................................................................................................90
TL............................................................................................................................................................91
TLM........................................................................................................................................................92
TLM!.......................................................................................................................................................92
TLSZ.......................................................................................................................................................92
TLSZ!......................................................................................................................................................93
TM...........................................................................................................................................................93
TM!.........................................................................................................................................................93
TOL.........................................................................................................................................................94
TOLL.......................................................................................................................................................94
TOLL!.....................................................................................................................................................94
TOLLATFEL; TF..................................................................................................................................95
TOLLATLE; TL....................................................................................................................................95
TOLLÁLLAPOT....................................................................................................................................95
TOLLÁLLAPOT!...................................................................................................................................95
TOLLMINTA; TM................................................................................................................................96
TOLLMINTA!; TM!..............................................................................................................................96
TOLLRADÍR; TRD...............................................................................................................................96
TOLLSZÍN; TSZ...................................................................................................................................96
TOLLSZÍN!; TSZ!.................................................................................................................................97
TOLLVASTAGSÁG; TV......................................................................................................................97
TOLLVASTAGSÁG!; TV!...................................................................................................................97
TOLLVÁLTÓ; TVT..............................................................................................................................98
TÖLT.......................................................................................................................................................98
TÖLTŐMÓD!.........................................................................................................................................99
TÖLTŐMINTA; TLM...........................................................................................................................99
TÖLTŐMINTA!; TLM!........................................................................................................................99
TÖLTŐSZÍN; TLSZ..............................................................................................................................99
TÖLTŐSZÍN!; TLSZ!...........................................................................................................................99
TÖRÖLMUNKA....................................................................................................................................99
TÖRÖLRAJZ........................................................................................................................................100
TÖRÖLRAJZLAP; TR........................................................................................................................100
TÖRÖLTEKNŐC.................................................................................................................................100
TR..........................................................................................................................................................100
TRD.......................................................................................................................................................101
TSZ........................................................................................................................................................101
TSZ!......................................................................................................................................................101
TV.........................................................................................................................................................101
TV!........................................................................................................................................................101
TVT.......................................................................................................................................................101
ÚJRASOROL........................................................................................................................................101
ÚJTEKNŐC..........................................................................................................................................101
X............................................................................................................................................................102
X!...........................................................................................................................................................103
XHELY; X...........................................................................................................................................103
XHELY!; X!.........................................................................................................................................103
XY!........................................................................................................................................................103
XYHELY!; XY!...................................................................................................................................104
Y............................................................................................................................................................104
Y!...........................................................................................................................................................104
YHELY; Y...........................................................................................................................................104

199
KÉPSOROK FELDOLGOZÁSA...........................................................................................................105
ALAK....................................................................................................................................................105
ALAK!..................................................................................................................................................105
ALAKSZÍN...........................................................................................................................................106
ALAKSZÍN!.........................................................................................................................................106
ANIMÁCIÓSMÓD!.............................................................................................................................106
BETOLDKÉP.......................................................................................................................................107
BETÖLTKÉPSOR................................................................................................................................107
BETÖLTRAJZ......................................................................................................................................108
ÁTLÁTSZÓMÓD!...............................................................................................................................108
FÁZIS....................................................................................................................................................109
FÁZIS!..................................................................................................................................................109
FÁZISPONT.........................................................................................................................................109
KÉPSOR...............................................................................................................................................110
KÉPSOR?..............................................................................................................................................110
KÉPSORMÉRET..................................................................................................................................110
KIHASÍTKÉP.......................................................................................................................................111
MENTKÉPSOR....................................................................................................................................112
MENTRAJZ..........................................................................................................................................112
TOLLPONT..........................................................................................................................................112
TOLLPONT!.........................................................................................................................................113
ÚT.........................................................................................................................................................113
ÚT!........................................................................................................................................................114
ÜRESKÉPSOR.....................................................................................................................................114
A KÉPERNYŐ BEÁLLÍTÁSAI.............................................................................................................116
.PONTHELY!.......................................................................................................................................116
ALAPHELYZET..................................................................................................................................116
ALAPPALETTA...................................................................................................................................116
BETÖLTRAJZLAP..............................................................................................................................116
EGÉRALAK!........................................................................................................................................117
EGÉRHELY!........................................................................................................................................117
ÍA...........................................................................................................................................................118
ÍRÓABLAK; ÍA...................................................................................................................................118
ÍRÓLAP................................................................................................................................................118
ÍRÓLAP!...............................................................................................................................................118
ÍRÓSZÍN!..............................................................................................................................................119
KURZORHELY....................................................................................................................................119
KURZORHELY!..................................................................................................................................119
LOGOABLAK......................................................................................................................................120
LOGOABLAK!.....................................................................................................................................120
MENTRAJZLAP..................................................................................................................................120
MI..........................................................................................................................................................121
MUTATIKONSOR; MI.......................................................................................................................121
NYOMTATÍRÓLAP............................................................................................................................121
NYOMTATRAJZLAP..........................................................................................................................121
OA.........................................................................................................................................................122
OLPARANCSJEL!...............................................................................................................................122
OLVASLISTAPARANCSJEL!;...........................................................................................................122
PONTSZÍN...........................................................................................................................................122
OSZTOTTABLAK; OA......................................................................................................................123
PARANCSJEL!.....................................................................................................................................123
RA.........................................................................................................................................................123
RAJZABLAK; RA...............................................................................................................................123
RAJZLAP..............................................................................................................................................124
RAJZLAP!............................................................................................................................................124
RAJZLAPSZÍN; RSZ..........................................................................................................................124
RAJZLAPSZÍN!; RSZ!........................................................................................................................124
REJTIKONSOR; RI.............................................................................................................................125
RI...........................................................................................................................................................125
RSZ.......................................................................................................................................................125
RSZ!......................................................................................................................................................125

200
TÍ...........................................................................................................................................................125
TÖRÖLÍRÓLAP; TÍ............................................................................................................................125
TÖRÖLRAJZ........................................................................................................................................125
TÖRÖLRAJZLAP; TR........................................................................................................................125
TR..........................................................................................................................................................126
GOMBOK ÉS PARAMÉTERBEÁLLÍTÓK........................................................................................127
BEÁLLÍTÓ...........................................................................................................................................127
BETÖLTFELADAT.............................................................................................................................127
BEZÁRFELADAT...............................................................................................................................128
GOMBNÉV...........................................................................................................................................128
GOMBNÉV!.........................................................................................................................................128
GOMBSOR...........................................................................................................................................129
GOMBSOR!..........................................................................................................................................129
MG........................................................................................................................................................130
MI..........................................................................................................................................................130
MUTATGOMBSOR; MG...................................................................................................................130
MUTATIKONSOR; MI.......................................................................................................................130
REJTGOMBSOR; RG.........................................................................................................................130
REJTIKONSOR; RI.............................................................................................................................131
RG.........................................................................................................................................................131
RI...........................................................................................................................................................131
KOMMUNIKÁCIÓ A KÜLVILÁGGAL"............................................................................................132
JEL........................................................................................................................................................132
GNY?....................................................................................................................................................132
GOMBNYOMÁS?; GNY?..................................................................................................................132
KI...........................................................................................................................................................132
KIÍR.......................................................................................................................................................133
KIÍRBELSŐ..........................................................................................................................................133
KIÍRJEL; KI.........................................................................................................................................134
KIÍRÓESZKÖZ....................................................................................................................................134
KIÍRSAJÁTSZAVAK..........................................................................................................................134
KIÍRSOR; KS.......................................................................................................................................135
KIÍRTARTALOM; KT........................................................................................................................135
KS..........................................................................................................................................................136
KT.........................................................................................................................................................136
NYOMTATMEMÓRIA.......................................................................................................................136
NYOMTATÍRÓLAP............................................................................................................................136
NYOMTATRAJZLAP..........................................................................................................................136
OJ..........................................................................................................................................................137
OK.........................................................................................................................................................137
OL.........................................................................................................................................................138
OLPARANCSJEL!...............................................................................................................................139
OLVASJEL; OJ...................................................................................................................................139
OLVASKÓD; OK................................................................................................................................139
OLVASLISTA; OL..............................................................................................................................139
OLVASÓESZKÖZ...............................................................................................................................139
OLVASLISTAPARANCSJEL!; OLPARANCSJEL! ....................................................................140
OLVASSZÓ; OSZ...............................................................................................................................140
OLVASÜZENŐ....................................................................................................................................140
OSZ.......................................................................................................................................................141
PARANCSJEL!.....................................................................................................................................141
TEKNŐCOLVASLISTA; TOL...........................................................................................................141
TIZEDESJEGY!...................................................................................................................................142
TOL.......................................................................................................................................................142
ÜZENŐ.................................................................................................................................................142
VÁGÓLAP............................................................................................................................................142
FÁJLKEZELŐ ELJÁRÁSOK...............................................................................................................144
CSATOL...............................................................................................................................................144
ÁTÍRFÁJL............................................................................................................................................144
BETÖLT...............................................................................................................................................145

201
BETÖLTKÉPSOR................................................................................................................................145
BETÖLTKÖTET..................................................................................................................................146
BETÖLTŐÚT.......................................................................................................................................146
BETÖLTRAJZ......................................................................................................................................147
BETÖLTRAJZLAP..............................................................................................................................147
FÁJL?....................................................................................................................................................148
FÁJLVÉGE?.........................................................................................................................................148
KIÍRÓESZKÖZ....................................................................................................................................148
MENT...................................................................................................................................................149
MENTKÉPSOR....................................................................................................................................150
MENTKÖTET......................................................................................................................................150
MENTRAJZ..........................................................................................................................................151
MENTRAJZLAP..................................................................................................................................151
OLVASÓESZKÖZ...............................................................................................................................152
TART....................................................................................................................................................152
TARTALOMJEGYZÉK; TART.........................................................................................................153
TÖRÖLFÁJL........................................................................................................................................153
ÚT.........................................................................................................................................................153
ÚT!........................................................................................................................................................154
VÁGÓLAP............................................................................................................................................154
KOMMUNIKÁCIÓ AZ EGÉR SEGÍTSÉGÉVEL..............................................................................155
EGÉRALAK!........................................................................................................................................155
EGÉRÁLLAPOT..................................................................................................................................156
EGÉRHELY..........................................................................................................................................157
EGÉRHELY!........................................................................................................................................157
ÉRZÉKENYTERÜLET........................................................................................................................157
GOMBNYOMÁS?; GNY?..................................................................................................................158
GNY?....................................................................................................................................................158
OK.........................................................................................................................................................158
OLVASKÓD; OK................................................................................................................................159
RÁKATTINTOTT................................................................................................................................159
ZENEI ALAPSZAVAK ÉS MULTIMÉDIA.........................................................................................161
BEZÁRVIDEÓ.....................................................................................................................................161
HANG...................................................................................................................................................161
HANGH................................................................................................................................................161
HANGHULLÁM; HANGH.................................................................................................................162
HANGSOR...........................................................................................................................................162
MCI.......................................................................................................................................................162
NYITVIDEÓ.........................................................................................................................................163
ÚT.........................................................................................................................................................164
ÚT!........................................................................................................................................................164
A MUNKATERÜLET KEZELÉSE.......................................................................................................166
.GYŰJTMEM........................................................................................................................................166
EGYÉB......................................................................................................................................................167
DÁTUM................................................................................................................................................167
DÁTUMSZÓ.........................................................................................................................................167
FUTTAT...............................................................................................................................................167
IDŐ........................................................................................................................................................168
IDŐSZÓ................................................................................................................................................168
LOGO....................................................................................................................................................169
LOGO!..................................................................................................................................................169
RENDSZERMÉRET.............................................................................................................................171
KILÉPÉS..................................................................................................................................................172
SZIA......................................................................................................................................................172
ALAPSZAVAK JEGYZÉKE...............................................................................................................174
akármi............................................................................................................................................174

202
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

You might also like