Contents
Index 🔎︎

# LibreLogo

LibreLogo on lihtne lokaliseeritud Logo-laadne programmeerimiskeskkond, milles saab nn kilpkonna-vektorgraafikaga õpetada arvutit (programmeerimist ja tekstitöötlust), kompaktkirjastamist (DTP) ja graafilist disaini. Vaata lähemalt: http://www.numbertext.org/logo/librelogo.pdf.

## LibreLogo tööriistariba

The LibreLogo toolbar (View - Toolbars - Logo) contains turtle moving, program start, stop, home, clear screen, program editor/syntax highlighting/translating icons and an input bar (command line).

## Kilpkonna liigutamise ikoonid

Need on samatoimelised Logo käskudega "EDASI 10", "TAGASI 10", "VASAKULE 15", "PAREMALE 15". Klõpsates mõnda neist ikoonidest saab kilpkonn fookuse ja lehekülg keritakse selle asukohani.

## Käivita Logo programm

Klõps ikoonil "Käivita Logo programm" alustab Writeri dokumendi (või valitud teksti) täitmist LibreLogo programmina. Tühja dokumendi puhul sisestatakse ja käivitatakse näidisprogramm.

Klõps ikoonil "Peata" lõpetab programmi täitmise.

## Algusesse

Klõps ikoonil "Algusesse" lähtestab kilpkonna asukoha ja seaded.

## Puhasta ekraan

Klõps nupul "Puhasta ekraan" eemaldab dokumendist joonistusobjektid.

## Programmiredaktor/süntaksi esiletõstmine/tõlkimine

The “magic wand” icon sets 2-page layout for program editing, expands and converts to uppercase the abbreviated, lowercase Logo commands in the Writer document. Change the language of the document (Tools - Options - Language Settings - Languages - Western) and click on this icon to translate the Logo program to the selected language.

## Käsurida

Käsureal oleva käsu täideviimiseks vajuta seal Enterit. Programmi peatamiseks kasuta ikooni "Peata".

Käsurea kordamiseks hoia all Enterit, näiteks järgmise käsujadaga:

     EDASI 200 VASAKULE 89

Käsurea lähtestamiseks klõpsa sellel kolm korda või vajuta eelmiste käskude märgistamiseks Ctrl+A ja kirjuta uued käsud.

## Graphical user interface of basic turtle settings

Turtle shape of LibreLogo is a normal fixed size drawing object. You can positionate and rotate it on standard way, too, using the mouse and the Rotate icon of the Drawing Object Properties toolbar. Modify Line Width, Line Color and Area Color settings of the turtle shape to set PENSIZE, PENCOLOR and FILLCOLOR attributes of LibreLogo.

## Programmi redigeerimine

LibreLogo drawings and programs use the same Writer document. The LibreLogo canvas is on the first page of the Writer document. You can insert a page break before the LibreLogo programs and set page zoom using the “magic wand” icon of the Logo toolbar, also change the font size for a comfortable 2-page layout for LibreLogo programming: left (first) page is the canvas, right (second) page is the LibreLogo program editor.

# LibreLogo programmeerimiskeel

LibreLogo is an easily localizable, Logo-like programming language, localized in several languages by LibreOffice native language communities. It is back-compatible with the older Logo systems in the case of the simple Logo programs used in education, eg.

     FUNKTSIOON kolmnurk :suurus
     KORDA 3 [
       EDASI :suurus
       VASAKULE 120
     ]
     LÕPP

     kolmnurk 10 kolmnurk 100 kolmnurk 200

## Erinevused Logo programmeerimiskeelest

- Loendi elemendid eraldatakse komaga: ASUKOHT [0, 0]

- Programmiplokid ja loendid on teistsugused

- - Programmiplokid tuleb mõlemal pool sulge tühiku või reavahetusega eraldada: KORDA 10 [ EDASI 10 VASAKULE 36 ]

  - Loendid tuleb tühikuga eraldada üksnes väljaspool sulge: ASUKOHT [0, 0], mitte aga ASUKOHT [ 0, 0 ]

- Üherealisi funktsioonideklaratsioone ei toetata (FUNKTSIOON ja LÕPP peavad olema eraldi real).

## Muud LibreLogo võimalused

- Koolon pole muutujate nimede ees kohustuslik.

       FUNKTSIOON kolmnurk suurus
         KORDA 3 [ EDASI suurus VASAKULE 120 ]
       LÕPP

- Stringe saab kirjutada ka tüpograafiliselt korrektsete märkide ja Pythoni süntaksi abil.

       KIRJUTA "sõna ; Logo originaalsüntaks
       KIRJUTA „Suvaline tekst.” ; tüpograafiliste jutumärkidega, Writer
       KIRJUTA 'Suvaline tekst.' ; Pythoni süntaks

- Pythoni loendite ja stringide käsitlemine

       KIRJUTA „tekst”[2] ; kirjuta „k”
       KIRJUTA „tekst”[1:3] ; kirjuta „ek”

- Python-like FOR loop

- Pythoni-laadne muutujate deklaratsioon:

       x = 15
       KIRJUTA x

- Pole eraldi päringufunktsioone:

       KIRJUTA TÄITEVÄRV
       p = ASUKOHT
       KIRJUTA p
       KORDA 10 [ ASUKOHT MISTAHES ASUKOHT p ]

- Alternatiivne sulukasutus funktsioonide väljakutsumisel

       FUNKTSIOON viisnurk suurus värv
       TÄITEVÄRV värv
       KORDA 5 [ VASAKULE 72 EDASI suurus PAREMALE 144 EDASI suurus ]
       TÄIDA
       LÕPP

       viisnurk 100 „punane”
       viisnurk (100, „roheline”)
       viisnurk(100, „sinine”)

# LibreLogo käsud

## Põhisüntaks

### Tõstutundlikkus

Käsud ja värvikonstandid suur- ja väiketähti ei erista:

     KIRJUTA „Tere, maailm!”
     kirjuta „Tere jälle, maailm!”

Muutujate nimed eristavad:

     a = 5
     A = 7
     KIRJUTA a
     KIRJUTA A

### Programmiread

LibreLogo programmi read on lõigud LibreOffice Writeri dokumendis. Üks programmirida võib sisaldada mitut käsku:

     KIRJUTA „Tere, maailm!” KIRJUTA „LibreLogo”

### Kommentaarid

Semikooloniga algavad read või reaosad kommenteeritakse rea (lõigu) lõpuni välja:

     ; kommentaarid
     KIRJUTA 5 * 5 ; kommentaarid

### Programmiridade murdmine mitmeks lõiguks

Rea lõppu lisatud tildega saab programmirea murda mitmeks lõiguks:

     KIRJUTA „See on väga pikk ” + ~
           „hoiatusteade”

## Kilpkonna liigutamine

### EDASI (e)

     EDASI 10 ; liigub 10 punkti jagu edasi (1 pt = 1/72 tolli)
     EDASI 10pt ; sama
     EDASI 0,5cm ; liigub 0,5 cm edasi
     EDASI 1" ; liigub 1 tolli (2,54 cm) edasi
     EDASI 1″ ; sama
     E 1mm
     E 1cm

### TAGASI (t)

     TAGASI 10; liigub 10 punkti tagasi

### VASAKULE (v)

     VASAKULE 90 ; keerab 90 kraadi vastupäeva
     VASAKULE 90° ; sama
     V 3t ; sama (kella tunniosuti järgi)
     V mistahes ; teeb juhusliku suurusega pöörde

### PAREMALE (p)

     PAREMALE 90 ; keerab 90 kraadi päripäeva

### PLIIATS_ÜLES (pü)

     PLIIATS_ÜLES ; kilpkonn liigub seejärel ilma joonistamata

### PLIIATS_ALLA (pa)

     PLIIATS_ALLA ; kilpkonn liigub seejärel joonistades

### ASUKOHT (koht)

     ASUKOHT [0, 0] ; keerab ja liigub ülemisse vasakusse nurka
     ASUKOHT LEHE_SUURUS ; keerab ja liigub alumisse paremasse nurka
     ASUKOHT [LEHE_SUURUS[0], 0] ; keerab ja liigub ülemisse paremasse nurka
     ASUKOHT MISTAHES ; keerab ja liigub juhuslikku kohta

### SUUND (s)

     SUUND 0 ; keerab põhjasuunda
     SUUND 12t ; sama (vt ka üles)
     SUUND [0, 0] ; keerab vasakpoolse ülanurga poole
     SUUND MISTAHES ; keerab suvalisse suunda

## Muud kilpkonnakäsud

### PEIDA (pk)

     PEIDA ; peidab kilpkonna (kuni antakse käsk näita)

### NÄITA (nk)

     NÄITA ; näitab kilpkonna

### ALGUSESSE

     HOME ; reset initial turtle position

### PUHASTA_EKRAAN (pe)

     PUHASTA_EKRAAN ; eemaldab dokumendist joonistusobjektid

### TÄIDA ja SULGE

     FILL ; close and fill the actual line shape or points
     CLOSE ; close the actual line shape or join the actual points

Example: filling a regular triangle:

     FORWARD 50 LEFT 120 FORWARD 50 FILL

Example: drawing a regular triangle:

     FORWARD 50 LEFT 120 FORWARD 50 CLOSE

## Pliiatsi seaded

### PLIIATSI_JÄMEDUS / JOONE_LAIUS (pj, jl)

     PLIIATSI_JÄMEDUS 100 ; määrab joone laiuseks 100 punkti
     PLIIATSI_JÄMEDUS MISTAHES ; sama, mis PLIIATSI_JÄMEDUS JUHUSLIK 10

### PLIIATSI_VÄRV / JOONE_VÄRV (pv, jv)

     PLIIATSI_VÄRV „punane” ; määrab punase värvi (nime järgi, vt värvikonstante)
     PLIIATSI_VÄRV [255, 255, 0] ; määrab kollase värvi (RGB-loend)
     PLIIATSI_VÄRV 0xffff00 ; määrab kollase värvi (16ndkood)
     PLIIATSI_VÄRV 0 ; määrab musta värvi (0x000000)
     PLIIATSI_VÄRV MISTAHES ; juhuslik värv
     PLIIATSI_VÄRV [5] ; määrab punase värvi (identifikaatori järgi, vt värvikonstante)
     PLIIATSI_VÄRV „nähtamatu” ; nähtamatu värv kujunditele, mil pole nähtavat piirjoont
     PLIIATSI_VÄRV “~punane” ; määrab suvalise punaka värvi

### PLIIATSI_LÄBIPAISTVUS

     PENTRANSPARENCY 80 ; set the transparency of the actual pen color to 80%

### JOONEOTS

     PENCAP “none” ; without extra line end (default)
     PENCAP “round” ; rounded line end
     PENCAP “square” ; square line end

### PLIIATSIÜHENDUS / JOONEÜHENDUS

     PENJOINT “rounded” ; rounded line joint (default)
     PENJOINT “miter” ; sharp line joint
     PENJOINT “bevel” ; bevel line joint
     PENJOINT “none” ; without line joint

### PLIIATSI_STIIL

     PENSTYLE “solid” ; solid line (default)
     PENSTYLE “dotted” ; dotted line
     PENSTYLE “dashed” ; dashed line

     ; custom dot–dash pattern specified by a list with the following arguments:
     ; – number of the neighbouring dots
     ; – length of a dot
     ; – number of the neighbouring dashes
     ; – length of a dash
     ; – distance of the dots/dashes
     ; – type (optional):
     ;   0 = dots are rectangles (default)
     ;   2 = dots are squares (lengths and distances are relative to the pensize)

     PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––

## Täitmise seaded

### TÄITEVÄRV (tv)

     FILLCOLOR “blue” ; fill with blue color, see also PENCOLOR
     FILLCOLOR “invisible” CIRCLE 10 ; unfilled circle
     FILLCOLOR [“blue”, “red”] ; gradient between red and blue
     FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; between white and orange
     FILLCOLOR [“blue”, “red”, 1, 0, 0] ; set axial gradient (with the required rotation and border settings), possible values: 0-5 = linear, axial, radial, elliptical, square and rectangle gradients
     FILLCOLOR [“red”, “blue”, 0, 90, 20] ; linear with 20% border, rotated with 90 degrees from the actual heading of the turtle
     FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; from 200% to 50% intensity
     FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; radial gradient with random colors and 50-50% horizontal and vertical positions of the center

### TÄITE_LÄBIPAISTVUS (tlp)

     FILLTRANSPARENCY 80 ; set the transparency of the actual fill color to 80%
     FILLTRANSPARENCY [80] ; set linear transparency gradient from 80% to 0%
     FILLTRANSPARENCY [80, 20] ; set linear transparency gradient from 80% to 20%
     FILLTRANSPARENCY [80, 20, 1, 90] ; set axial transparency gradient rotated with 90 degrees from the actual heading of the turtle
     FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; set radial transparency gradient from outer 80% to inner 20% transparency with 20% border and with 50-50% horizontal and vertical positions of the center

### TÄITESTIIL

     FILLSTYLE 0 ; fill without hatches (default)
     FILLSTYLE 1 ; black single hatches (horizontal)
     FILLSTYLE 2 ; black single hatches (45 degrees)
     FILLSTYLE 3 ; black single hatches (-45 degrees)
     FILLSTYLE 4 ; black single hatches (vertical)
     FILLSTYLE 5 ; red crossed hatches (45 degrees)
     FILLSTYLE 6 ; red crossed hatches (0 degrees)
     FILLSTYLE 7 ; blue crossed hatches (45 degrees)
     FILLSTYLE 8 ; blue crossed hatches (0 degrees)
     FILLSTYLE 9 ; blue triple crossed
     FILLSTYLE 10 ; black wide single hatches (45 degrees)

     ; custom hatches specified by a list with the following arguments:
     ; – style (1 = single, 2 = double, 3 = triple hatching)
     ; – color
     ; – distance
     ; – degree

     FILLSTYLE [2, “green”, 3pt, 15°] ; green crossed hatches (15 degrees)

## Objektide joonistamine

### RING

     RING 100 ; joonistab ringi (diameeter = 100 punkti)

### ELLIPS

     ELLIPSE [50, 100] ; draw an ellipse with 50 and 100 diameters
     ELLIPSE [50, 100, 2h, 12h] ; draw an elliptical sector (from 2h clock position to 12h)
     ELLIPSE [50, 100, 2h, 12h, 2]  ; draw an elliptical segment
     ELLIPSE [50, 100, 2h, 12h, 3]  ; draw an elliptical arc

### RUUT

     RUUT 100 ; joonistab ruudu (küljepikkus = 100 punkti)

### RISTKÜLIK

     RECTANGLE [50, 100] ; draw a rectangle shape (50×100pt)
     RECTANGLE [50, 100, 10] ; draw a rectangle with rounded corners

### PUNKT

     PUNKT ; teeb pliiatsi suurusele ja värvile vastava punkti

CLOSE can join the last points, FILL can fill the shape defined by points. For example, it’s easy to draw a “flat” star starting from its center:

     PENUP
     REPEAT 5 [
       FORWARD 80
       POINT
       BACK 80
       RIGHT 36
       FORWARD 50
       POINT
       BACK 50
       RIGHT 120
     ] FILL

### SILT

     SILT „tekst” ; kirjutab teksti kilpkonna asukohta
     SILT 'tekst' ; sama
     SILT "text ; sama, aga ainult üksikute sõnade jaoks

### TEKST

     RING 10 TEKST „tekst” ; määrab aktiivse joonistusobjekti teksti

## Fondiseaded

### FONDI_VÄRV / TEKSTI_VÄRV

     FONDI_VÄRV „roheline” ; määrab fondi värvi

### FONDI_PEREKOND

     FONTFAMILY “Linux Libertine G” ; set font (family)
     FONTFAMILY “Linux Libertine G:smcp=1” ; set also font feature (small caps)
     FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; small caps + old figures

### FONDI_SUURUS

     FONDI_SUURUS 12 ; määrab 12-punktise kirjasuuruse

### FONDI_PAKSUS

     FONDI_PAKSUS „paks” ; määrab paksu (rasvase) fondi
     FONDI_PAKSUS „keskmine” ; määrab tavalise fondi

### FONDI_STIIL

     FONDI_STIIL „kaldkiri” ; määrab kaldkirja
     FONDI_STIIL „tavaline” ; määrab tavalise kirja

## PILT

PILT on

- kujundite rühmitamiseks;

- starting new line shapes;

- saving SVG images and SVG/SMIL animations;

- keeping the consistency of positions and line shapes at the left border.

### Kujundite rühmitamine

     ; PILT [ LibreLogo_käsud ]
     PILT [ EDASI 100 RING 100 ] ; puulaadne rühmitatud kujund

See also “Group” in LibreOffice Writer Help.

     TO tree location
       PENUP POSITION location HEADING 0 PENDOWN
       PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
     END

     PICTURE [ tree [230, 400] tree [300, 400] ] ; grouped shapes in a grouped shape

### Starting new line shapes

     PICTURE ; start a new line shape
     FORWARD 10 PICTURE FORWARD 10 ; two line shapes

### Saving SVG images

     PICTURE “example.svg” [ CIRCLE 5 ] ; save the picture as an SVG image file in the user folder
     PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; as above, with a relative path
     PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; absolute path for Unix/Linux
     PICTURE “C:\example.svg” [ CIRCLE 5 ] ; absolute path for Windows

### Saving SVG/SMIL animations (drawings with SLEEP commands)

     PICTURE “animation.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; save as an SVG/SMIL animation (see also SLEEP)
     PICTURE “animation2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; as above, but using SLEEP after the last object will result looping: after 2 seconds the SVG animation restarts in SMIL-conformant browsers

### Consistency at the left border

Use PICTURE to keep the consistency of positions and line shapes at the left border of Writer:

     PILT [ RING 20 ASUKOHT [-100, 100] RING 20 ]

## Ahelad

### KORDA

     ; KORDA arv [ käsud ]

     KORDA 10 [ EDASI 10 VASAKULE 45 RING 10 ] ; kordab 10 korda

     ; arv pole kohustuslik

     KORDA [ ASUKOHT MISTAHES ] ; lõputu ahel

### KORDUSE_NUMBER

Loop variable (also in the FOR and WHILE loops).

     KORDA 100 [ EDASI KODUSE_NUMBER VASAKULE 90 ]

### IGALE_ELEMENDILE ... HULGAS

Loop for the list elements:

     IGALE_ELEMENDILE i HULGAS [1, 5, 7, 9, 11] [
       EDASI i
       VASAKULE 90
     ]

Loop for the characters of a character sequence:

     IGALE_ELEMENDILE i HULGAS „tekst” [
       SILT i
       EDASI 10
     ]

### KUNIKS

     KUNIKS TÕENE [ ASUKOHT MISTAHES ] ; lõputu ahel
     KUNIKS KORDUSE_NUMBER <= 10 [ EDASI 50 VASAKULE 36 ] ; sama, mis KORDA 10 [ ... ]

### KATKESTA

Peatab ahela.

     KORDA [ ; lõputu ahel
       ASUKOHT MISTAHES
       KUI KORDUSE_NUMBER = 100 [ KATKESTA ]  ; sama, mis KORDA 100 [ ... ]
     ]

### JÄTKA

Jump into the next iteration of the loop.

     KORDA 100 [
       ASUKOHT MISTAHES
       KUI KORDUSE_NUMBER % 2 = 0 [ JÄTKA ]
       RING 10 ; joonistab ringi igas teises asukohas
     ]

## Tingimused

### KUI

     ; IF condition [ true block ]
     ; IF condition [ true block ] [ false block ]

     IF a < 10 [ PRINT “Small” ]
     IF a < 10 [ PRINT “Small” ] [ PRINT “Big” ]

### JA, VÕI, MITTE/EI

Loogilised tehted.

     IF a < 10 AND NOT a = 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ]
     IF a < 10 AND a != 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ] ; as above

## Subroutines

### FUNKTSIOON, LÕPP

New word (or procedure).

     TO triangle
       REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
     END

     REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]

### VÄLJUND

Tagastab funktsiooni väärtuse.

     FUNKTSIOON suvatäht
       VÄLJUND JUHUSLIK „abcdefghijklmnopqrsšzžtuvwõäöüxy”
     LÕPP

     KIRJUTA suvatäht + suvatäht + suvatäht ; annab suvalise kolmetähelise märgijada

### PEATA

Return from the procedure.

     FUNKTSIOON näidis arv
       IF arv < 0 [ PEATA ]
       KIRJUTA RUUTJUUR arv ; annab arvu ruutjuure
     ]

     näidis 100
     näidis -1 ; tulemuse asemel väljastatakse viga
     näidis 25

## Vaikimisi muutujad

### MISTAHES

Vaikimisi juhuväärtus värvide jm jaoks.

     PLIIATSI_VÄRV MISTAHES ; juhuslik liiatsi värv

### TÕENE

Tõeväärtus.

     KUNIKS TÕENE [ ASUKOHT MISTAHES ] ; lõputu ahel
     KIRJUTA TÕENE ; tagastab „TÕENE”

### VÄÄR

Tõeväärtus.

     KUNIKS MITTE VÄÄR [ ASUKOHT MISTAHES ] ; lõputu ahel
     KIRJUTA VÄÄR ; tagastab „VÄÄR”

### LEHE_SUURUS

     KIRJUTA LEHE_SUURUS; annab lehe mõõtmed punktides, nt [595,30, 841,89]

### PII / π

     KIRJUTA PII; annab 3,14159265359

## Sisend/väljund

### KIRJUTA / PRINDI

     KIRJUTA „tekst” ; kuvab dialoogiakna kirjaga „tekst”
     KIRJUTA 5 + 10 ; kuvab 15

### SISEND

     PRINT INPUT “Input value?” ; ask and print a string by a query dialog box
     PRINT FLOAT (INPUT “First number?”) + FLOAT (INPUT “Second number?”) ; simple calculator

## OOTA

     OOTA 1000 ; ootab 1000 ms (1 sek)

## ÜLDINE

Set global variables used in procedures.

     GLOBAL about
     about = “LibreLogo”

     TO example
       PRINT about
       GLOBAL about ; when we want to add a new value
       about = “new value for the global variable”
     END

     example
     PRINT about

## Funktsioonid

### JUHUSLIK

     KIRJUTA JUHUSLIK 100 ; suvaline ujukomaarv (0 <= x < 100)
     KIRJUTA JUHUSLIK „tekst” ; suvaline täht stringist „tekst”
     KIRJUTA JUHUSLIK [1, 2] ; juhuslik loendi element (1 või 2)

### TÄISARV

     PRINT INT 3.8 ; print 3 (integer part of 3.8)
     PRINT INT RANDOM 100 ; random integer number (0 <= x < 100)
     PRINT INT “7” ; convert the string parameter to integer

### UJUKOMA

     ; convert the string parameter to float number
     PRINT 2 * FLOAT “5.5” ; print 11.0

### SÕNE / STRING

     ; convert the number parameter to string
     PRINT “Result: ” + STR 5 ; print “Result: 5”
     PRINT 10 * STR 5 ; print 5555555555

### RUUTJUUR (rtjr, √)

     KIRJUTA RUUTJUUR 100 ; annab 10, mis on ruutjuur 100-st

### SIN

     KIRJUTA SIN 90 * PII/180 ; annab 1,0 (siinus 90°-st radiaanides)

### COS

     KIRJUTA COS 90 * PII/180 ; annab 1,0 (koosinus 90°-st radiaanides)

### LOG10

     KIRJUTA LOG10 100 ; annab 2,0 (kümnendlogaritm 100-st)

### ÜMARDA

     KIRJUTA ÜMARDA 3,8 ; annab 4 (3,8 ümardatult)
     KIRJUTA ÜMARDA JUHUSLIK 100 ; juhuslik täisarv (0 <= x <= 100)

### ABSOLUUTVÄÄRTUS|ABS

     KIRJUTA ABS -10 ; annab 10, mis on -10 absoluutväärtus

### LOENDA

     KIRJUTA LOENDA „tekst” ; annab 5, märkide arvu sõnas „tekst”
     KIRJUTA LOENDA [1, 2, 3] ; annab 3, loendi mahu

### HULK

     ; Convert list to Python set
     PRINT SET [4, 5, 6, 6] ; print {4, 5, 6}
     PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; print {1, 4, 5, 6, 9}, union
     PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; print {4}, intersection
     PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; print {5, 6}, difference
     PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; print {1, 5, 6, 9}, symmetric difference

### VAHEMIK

     ; Python-like list generation
     PRINT RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     PRINT RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
     PRINT RANGE 3 10 3 ; print [3, 6, 9]

     FOR i IN RANGE 10 50 10 [ ; loop for [10, 20, 30, 40]
       FORWARD i
       LEFT 90
     ]

### LOEND

     ; remove the repeating elements of a list using set and list conversion
     PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; print [1, 3, 5, 2]

### ENNIK / KORTEEŽ

Conversion to Python tuple (non-modifiable list)

     KIRJUTA ENNIK [4, 5]

### SORDITUD

Tagastab sorditud loendi.

     KIRJUTA SORDITUD [5, 1, 3, 4] ; tagastab [1, 3, 4, 5]

### ASENDA

Asendab märgijadasid regulaaravaldiste abil.

     KIRJUTA ASENDA („t”, „T”, „tekst”) ; annab „Tekst” („t” asemel on „T”)
     KIJUTA ASENDA („(.)”, „\\1\\1”, „tekst”) ; annab “tteekksstt”, kõik tähed kahekordselt

### OTSI

Otsib märgijadasid regulaaravaldiste abil.

     IF SEARCH (“\w”, "word") [ PRINT “Letter in the word.” ]

### LEIA_KÕIK

Leiab sisendstringist kõik märgijadad, mis vastavad antud regulaaravaldisele.

     KIRJUTA LEIA_KÕIK(„\w+”, „Kassid, koerad.”) ; annab [„Kassid”, „koerad”], s.t loendi neist sõnadest

### MIN

     KIRJUTA MIN [1, 2, 3] ; väljastab „1”, mis on loendis vähem

### MAX / MAKS

     KIRJUTA MAX [1, 2, 3] ; väljastab „3”, mis on loendis suurim

## Värvikonstandid

     PLIIATSI_VÄRV „HÕBEDANE” ; määrab värvi selle nime järgi
     PLIIATSI_VÄRV [1] ; identifikaatori järgi
     PLIIATSI_VÄRV „~HÕBEDANE” ; juhuslik hõbejas värv

Identifikaator | Nimetus
0 | MUST
1 | HÕBEDANE
2 | HALL
3 | VALGE
4 | KASTANPRUUN
5 | PUNANE
6 | LILLA
7 | MAGENTA / FUKSIAPUNANE
8 | ROHELINE
9 | LAIMIROHELINE / LAIMIKARVA
10 | KOLLAKASROHELINE / OLIIVROHELINE / OLIIVIKARVA
11 | KOLLANE
12 | MERESININE
13 | SININE
14 | SINAKASROHELINE
15 | ROHEKASSININE / TSÜAAN
16 | ROOSA
17 | TOMATIPUNANE / TOMATIKARVA
18 | ORANŽ / APELSINIKARVA
19 | KULDNE
20 | VIOLETNE
21 | TAEVASININE
22 | ŠOKOLAADIPRUUN / ŠOKOLAADIKARVA
23 | PRUUN
24 | NÄHTAMATU