előre :m | e :m [U]hátra :m | h :m [U]jobbra :a | j :a [U]balra :a | b :a [U]irány [K]irány! :d [U]poz [K]poz! :p [U]xpoz [K]xpoz! :x [U]ypoz [K]ypoz! :y [U]törölképernyő | törölkép [U]haza [U]címke :sz [U]címke2 :sz [U]lenyomat [U]tölt [U]kör :d [U]töltöttkör :d [U]pontméret :d [U]ellipszis :el [U]töltöttellipszis :el [U]sokszög :szl [U]várj :n [U]betöltképsor :f [K]betöltháttérkép :ks [U]alak [K]alak! :ks [U]alakméret [K]alakméret! :m [U]látható [K]látható! :l [U]elrejtteknőc | elrejt [U]mutatteknőc | mutattek [U]animáció [K]animáció! :l [U]képkocka [K]képkocka! :n [U]képkockaelem [K]képkockaelem! :n [U]képkockamód [K]képkockamód :l [U]szó :sz1 :sz2 [K]mondat :l1 :l2 [K]lista :e1 :e2 [K]elsőnek :e :l [K]utolsónak :e :l [K]elsőnélküli :l | en :l [K]utolsónélküli :l | un :l [K]elemsorszámnélküli :n :l | elemsn :n :l [K]elemnélküli :e :l | elemn :e :l [K]elemtől :e :l [K]csere :k :l :e [K]megfordít :l [K]összekever :l [K]! :l [K]elemszám :l [K]első :l [K]utolsó :l [K]elem :k :l [K]kiválaszt :l [K]és :a :b [K]vagy :a :b [K]nem :l [K]egyenlő? :a :b | :a = :b [K]nagyobb? :a :b | :a > :b [K]kisebb? :a :b | :a < :b [K]összeg :a :b | :a + :b [K]különbség :a :b | :a - :b [K]szorzat :a :b | :a * :b [K]hányados :a :b | :a / :b [K]egészhányados :a :b | eh :a :b [K]maradék :a :b | mod :a :b [K]egészrész :n [K]kerekít :n [K]absz :n [K]gyök :n [K]hatvány :n [K]ln :n [K]sin :a [K]cos :a [K]tan :a | tg :a [K]arkusztangens :t | arctg :t [K]A lista a verseny követelményeinek figyelembevételével készült, nem meríti ki az Imagine Logo teljes parancskészletét.
[U] = Utasítás
[K] = Kifejezés
[U/K] = Kontextustól függően lehet utasítás vagy kifejezés is
1Forrás: Imagine Logo súgó
előre :m | e :m [U]A teknőc :m lépésnyit lép előre.
Példa
előre 100
hátra :m | h :m [U]A teknőc :m lépésnyit lép hátra.
Példa
hátra 100
jobbra :a | j :a [U]A teknőc :a foknyit fordul jobbra (pozíciója nem változik).
Példa
jobbra 90
balra :a | b :a [U]A teknőc :a foknyit fordul balra (pozíciója nem változik).
Példa
balra 90
irány [K]Értéke a teknőc jelenlegi fordulási szöge fokban. 0 = "felfelé", óramutató járásával megegyező irányba növekszik.
Példa
mutat irány
;0
jobbra 90
mutat irány
;90
irány! :d [U]A teknőc fordulási szöge :d fok lesz. 0 = "felfelé", óramutató járásával megegyező irányba növekszik.
Példa
;0˚-ról indulva
jobbra 90
irány! 75
mutat irány
;75
irány! 37
jobbra 50
mutat irány
;87
poz [K]Értéke a teknőc jelenlegi pozíciója listaként: [x y]
Példa
mutat poz
;[0 0]
előre 100
jobbra 90
előre 30
mutat poz
;[30 100]
poz! :p [U]A teknőc a megadott :p pozícióra ugrik (a kezdő- és végpont közt vonalat rajzolva, ha a toll lent van). :p egy kételemű számlista: [x y]
Példa
;irány 0˚, pozíció [0 0]
poz! [100 200]
előre 30
mutat poz
;[100 230]
xpoz [K]Értéke a teknőc aktuális pozíciója az X (vízszintes) tengelyen.
Példa
mutat xpoz
;0
előre 100
jobbra 90
előre 30
mutat xpoz
;30
xpoz! :x [U]A teknőc átugrik az X (vízszintes) tengelyen a megadott :x koordinátára (az Y tengelyen nem mozdul el). A kezdő- és végpont között vonalat húz, ha a toll lent van.
Példa
;irány 0˚, pozíció [0 0]
xpoz! 100
jobbra 90
előre 30
mutat xpoz
;130
ypoz [K]Értéke a teknőc aktuális pozíciója az Y (függőleges) tengelyen.
Példa
mutat ypoz
;0
előre 100
jobbra 90
előre 30
mutat ypoz
;100
ypoz! :y [U]A teknőc átugrik az Y (függőleges) tengelyen a megadott :y koordinátára (az X tengelyen nem mozdul el). A kezdő- és végpont között vonalat húz, ha a toll lent van.
Példa
;irány 0˚, pozíció [0 0]
ypoz! 100
előre 30
mutat ypoz
;130
törölképernyő | törölkép [U]A teknőc törli a rajzlapot, majd a kezdőpontjára ugrik (nem húz vonalat).
Példa
előre 100
jobbra 90
előre 100
;Képernyő törlése
törölképernyő
haza [U]A teknőc a kezdőpontjára ugrik (nem húz vonalat).
Példa
;Kezdőpont [0 0]
előre 100
jobbra 90
előre 100
mutat poz
;[100 100]
haza
mutat poz
;[0 0]
címke :sz [U]A teknőc kirajzolja a megadott :sz szöveget.
Kezdő- és végpozíció: a szöveg bal felső sarka
Példa
;Kezdőpont [0 0]
címke "Szia!
mutat poz
;[0 0]
címke2 :sz [U]A teknőc kirajzolja a megadott :sz szöveget.
Kezdőpozíció: bal felső sarok
Végpozíció: jobb felső sarok
Példa
;Kezdőpont [0 0]
címke2 "Szia!
mutat poz
;[33 0]
lenyomat [U]A teknőc készít egy lenyomatot saját magáról.
Példa
lenyomat
;A rajzlapon megjelenik a teknőc lenyomata
tölt [U]A teknőc kitölti a tartományt, amin áll az aktuális töltőszínnel
Példa
;Négyzet rajzolása
ismétlés 4
[
előre 100
jobbra 90
]
;Mozgás a négyzeten belülre
tollatfel
előre 50
jobbra 90
előre 50
tollatle
;Négyzet kitöltése
tölt
kör :d [U]A teknőc rajzol egy kitöltetlen kört, amelynek középpontja a teknőc aktuális pozíciója, átmérője :d.
Példa
;50 sugarú kör rajzolása (átmérő=100)
kör 100
töltöttkör :d [U]A teknőc rajzol egy az aktuális töltőszínnel kitöltött kört, amelynek középpontja a teknőc aktuális pozíciója, átmérője :d.
Példa
;50 sugarú, töltőszínnel kitöltött kör rajzolása (átmérő=100)
töltöttkör 100
pontméret :d [U]A teknőc rajzol egy az aktuális tollszínnel kitöltött kört, amelynek középpontja a teknőc aktuális pozíciója, átmérője :d.
Példa
;50 sugarú, tollszínnel kitöltött kör rajzolása (átmérő=100)
pontméret 100
ellipszis :el [U]A teknőc rajzol egy ellipszist a megadott lista alapján, melynek középpontja a teknőc aktuális pozíciója.
:el felépítése: [a b d1 d2] (d1 és d2 opcionális).
Az ellipszis szélessége és magassága a és b.
Ha d1 és d2 meg van adva, az ellipszis a d1 szögtől a d2 szögig lesz megrajzolva (fokban).
Példa
;100 széles, 50 magas ellipszis rajzolása
ellipszis [100 50]
;50 sugarú negyedkör rajzolása (jobb felső szegmens, átmérő=100)
ellipszis [100 100 0 90]
töltöttellipszis :el [U]A teknőc rajzol egy az aktuális töltőszínnel kitöltött ellipszist a megadott lista alapján, melynek középpontja a teknőc aktuális pozíciója.
:el felépítése: [a b d1 d2] (d1 és d2 opcionális).
Az ellipszis szélessége és magassága a és b.
Ha d1 és d2 meg van adva, az ellipszis a d1 szögtől a d2 szögig lesz megrajzolva (fokban).
Példa
;100 széles, 50 magas kitöltött ellipszis rajzolása
töltöttellipszis [100 50]
;50 sugarú derékszögű körcikk rajzolása (körlap jobb felső negyede, átmérő=100)
töltöttellipszis [100 100 0 90]
sokszög :szl [U]A teknőc rajzol egy az aktuális töltőszínnel kitöltött sokszöget az :szl lista alapján.
A teknőc sorban halad a lista elemein:
Példa
;10 és 20 oldalhosszúságú kitöltött téglalap rajzolása
sokszög [10 90 20 90 10]
;50 oldalhosszúságú oldalán álló kitöltött szabályos háromszög rajzolása
sokszög [0 30 50 120 50]
;Kitöltött T betű rajzolása
sokszög [50 -90 30 90 20 90 80 90 20 90 30 -90 50]
toll [K]Értéke toll aktuális állapota (szövegként).
Lehetséges értékei az állapotnak megfelelően: "tollatle "tollatfel "tollradír "tollváltó
Példa
tollatle
mutat toll
;tollatle
tollatfel
mutat toll
;tollatfel
tollatle | tl [U]A toll "tollatle állapotba kerül. A teknőc rajzol mozgás közben.
Példa
;Négyzet rajzolása a bal oldalának kihagyásával
tollatfel
előre 100
jobbra 90
tollatle
ismétel 3
[
előre 100
jobbra 90
]
tollatfel | tf [U]A toll "tollatfel állapotba kerül. A teknőc nem rajzol mozgás közben.
Példa
;Négyzet rajzolása a bal oldalának kihagyásával
tollatfel
előre 100
jobbra 90
tollatle
ismétel 3
[
előre 100
jobbra 90
]
tollradír | trd [U]A toll "tollradír állapotba kerül. A teknőc kiradírozza a rajzolt pontokat, ahol halad.
Példa
;Négyzet rajzolása majd bal oldalának kiradírozása
ismétel 4
[
előre 100
jobbra 90
]
tollradír
előre 100
tollszín | tsz [K]Értéke a toll aktuális színe (szöveg vagy RGB-lista).
Példa
tollszín! "sárga
mutat tollszín
;sárga
tollszín! [114 34 201]
mutat tollszín
;[114 34 201]
töltőszín | tlsz [K]Értéke a toll aktuális töltőszíne (szöveg vagy RGB-lista).
Példa
töltőszín! "sárga
mutat töltőszín
;sárga
töltőszín! [114 34 201]
mutat töltőszín
;[114 34 201]
tollszín! :sz | tsz! :sz [U]Átállítja a toll aktuális színét és töltőszínét :sz-re.
Példa
tollszín! "sárga
mutat tollszín
;sárga
mutat töltőszín
;sárga
töltőszín! :sz | tlsz! :sz [U]Átállítja a toll aktuális töltőszínét :sz-re.
Példa
töltőszín! "sárga
mutat töltőszín
;sárga
tollvastagság | tv [K]Értéke a toll aktuális vastagsága.
Példa
tollvastagság! 3
mutat tollvastagság
;3
tollvastagság! :v | tv! :v [U]Átállítja a toll aktuális vastagságát :v-re.
Példa
tollvastagság! 3
mutat tollvastagság
;3
pontszín [K]Értéke annak a pontnak a színe, amelyen a teknőc áll.
Példa
;fehér háttér, üres lap, fekete tollszín
mutat pontszín
;fehér
előre 100
hátra 50
mutat pontszín
;fekete
ismétlés :n :ul | ism :n :ul [U]:ul utasításlista végrehajtása :n-szer.
Példa
;100 oldalhosszúságú négyzet rajzolása
ismétlés 4
[
előre 100
jobbra 90
]
ciklus :v :int :ul | cikl :v :int :ul [U]:ul utasításlista többszöri végrehajtása a megadott :int intervallum alapján.
:int 2 vagy 3 elemű számlista: [kezd vég lépés] (lépés opcionális, alapértelmezett értéke 1).
:v a ciklusváltozó neve (:ul-ben használható), kezd-től megy vég-ig lépés-sel növekedve.
Példa
;1-től 100-ig az egész számok kiírása hármasával számolva
ciklus "i [1 100 3]
[
mutat :i
]
ciklusegyenként :v :l :ul | ciklegy :v :l :ul [U]:ul végrehajtása :l minden elemére. Az aktuális elem :v nevű változóban van tárolva (:ul-ben használható).
Példa
;Minden teknőc nevének kiírása
ciklusegyenként "t mindenteknőc
[
mutat :t
]
;10, 5, 23 és 52 hosszúságú vonalak rajzolása egymással 10 fokos szöget bezárva
ciklusegyenként "m [10 5 23 52]
[
előre :m
jobbra 10
]
amíg :k :ul [U]:ul folyamatos végrehajtása amíg :k értéke igaz. (:k kifejezés listaként!)
Példa
;Keressük meg előre az első nem fekete egész pontot
tollatfel
amíg [pontszín="fekete]
[
előre 1
]
ha :felt :ul [U]:ul utasításlista végrehajtása, ha :felt igaz.
Példa
;Ha fekete ponton állunk, forduljunk jobbra 90 fokkal
ha pontszín="fekete
[
jobbra 90
]
;Tipikus felhasználási eset: rekurzió elvarrása (:n rekurziós szint)
ha :n>1
[
rekurzió :n-1
]
hakülönben :felt :uli :ulh | hak :uli :ulh [U]:uli utasításlista végrehajtása ha :felt igaz, különben :ulh utasításlista végrehajtása.
Példa
;Ha fekete ponton állunk, forduljunk jobbra, különben balra 90 fokkal
hakülönben pontszín="fekete
[
jobbra 90
]
[
balra 90
]
;Rekurzió elvarrása befejezőművelettel
hakülönben :n>1
[
rekurzió :n-1
]
[
előre 100
]
elágazás :e :l [U/K]Az első :e-nek megfelelő eset végrehajtása/kiértékelése :l-ben.
:l felépítése:
:e megfeleltetéséhez) és egy utasításlistából vagy kifejezésből áll (listaként).:l-ben egymás után következnek.Példa
;Egyjegyű :n prím?
;Utasításként:
elágazás :n
[
2
[
mutat "|páros prím|
]
3 5 7
[
mutat "|páratlan prím|
]
[
mutat "|nem prím|
]
]
;Kifejezésként:
mutat elágazás :n
[
2 ["|páros prím|]
3 5 7 ["|páratlan prím|]
["|nem prím|]
]
aktív :t [U]Az aktív teknőc átállítása a :t nevű teknőcre. Ha :t lista, minden elemének megfelelő teknőc aktív lesz.
Példa
;Mozgás a t2 teknőccel
aktív "t2
előre 100
;Mozgás a t1 és t2 teknőcökkel egyszerre
aktív [t1 t2]
előre 100
kér :t :l [U/K]:l szöveg, utasításlista vagy kifejezés végrehajtása vagy kiértékelése :t teknőccel vagy teknőcökkel (párhuzamosan).
Példa
;Utasításként: lépjünk előre 100-at t1-gyel és t2-vel
kér [t1 t2]
[
előre 100
]
;Kifejezésként: kérdezzük le t2 irányát
;Megegyező kifejezés: t2'irány
kér "t2 [irány]
;Kérdezzük le a :t változóban tárolt teknőc pozícióját
kér :t "poz
kéregyenként :t :ul [U]:ul szöveg vagy utasításlista végrehajtása :t teknőccel vagy teknőcökkel (egymás után a megadott sorrendben).
Példa
;t1 és t2 egymás után lépjen előre 100-at
kéregyenként [t1 t2]
[
előre 100
várj 1000
]
végrehajt :l [U/K]:l szöveg, utasításlista vagy kifejezés végrehajtása vagy kiértékelése az aktív teknőccel vagy teknőcökkel (párhuzamosan). Tipikusan változóban tárolt utasítások végrehajtására van használva.
Példa
;Utasításként: lépjünk előre 100-at az aktív teknőcökkel
végrehajt [előre 100]
;Kifejezésként: a :k változóban tárolt kifejezés kiértékelése és az eredmény kiírása
mutat végrehajt :k
egyenként :l [U]:sz végrehajtása az aktív teknőccel vagy teknőcökkel (egymás után a megadott sorrendben).
Példa
;Egymás után az aktív teknőcök lépjenek előre 100-at
egyenként
[
előre 100
várj 1000
]
kiaktív [K]Értéke a jelenleg aktív teknőc neve. Ha több is van, az aktív teknőcök nevének listája.
Példa
aktív "t2
mutat kiaktív
;t2
aktív [t1 t2]
mutat kiaktív
;[t1 t2]
mindenteknőc | mindtek [K]Értéke az aktív lapon lévő teknőcök neveinek listája.
Példa
;A lapon lévő teknőcök: t1, t2, t3
mutat mindenteknőc
;[t1 t2 t3]
várj :n [U]Futás szüneteltetése :n ezredmásodpercre.
Példa
;Négyzet megrajzolása oldalanként szünettel
ismétlés 4
[
előre 100
jobbra 90
várj 1000
]
betöltképsor :f [K]:f forrás betöltése képsorként. Forrásmegadásnál használható a $ szimbólum az aktuális projekt könyvtárának utvonalaként.
Példa
;$képek\teknőc2.lgf = [projektmappa]\képek\teknőc2.lgf
alak! betöltképsor "|$képek\teknőc2.lgf|
betöltháttérkép :ks [U]:ks képsor vagy forrás betöltése a lap háttérképeként. Forrásmegadásnál használható a $ szimbólum az aktuális projekt könyvtárának utvonalaként.
Példa
;$képek\háttérkép.jpg = [projektmappa]\képek\háttérkép.jpg
betöltháttérkép "|$képek\háttérkép.jpg|
lap2'betöltháttérkép lap1'háttérkép
alak [K]A teknőc aktuális alakja képsorként.
Példa
;t2 alakja egyezzen meg t1 alakjával
t2'alak! t1'alak
alak! :ks [U]:ks képsor vagy forrás betöltése a a teknőc alakjaként. Forrásmegadásnál használható a $ szimbólum az aktuális projekt könyvtárának utvonalaként.
Példa
;$képek\teknőc2.lgf = [projektmappa]\képek\teknőc2.lgf
t1'alak! "|$képek\teknőc2.lgf|
t2'alak! t1'alak
alakméret [K]Az aktív teknőc méretének szorzója. 1=alapméret, ha a szélesség és magasság szorzója nem egyezik meg (az alak torzított), az érték egy lista: [szélesség magasság]
Példa
alakméret! 2
mutat alakméret
;2
alakméret! [0.5 1.5]
mutat alakméret
;[0.5 1.5]
alakméret! :m [U]Az aktív teknőc méretének szorzójának átállítása. 1=alapméret, ha :m egy szám, akkor a szélesség és magasság szorzója is :m lesz, ha :m lista: [szélesség magasság]
Példa
alakméret! 2
mutat alakméret
;2
alakméret! [0.5 1.5]
mutat alakméret
;[0.5 1.5]
látható [K]Logikai érték, igaz, ha a teknőc látható, különben hamis.
Példa
látható! "hamis
mutat látható
;hamis
látható! "igaz
mutat látható
;igaz
látható! :l [U]Ha :l igaz, a teknőc látható lesz, különben el lesz rejtve.
Példa
látható! "hamis
mutat látható
;hamis
látható! "igaz
mutat látható
;igaz
elrejtteknőc | elrejt [U]Teknőc elrejtése. (Megegyezik a látaható! "hamis utasítással.)
Példa
elrejtteknőc
mutat látható
;hamis
mutatteknőc | mutattek [U]Teknőc láthatóvá tétele. (Megegyezik a látható! "igaz utasítással.)
Példa
mutatteknőc
mutat látható
;igaz
animáció [K]Logikai érték, igaz, ha a teknőc automatikus animációja be van kapcsolva, különben hamis.
Példa
animáció! "igaz
mutat animáció
;igaz
animáció! "hamis
mutat animáció
;hamis
animáció! :l [U]A teknőc automatikus animációjának bekapcsolása, ha :l igaz, különben kikapcsolása.
Példa
animáció! "igaz
mutat animáció
;igaz
animáció! "hamis
mutat animáció
;hamis
képkocka [K]Az alak aktuális képkockájának sorszáma. (Vigyázat! Ez nem az animáció aktuális képkockája, hanem az alak "állapota". Az animáció aktuális képkockájáért lásd a képkockaelem kifejezést.)
A sorszámozás 1-től kezdődik.
Példa
animáció! "igaz
;Az alak 1. animációja
képkocka! 1
mutat képkocka
;1
;Az alak 2. animációja
képkocka! 2
mutat képkocka
;2
képkocka! :n [U]Az alak aktuális képkockája az :n. képkocka lesz. (Vigyázat! Ez nem az animáció aktuális képkockája, hanem az alak "állapota". Az animáció aktuális képkockájának átállításához lásd a képkockaelem! utasítást.)
A sorszámozás 1-től kezdődik.
Példa
animáció! "igaz
;Az alak 1. animációja
képkocka! 1
mutat képkocka
;1
;Az alak 2. animációja
képkocka! 2
mutat képkocka
;2
képkockaelem [K]Az animáció aktuális képkockájának sorszáma (az alak aktuális képkockájának aktuális elemének sorszáma).
A sorszámozás 1-től kezdődik.
Példa
képkockaelem! 2
mutat képkockaelem
;2
képkockaelem! 1
mutat képkockaelem
;1
képkockaelem! :n [U]A teknőc alakja az aktuális képkockájának :n. eleme lesz. (Vigyázat! ha az automatikus animáció be van kapcsolva, tovább fog ugrani a képkockához tartozó késleltetés után.)
A sorszámozás 1-től kezdődik.
Példa
képkockaelem! 2
mutat képkockaelem
;2
képkockaelem! 1
mutat képkockaelem
;1
képkockamód [K]Logikai érték, igaz ha a a teknőc aktuális alakját a megadott képkocka adja, hamis ha a teknőc irány befolyásolja.
Példa
képkockamód! "hamis
mutat képkockamód
;hamis
képkockamód! "igaz
mutat képkockamód
;igaz
képkockamód :l [U]A teknőc képkockamódjának átállítása: ha :l igaz, a teknőc aktuális alakját a megadott képkocka adja, ha hamis, akkor pedig a teknőc iránya befolyásolja.
Példa
képkockamód! "hamis
mutat képkockamód
;hamis
képkockamód! "igaz
mutat képkockamód
;igaz
lokálisérték :v :e | lokért :v :e [U]:v lokális változó beállítása :e értékre. Lokális változó az eljárás futásának befejeztéig elérhető.
Példa
lokálisérték "a 1
mutat :a
;1
lokálisérték "a "Szia!
mutat :a
;Szia!
globálisváltozó :v :e | globvál :v :e [U]:v globális változó beállítása :e értékre. Globális változó elérhető marad, amíg az ki nem lesz törölve manuálisan.
Példa
globálisváltozó "a 1
mutat :a
;1
globálisváltozó "a "Szia!
mutat :a
;Szia!
növel :v :n [U]:v globális vagy lokális változó növelése :n-nel. (:n opcionális, alapértelmezett értéke 1.)
Példa
lokálisérték "a 1
növel "a
mutat :a
;2
(növel "a 2)
mutat "a
;4
csökkent :v :n [U]:v globális vagy lokális változó csökkentése :n-nel. (:n opcionális, alapértelmezett értéke 1.)
Példa
lokálisérték "a 5
csökkent "a
mutat :a
;4
(csökkent "a 2)
mutat "a
;2
vanilyen? :v [K]Logikai érték, igaz, ha létezik :v nevű lokális vagy globális változó, különben hamis.
Példa
mutat vanilyen? "a
;hamis
lokálisérték "a 1
mutat vanilyen? "a
;igaz
értéke :v [K]:v lokális vagy globális változó értéke (lecserélhető a kettőspontos kifejezésre, akkor érdemes használni, ha a változó neve önmagában is egy változó értéke).
Példa
lokálisérték "a 1
mutat értéke "a
;1
lokálisérték "v "a
mutat értéke :v
;1
szó :sz1 :sz2 [K]:sz1 és :sz2 szövegek összefűzése.
Példa
lokálisérték "gyümölcs "alma
mutat szó :gyümölcs "fa
;almafa
mondat :l1 :l2 [K]:l1 és :l2 listák összefűzése
Példa
mutat mondat [t1 t2] [t3 t4]
;[t1 t2 t3 t4]
lista :e1 :e2 [K]Értéke egy kételemű lista, amelynek első eleme :e1, második eleme :e2.
Példa
mutat lista 10 20
;[10 20]
elsőnek :e :l [K]:e hozzáfűzése az :l listához vagy szöveghez első elemként. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat elsőnek 20 [30 40]
;[20 30 40]
mutat elsőnek "a "lma
;alma
utolsónak :e :l [K]:e hozzáfűzése az :l listához vagy szöveghez utolsó elemként. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat utolsónak 40 [20 30]
;[20 30 40]
mutat utolsónak "a "alm
;alma
elsőnélküli :l | en :l [K]:l lista vagy szöveg első elemének elhagyása (ha létezik). Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
lokálisérték "l [10 20]
lokálisérték "l elsőnélküli :l
mutat :l
;[20]
lokálisérték "l elsőnélküli :l
mutat :l
;[]
lokálisérték "l elsőnélküli :l
mutat :l
;[]
mutat elsőnélküli "alma
;lma
utolsónélküli :l | un :l [K]:l lista vagy szöveg utolsó elemének elhagyása (ha létezik). Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
lokálisérték "l [10 20]
lokálisérték "l utolsónélküli :l
mutat :l
;[10]
lokálisérték "l utolsónélküli :l
mutat :l
;[]
lokálisérték "l utolsónélküli :l
mutat :l
;[]
mutat utolsónélküli "alma
;alm
elemsorszámnélküli :n :l | elemsn :n :l [K]:l lista vagy szöveg :n. elemének elhagyása. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
A sorszámozás 1-től kezdődik.
Példa
mutat elemsorszámnélküli 2 [10 20 30]
;[10 30]
mutat elemsorszámnélküli 3 "alma
;ala
elemnélküli :e :l | elemn :e :l [K]:l listában vagy szövegben :e összes előfordulásának elhagyása. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat elemnélküli 0 [1 2 0 3 4 5 0 6]
;[1 2 3 4 5 6]
mutat elemnélküli "aa "almaafaalatt
;almflatt
elemtől :e :l [K]Lista vagy szöveg :l értékeivel :e első előfordulásától kezdve. Ha :e nincs:l`-ben, az érték üres lista vagy szöveg. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat elemtől 4 [10 20 30 40 50 60 50 40 30 20 10]
;[40 50 60 50 40 30 20 10]
mutat elemtől "l "|Helló világ!|
;lló világ!
csere :k :l :e [K]Lista vagy szöveg :l értékeivel, a :k. elem kicserélve :e-re. :k lehet intervallum: [kezd darab], ekkor :e is lista, kezd elemszámú elem :e 1. elemére lesz lecserélve, kezd+1 a 2. elemre, és így tovább egészen kezd+darab-1-ig. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
A sorszámozás 1-től kezdődik.
Példa
mutat csere 3 [10 20 0 40 50] 30
;[10 20 30 40 50]
mutat csere "2 "abma "l
;alma
mutat csere [2 3] [10 70 80 90 50] [20 30 40]
;[10 20 30 40 50]
mutat csere [2 2] "abca "lm
;alma
megfordít :l [K]:l lista vagy szöveg értékeinek sorrendjének megfordítása. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat megfordít [3 2 1]
;[1 2 3]
mutat megfordít "amla
;alma
összekever :l [K]:l lista vagy szöveg elemeinek összekeverése. Az új lista vagy szöveg a kifejezés értéke, nem módosítja az eredeti változót.
Példa
mutat összekever [1 2 3 4]
;[3 1 4 2] (vagy más véletlenszerű sorrend)
mutat összekever "alma
;aaml (vagy más véletlenszerű sorrend)
! :l [K]:l-ben lévő kettőspontos és zárójeles kifejezések kiértékelése. Az új lista a kifejezés értéke, nem módosítja az eredeti változót.
Példa
lokálisérték "a 2
mutat ! [1 :a (:a+1)]
;[1 2 3]
elemszám :l [K]:l lista vagy szöveg elemszáma.
Példa
mutat elemszám [10 20 30]
;3
mutat elemszám "alma
;4
első :l [K]:l lista vagy szöveg első eleme. (Megegyezik az elem 1 :l kifejezéssel.)
Példa
mutat első [10 20 30]
;10
mutat első "abcd
;a
utolsó :l [K]:l lista vagy szöveg utolsó eleme. (Megegyezik az elem (elemszám :l) :l kifejezéssel.)
Példa
mutat utolsó [10 20 30]
;30
mutat utolsó "abcd
;d
elem :k :l [K]:l lista vagy szöveg :k. eleme.
A sorszámozás 1-től indul.
Példa
mutat elem 2 [10 20 30]
;20
mutat elem 2 "abcd
;b
kiválaszt :l [K]:l lista vagy szöveg egy véletlenszerű eleme.
Példa
mutat kiválaszt [10 20 30 40 50]
;40 (vagy más véletlenszerű elem)
mutat kiválaszt "abcde
;b (vagy más véletlenszerű elem)
Infix műveletek: + - * / < <= = <> > >=
és :a :b [K]Logikai művelet, értéke igaz, ha :a és :b is igaz, különben hamis.
Példa
mutat és "igaz "igaz
;igaz
mutat és "igaz "hamis
;hamis
mutat és "hamis "igaz
;hamis
mutat és "hamis "hamis
;hamis
vagy :a :b [K]Logikai művelet, értéke igaz, ha :a és :b közül legalább az egyik igaz, különben hamis.
Példa
mutat vagy "igaz "igaz
;igaz
mutat vagy "igaz "hamis
;igaz
mutat vagy "hamis "igaz
;igaz
mutat vagy "hamis "hamis
;hamis
nem :l [K]Logikai művelet, értéke :l negáltja (igaznak hamis, hamisnak igaz).
Példa
mutat nem "igaz
;hamis
mutat nem "hamis
;igaz
egyenlő? :a :b | :a = :b [K]Logikai érték, igaz, ha :a és :b egyenlő, különben hamis.
Példa
mutat egyenlő? 1 2
;hamis
mutat egyenlő? [1 2 3] [1 2 3]
;igaz
mutat 1 = 1
;igaz
mutat [1 2] = [3 4]
;hamis
nagyobb? :a :b | :a > :b [K]Logikai érték, igaz, ha :a nagyobb, mint :b, különben hamis. Ha valamelyik paraméter szöveg, az összehasonlított értékek a paraméterek első karaktereinek ASCII-kódjai.
Példa
mutat nagyobb? 2 1
;igaz
mutat nagyobb? "alma 1
;igaz
mutat "alma > "körte
;hamis
mutat 1 > "alma
;hamis
kisebb? :a :b | :a < :b [K]Logikai érték, igaz, ha :a kisebb, mint :b, különben hamis. Ha valamelyik paraméter szöveg, az összehasonlított értékek a paraméterek első karaktereinek ASCII-kódjai.
Példa
mutat kisebb? 2 1
;hamis
mutat kisebb? "alma 1
;hamis
mutat "alma < "körte
;igaz
mutat 1 < "alma
;igaz
összeg :a :b | :a + :b [K]:a és :b összege.
Példa
mutat összeg 1 2
;3
mutat 3 + 4
;7
különbség :a :b | :a - :b [K]:a és :b különbsége.
Példa
mutat különbség 3 2
;1
mutat 1 - 3
;-2
szorzat :a :b | :a * :b [K]:a és :b szorzata.
Példa
mutat szorzat 3 5
;15
mutat 3 * -2
;-6
hányados :a :b | :a / :b [K]:a és :b hányadosa.
Példa
mutat hányados 24 6
;4
mutat 15/-10
;-1.5
egészhányados :a :b | eh :a :b [K]:a és :b egészosztásának hányadosa.
Példa
mutat egészhányados 37 7
;5
maradék :a :b | mod :a :b [K]:a és :b egészosztásának maradéka.
Példa
mutat maradék 37 7
;2
mutat maradék 37 -7
;-5
mutat maradék -37 -7
;-2
mutat maradék -37 7
;5
egészrész :n [K]:n egészrésze.
Példa
mutat egészrész 3.5
;3
mutat egészrész -4.91
;-4
kerekít :n [K]:n egészre kerekítve.
Példa
mutat kerekít 4.23
;4
mutat kerekít 5.5
;6
mutat kerekít -6.5
;-7
absz :n [K]:n abszolútértéke.
Példa
mutat absz 3.2
;3.2
mutat absz -4.7
;4.7
gyök :n [K]:n négyzetgyöke.
Példa
mutat gyök 100
;10
hatvány :n [K]Természetes alapú hatvány értéke (e:n)
Példa
mutat hatvány 3
;20.0855
ln :n [K]:n természetes alapú (e-alapú) logaritmusa.
Példa
mutat ln 20.0855
;3
mutat ln hatvány 5
;5
sin :a [K]:a szög (fok) szinusza.
Példa
mutat sin 0
;0
mutat sin 90
;1
cos :a [K]:a szög (fok) koszinusza.
Példa
mutat cos 0
;1
mutat cos 180
;-1
tan :a | tg :a [K]:a szög (fok) tangense. Nincs definiálva 90˚+k*180˚-ra (k egész szám).
Példa
mutat tan 0
;0
mutat tan 45
;1
arkusztangens :t | arctg :t [K]Az a szög (fokban), amelynek tangense :t. Értékkészlete: [-90, 90].
Példa
mutat arkusztangens 0
;0
mutat arkusztangens 1
;45
ak = ek*ln(a)
logab = ln(b)/ln(a)
n√a = a1/n
mutat :sz | kiír :sz [U]:sz kiírása a kimenetre.
Példa
mutat "Szia!
;Szia!
eredmény :e [U]:e visszaadása visszatérési értékként (az ezutáni utasítások nem lesznek végrehajtva).
Példa
eljárás plusz1 :a
eredmény :a + 1
vége
;----
mutat plusz1 4
;5
stop [U]Az aktuálisan futó eljárás megállítása.
Példa
amíg ["igaz]
[
előre 1
ha (véletlenszám 5)=3
[
stop
]
]
véletlenszám :n [K]Értéke egy véletlenszerű egész szám 0 és :n-1 között, ha :n pozitív, :n+1 és 0 között, ha :n negatív.
Véletlen :v szám :a és :b között (:a ≤ :v ≤ :b): :a + véletlenszám (:b - :a + 1)
Példa
mutat véletlenszám 5
;3 (vagy más véletlenszerű szám 0 és 4 között)
mutat véletlenszám -5
;-3 (vagy más véletlenszerű szám -4 és 0 között)