Rajzolás (I, II, III, IV) | |||||
---|---|---|---|---|---|
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
elore :m | e | U | m | szám | A teknőc :m lépésnyit lép előre. |
hátra :m | h | U | m | szám | A teknőc :m lépésnyit lép hátra. |
jobbra :a | j | U | a | szám | A teknőc :a foknyit fordul jobbra. |
balra :a | b | U | a | szám | A teknőc :a foknyit fordul balra. |
irány | K | Értéke a teknőc jelenlegi fordulási szöge (fok). 0 - "felfelé", óramutató járásával megegyező irányba növekszik | |||
irány! :d | U | d | szám | A teknőc jelenlegi fordulási szöge :d fok lesz. 0 - "felfelé", óramutató járásával megegyező irányba növekszik | |
poz | K | Értéke a teknőc jelnlegi pozíciója listaként: [x y] | |||
poz! :p | U | p | számlista | A teknőc a megadott :p pozícióra ugrik (a két pont közt vonalat rajzolva, ha a toll lent van). :p két elemű: [x y] |
|
xpoz | K | Értéke az aktuális X pozíció. | |||
xpoz! :x | U | x | szám | A teknőc átugrik az X tengelyen a megadott :x koordinátára (Y tengelyen marad). A két pont között vonalat húz, ha a toll lent van. | |
ypoz | K | Értéke az aktuális Y pozíció. | |||
ypoz! :y | U | y | szám | A teknőc átugrik az Y tengelyen a megadott :y koordinátára (X tengelyen marad). A két pont között vonalat húz, ha a toll lent van. | |
törölképernyo | törölkép | U | A teknőc törli a rajzlapot, majd a kezdőpontra (0 0) ugrik (nem húz vonalat). | ||
haza | U | A teknőc a kezdőpontra (0 0) ugrik (nem húz vonalat). | |||
címke :sz | U | sz | szöveg | A teknőc kirajzolja a megadott :sz szöveget. Kezdő- és végpozíció: bal felső sarok |
|
címke2 :sz | U | sz | szöveg | A teknőc kirajzolja a megadott :sz szöveget. Kezdőpozíció: bal felső sarok Végpozíció: jobb felső sarok |
|
lenyomat | U | A teknőc készít egy lenyomatot saját magáról. | |||
tölt | U | A teknőc kitölti a tatrományt az aktuális töltőszínnel. | |||
kör :d | U | d | szám | A teknőc rajzol egy kört, amelynek középpontja az aktuális pozíció, átmérője :d. | |
töltöttkör :d | U | d | szám | A teknőc rajzol egy az aktuális töltőszínnel kitöltött kört, amelynek középpontja az aktuális pozíció, átmérője :d. | |
pontméret :d | U | d | szám | A teknőc rajzol egy az aktuális tollszínnel kitöltött kört, amelynek középpontja az aktuális pozíció, átmérője :d. | |
ellipszis :el | U | el | számlista | A teknőc rajzol egy ellipszist a megadott lista alapján, melynek középpontja az aktuális pozíció. :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. |
|
töltöttellipszis :el | U | el | számlista | 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 az aktuális pozíció. :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. |
|
sokszög :szl | U | szl | számlista | 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áratlan sorszámú elemeknél előrehalad a megadott értékkel. Páros sorszámú elemeknél jobbra fordul a megadott értékkel. A végén visszaugrik a kezdőpozícióra. Például egy 10 és 20 oldalhosszúságú téglalap listája: [10 90 20 90 10] |
|
Toll (I, II, III, IV) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
toll | K | A toll aktuális állapota (szöveg). Lehetséges értékei az állapotnak megfelelően: "tollatle "tollatfel "tollradír "tollváltó |
|||
tollatle | tl | U | A toll "tollatle állapotba kerül. A teknőc rajzol mozgás közben. | ||
tollatfel | tf | U | A toll "tollatfel állapotba kerül. A teknőc nem rajzol mozgás közben. | ||
tollradír | trd | U | A toll "tollradír állapotba kerül. A teknőc kiradírozza a rajzolt pontokat, ahol halad. | ||
tollszín | tsz | K | Értéke a toll aktuális színe (szöveg vagy RGB-lista). | ||
tollszín! :sz | tsz! | U | sz | szöveg vagy RGB-lista | Átállítja a toll aktuális színét és töltőszínét :sz-re. |
töltoszín! :sz | tlsz! | U | sz | szöveg vagy RGB-lista | Átállítja a toll töltőszínét :sz-re. |
tollvastagság | tv | K | Értéke a toll aktuális vastagsága. | ||
tollvastagság! :v | tv! | U | v | szám | Átállítja a toll aktuális vastagságát :v-re. |
pontszín | K | Értéke annak a pontnak a színe, amelyen a teknőc áll. | |||
Ciklusok (I, II, III, IV) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
ismétlés :n :ul | ism | U | n | szám | :ul végrehajtása :n-szer |
ul | U-lista | ||||
ciklus :v :int :ul | cikl | U | v | szöveg | :ul 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 alapé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. |
int | számlista | ||||
ul | U-lista | ||||
ciklusegyenként :v :l :ul | ciklegy | U | v | szöveg | :ul végrehajtása :l minden elemére. Az aktuális elem :v nevű változóban van tárolva. |
l | lista | ||||
ul | U-lista | ||||
amíg :k :ul | U | k | kifejezés | :ul folyamatos végrehajtása amíg :k értéke igaz. | |
ul | U-lista | ||||
Elágazások (I, II, III, IV) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
ha :felt :ul | U | felt | logikai | :ul végrehajtása ha :felt igaz. | |
ul | U-lista | ||||
hakülönben :felt :uli :ulh | hak | U | felt | logikai | :uli végrehajtása ha :felt igaz, különben :ulh végrehajtása. |
uli | U-lista | ||||
ulh | U-lista | ||||
elágazás :e :l | U/K | e | bármi | Az első :e-nek megfelelő eset végrehajtása/kiértékelése :l-ben. :l felépítése: -Minden eset egy azonosítóból (1 vagy több szó, :e megfeleltetéséhez) és egy U-listából vagy kifejezésből áll. -Ezek :l-ben egymás után következnek. -Az esetek után még egy U-lista vagy kifejezés a "különben" eset (opcionális). Minta: egyjegyű prímek esetlistája: [2 [mutat "|páros prím|] 3 5 7 [mutat "|páratlan prím|] [mutat "|nem prím|]] |
|
l | lista | ||||
Több teknőc irányítása (I, II, III) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
aktív :t | U | t | szöveg vagy szöveglista | 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. | |
kér :t :sz | U/K | t | szöveg vagy szöveglista | :ul végrehajtása vagy kiértékelése :t teknőccel vagy teknőcökkel (párhuzamosan). | |
ul | szöveg, kifejezés, vagy U-lista | ||||
kéregyenként :t :sz | U | t | szöveg vagy szöveglista | :ul végrehajtása :t teknőccel vagy teknőcökkel (egymás után a megadott sorrendben). | |
ul | szöveg vagy U-lista | ||||
végrehajt :sz | U/K | sz | szöveg, kifejezés, vagy U-lista | :sz végrehajtása vagy kiértékelése az aktív teknőccel vagy teknőcökkel (párhuzamosan). | |
egyenként :sz | U | sz | szöveg vagy U-lista | :sz végrehajtása az aktív teknőccel vagy teknőcökkel (egymás után a megadott sorrendben). | |
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. | |||
mindenteknoc | mindtek | K | Értéke az aktív lapon lévő teknőcök nevének listája. | ||
Animációk (I, II, III) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
várj :n | U | n | szám | Futás szüneteltetése :n ezredmásodpercre. | |
alakméret | K | Az aktív teknőc mérete. 1=alapméret, ha X és Y nem egyezik meg, az érték egy lista: [X Y] | |||
alakméret! :m | U | m | szám vagy számlista | Az aktív teknőc mérete. 1=alapméret, ha :m egy szám, akkor X és Y is :m lesz, ha :m lista: [X Y] | |
látható | K | Logikai érték, igaz, ha a teknőc látható, különben hamis. | |||
látható! :l | U | l | logikai | Ha :l igaz, a teknőc látható lesz, különben el lesz rejtve. | |
elrejtteknoc | rejttek | U | Teknőc elrejtése. | ||
mutatteknoc | mutattek | U | Teknőc láthatóvá tétele. | ||
animáció | K | Logikai érték, igaz, ha a teknőc automatikus animációja be van kapcsolva, különben hamis. | |||
animáció! :l | U | l | logikai | A teknőc automatikus animációjának bekapcsolása, ha :l igaz, különben kikapcsolása. | |
képkocka | K | Az aktuális képkockának sorszáma. | |||
képkocka! :n | U | n | szám | Az aktuális képkocka az :n. képkocka lesz. | |
képkockaelem | K | Az aktuális képkocka aktuális elemének sorszáma. | |||
képkockaelem! :n | U | n | szám | A teknőc alakja az aktuális képkocka :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. |
|
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. | |||
képkockamód! :l | U | l | logikai | A teknőc képkockamódjának átállítása: igaz, ha a a teknőc aktuális alakját a megadott képkocka adja, hamis ha a teknőc irány befolyásolja. |
|
Változók (III, IV) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
lokálisérték :v :e | lokért | U | v | szöveg | :v lokális változó beállítása :e értékre. |
e | bármi | ||||
globálisváltoztó :v :e | globvál | U | v | szöveg | :v globális változó beállítása :e értékre. |
e | bármi | ||||
növel :v :n | U | v | szöveg | :v globális vagy lokális változó növelése :n-nel. (:n alapértelmezett értéke 1.) | |
n | szám (opcionális) | ||||
csökkent :v :n | U | v | szöveg | :v globális vagy lokális változó csökkentése :n-nel. (:n alapértelmezett értéke 1.) | |
n | szám (opcionális) | ||||
vanilyen? :v | K | v | szöveg | Logikai érték, igaz, ha létezik :v nevű lokális vagy globális változó, különben hamis. | |
értéke :v | K | v | szöveg | :v lokális vagy globális változó értéke (lecserélhető a kettőspontos kifejezésre) | |
Lista- és szövegkezelés (IV) | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
szó :sz1 :sz2 | K | sz1 | szöveg | :sz1 és :sz2 összefűzése. | |
sz2 | szöveg | ||||
mondat :l1 :l2 | K | l1 | lista | :l1 és :l2 összefűzése. | |
l2 | lista | ||||
lista :e1 :e2 | K | e1 | bármi | Értéke egy kételemű lista, melynek első eleme :e1, második eleme :e2. | |
e2 | bármi | ||||
elsonek :e :l | K | e | bármi | :e hozzáfűzése :l-hez első elemként. | |
l | lista | ||||
utolsónak :e :l | K | e | bármi | :e hozzáfűzése :l-hez utolsó elemként. | |
l | lista | ||||
elsonélküli :l | en | K | l | lista | Lista :l elemeivel az elsőt (ha létezik) kihagyva. |
utolsónélküli :l | un | K | l | lista | Lista :l elemeivel az utolsót (ha létezik) kihagyva. |
elemsorszámnélküli :n :l | elemsn | K | n | szám | Lista :l elemeivel az :n. elemet kihagyva. |
l | lista | ||||
elemnélküli :e :l | elemn | K | e | bármi | Lista :l értékeivel :e minden előfordulását kihagyva. |
l | lista | ||||
elemtol :e :l | K | e | bármi | Lista :l értékeivel :e első előfordulásától kezdve. Ha :e nincs :l-ben, az érték üres lista. | |
l | lista | ||||
csere :k :l :e | K | k | szám vagy számlista | Lista :l értékeivel, :k. elem kicserélve :e-re. :k lehet intervallum: [kezd darab]. Ilyenkor :e is lista, kezd elemszámú elem :e 1. elemére lesz lecserélve, kezd+1 a 2. elemre, stb. |
|
l | lista | ||||
e | bármi | ||||
megfordít :l | K | l | lista | Lista :l értékeivel fordított sorrendben. | |
összekever :l | K | l | lista | Lista :l értékeivel véletlenszerű sorrendben. | |
! :l | K | l | lista | Lista :l értékeivel, a változó kifejezések kiértékelésével. Pl.: ! [1 :a 3] -> [1 2 3] (ha :a értéke 2) | |
elemszám :l | K | l | lista | Az :l lista elemszáma. | |
elso :l | K | l | lista | :l lista első eleme | |
utolsó :l | K | l | lista | :l lista utolsó eleme | |
elem :k :l | K | k | szám vagy számlista | :l lista :k. eleme. :k lehet intervallum: [kezd darab]. Ilyenkor az érték :l megfelelő részlistája. | |
l | lista | ||||
kiválaszt :l | K | l | lista | :l lista egy véletlenszerű eleme | |
Műveletek Infix műveletek: + - * / < <= <> = > >= |
|||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
és :a :b | K | a | logikai | Logikai művelet, értéke igaz, ha :a és :b is igaz, különben hamis. | |
b | logikai | ||||
vagy :a :b | K | a | logikai | Logikai művelet, értéke igaz, ha :a és :b közül legalább az egyik igaz, különben hamis. | |
b | logikai | ||||
nem :l | K | l | logikai | Logikai művelet, értéke :l negáltja (igaznak hamis, hamisnak igaz). | |
egyenlo? :a :b | = (infix) | K | a | bármi | Logikai érték, igaz, ha :a és :b egyenlő, különben hamis. |
b | bármi | ||||
nagyobb? :a :b | > (infix) | K | a | szám vagy szöveg | 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. |
b | szám vagy szöveg | ||||
kisebb? :a :b | < (infix) | K | a | szám vagy szöveg | 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. |
b | szám vagy szöveg | ||||
összeg :a :b | + (infix) | K | a | szám | :a és :b összege. |
b | szám | ||||
különbség :a :b | - (infix) | K | a | szám | :a és :b különbsége. |
b | szám | ||||
szorzat :a :b | * (infix) | K | a | szám | :a és :b szorzata. |
b | szám | ||||
hányados :a :b | / (infix) | K | a | szám | :a és :b hányadosa. |
b | szám | ||||
egészhányados :a :b | eh | K | a | szám | :a és :b egészosztásának hányadosa. |
b | szám | ||||
maradék :a :b | mod | K | a | szám | :a és :b egészosztásának maradéka. Előjele megegyezik :a előjelével. |
b | szám | ||||
egészrész :n | int | K | n | szám | :n egészrésze. |
kerekít :n | K | n | szám | :n egészre kerekítve. | |
absz :n | K | n | szám | :n abszolútértéke. | |
gyök :n | K | n | szám | :n négyzetgyöke. | |
hatvány :n | K | n | szám | Természetes alapú hatvány értéke (e:n). | |
ln :n | K | n | szám | :n természetes alapú (e alapú) logaritmusa. | |
sin :a | K | a | szám | :a szög (fok) szinusza. | |
cos :a | K | a | szám | :a szög (fok) koszinusza. | |
tan :a | tg | K | a | szám | :a szög (fok) tangense. Nincs definiálva 90 + k*180-ra (k egész szám). |
arkusztangens :t | arctg | K | t | szám | Az a szög (fokban), amelynek tangense :t. Értékkészlete: [-90, 90]. |
Egyéb | |||||
Név | Rövidítés | Típus | Paraméterek | Leírás | |
Név | Típus | ||||
mutat :sz | U | sz | szöveg | :sz szöveg kiírása a kimenetre. | |
eredmény :e | U | e | bármi | :e visszaadása visszatérési értékként (az ezutáni utasítások nem lesznek végrehajtva). | |
stop | U | A futó eljárás megállítása. | |||
véletlenszám :n | vszám | K | n | szám | É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. |