Sisukord

# 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

LibreLogo tööriistariba (Vaade - Tööriistaribad - Logo) sisaldab kilpkonna liigutamise, programmi käivitamise ja peatamise, algusesse liikumise, ekraani puhastamise ja programmiredaktori/süntaksi esiletõstmise/tõlkimise ikoone ning sisestusvälja (käsurida).

## 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 (LibreOffice - Preferences Tools - Options - Languages and Locales - General - 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

To reset the command line triple-click it or press Command Ctrl+A to select the previous commands, and type the new commands.

## Põhiliste kilpkonnasätete graafiline kasutajaliides

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

## Programmi redigeerimine

LibreLogo joonistused ja programmid kasutavad ühte ja sama Writeri dokumenti. LibreLogo lõuend on dokumendi esimesel leheküljel. Kui sisestada enne LibreLogo programmi leheküljepiir ja määrata Logo tööriistariba „võlukepi” ikooni abil paras suurendus, ühtlasi muutes fondi suurust vastavalt, saab kuvada mugava kaheleheküljelise paigutuse, kus LibreLogo lõuend on esimesel (vasakpoolsel) ja programm teisel (parempoolsel) leheküljel.

# LibreLogo programmeerimiskeel

LibreLogo on kergesti lokaliseeritav Logo-laadne programmeerimiskeel, mille LibreOffice’i tõlkekogukond juba mitmesse keelde on tõlkinud. Lihtsamate õpikunäidete puhul ühildub see ka vanemates Logo-süsteemides kirjutatud programmidega, näiteks:

     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”

- Pythoni-laadne IGALE_ELEMENDILE (ingl FOR) tsükkel

- 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

       TO star size color
       FILLCOLOR color
       REPEAT 5 [ LEFT 72 FORWARD size RIGHT 144 FORWARD size ]
       FILL
       END

       star 100 “red”
       star(100, “green”)
       star(100, “blue”)

# 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

Lines of a LibreLogo program are paragraphs in the Writer document. A program line can contain multiple commands:

     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

     ALGUSESSE ; taastab kilpkonna algse asukoha

### PUHASTA_EKRAAN (pe)

     PUHASTA_EKRAAN ; eemaldab dokumendist joonistusobjektid

### TÄIDA ja SULGE

     TÄIDA ; sulgeb ja täidab aktiivse joonkujundi või punktid
     SULGE ; sulgeb aktiivse joonkujundi või ühendab aktiivsed punktid

Näide: korrapärase kolmnurga täitmine:

     EDASI 50 VASAKULE 120 EDASI 50 TÄIDA

Näide: korrapärase kolmnurga joonistamine:

     EDASI 50 VASAKULE 120 EDASI 50 SULGE

## Pliiatsi seaded

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

     PENSIZE 100 ; line thickness is 100 points
     PENSIZE ANY ; equivalent of PENSIZE RANDOM 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

     PLIIATSI_LÄBIPAISTVUS 80 ; määrab aktiivse pliiatsivärvi läbipaistvuse 80%-le

### JOONEOTS

     JOONEOTS „puudub” ; eraldi jooneotsa pole (vaikimisi)
     JOONEOTS „ümar” ; ümar jooneots
     JOONEOTS „ruut” ; ruudukujuline jooneots

### PLIIATSIÜHENDUS / JOONEÜHENDUS

     PLIIATSIÜHENDUS „ümardatud” ; ümar jooneühendus (vaikimisi)
     PLIIATSIÜHENDUS „terav” ; terav jooneühendus
     PLIIATSIÜHENDUS „faasitud” ; faasitud jooneühendus
     PLIIATSIÜHENDUS „puudub” ; jooneühendust pole

### PLIIATSI_STIIL

     PLIIATSI_STIIL „pidev” ; pidevjoon (vaikimisi)
     PLIIATSI_STIIL „punktiir” ; punktiirjoon
     PLIIATSI_STIIL „kriipsudega” ; kriipsjoon

     ; kohandatud punktide ja kriipsude mustri määrab järgmiste argumentide loend:
     ; – järjestikuste punktide arv
     ; – iga punkti pikkus
     ; – järjestikuste kriipsude arv
     ; – iga kriipsu pikkus
     ; – punktide ja kriipsude kaugus
     ; – tüüp (valikuline):
     ;   0 = punktid on ristkülikukujulised (vaikimisi)
     ;   2 = punktid on ruudukujulised (pikkused ja kaugused on suhtelised pliiatsi jämeduse suhtes)

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

## Täitmise seaded

### TÄITEVÄRV (tv)

     TÄITEVÄRV „sinine” ; täidab sinise värviga, vt ka PLIIATSI_VÄRV
     TÄITEVÄRV „nähtamatu” RING 10 ; täitmata ring
     TÄITEVÄRV [„sinine”, „punane”] ; üleminek sinisest punaseks
     TÄITEVÄRV [[255, 255, 255], [255, 128, 0]] ; üleminek valgest oranžiks
     TÄITEVÄRV [„sinine”, „punane”, 1, 0, 0] ; määrab aksiaalse ülemineku (nõutavate pöörde- ja äärisesätetega), võimalikud väärtused: 0–5 = lineaarne, aksiaalne, radiaalne, elliptiline, nelinurkne, kandiline üleminek
     TÄITEVÄRV [„punane”, „sinine”, 0, 90, 20] ; lineaarne üleminek, pööratud 90 kraadi kilpkonna praeguse vaatesihi suhtes, 20% äärisega
     TÄITEVÄRV [„punane”, „sinine”, 0, 90, 20, 0, 0, 200, 50] ; intensiivsus 200%-st 50%-ni
     TÄITEVÄRV [MISTAHES, MISTAHES, 2, 0, 0, 50, 50] ; radiaalne üleminek juhuslike värvidega, keskme asukoht horisontaalsuunas 50% ja vertikaalsuunas 50%

### TÄITE_LÄBIPAISTVUS (tlp)

     TÄITE_LÄBIPAISTVUS 80 ; määrab aktiivse täitevärvi 80% läbipaistvaks
     TÄITE_LÄBIPAISTVUS [80] ; lineaarne läbipaistvusüleminek 80%-lt 0%-ni
     TÄITE_LÄBIPAISTVUS [80, 20] ; lineaarne läbipaistvusüleminek 80%-lt 20%-ni
     TÄITE_LÄBIPAISTVUS [80, 20, 1, 90] ; aksiaalne läbipaistvusüleminek, pööratud 90 kraadi kilpkonna praeguse vaatesihi suhtes
     TÄITE_LÄBIPAISTVUS [80, 20, 2, 0, 20, 50, 50] ; radiaalne läbipaistvusüleminek välimiselt 80%-lt sisemise 20% läbipaistvuseni, ääris 20%, keskme asukoht horisontaalsuunas 50% ja vertikaalsuunas 50%

### TÄITESTIIL

     TÄITESTIIL 0 ; täide ilma viirutuseta (vaikimisi)
     TÄITESTIIL 1 ; must ühesuunaline viirutus (horisontaalne)
     TÄITESTIIL 2 ; must ühesuunaline viirutus (45-kraadise nurga all)
     TÄITESTIIL 3 ; must ühesuunaline viirutus (−45 kraadi)
     TÄITESTIIL 4 ; must ühesuunaline viirutus (vertikaalne)
     TÄITESTIIL 5 ; punane ristviirutus (diagonaalsuundades)
     TÄITESTIIL 6 ; punane ristviirutus (horisontaal- ja vertikaalsuunas)
     TÄITESTIIL 7 ; sinine ristviirutus (diagonaalsuundades)
     TÄITESTIIL 8 ; sinine ristviirutus (horisontaal- ja vertikaalsuunas)
     TÄITESTIIL 9 ; sinine kolmesuunaline viirutus
     TÄITESTIIL 10 ; must laiade vahedega ühesuunaline viirutus (45 kraadi)

     ; kohandatud viirutus, mille määrab järmistest argumentidest koosnev loend:
     ; – stiil (1 = ühesuunaline, 2 = ristsuunaline, 3 = kolmesuunaline)
     ; – värv
     ; – joonte vahe
     ; – pöördenurk

     TÄITESTIIL [2, „roheline”, 3pt, 15°] ; roheline ristviirutus (15 kraadi)

## Objektide joonistamine

### RING

     RING 100 ; joonistab ringi (diameeter = 100 punkti)

### ELLIPS

     ELLIPS [50, 100] ; joonistab ellipsi, mille läbimõõdud on 50 ja 100 ühikut
     ELLIPS [50, 100, 2t, 12t] ; joonistab elliptilise sektori (alates kella tunniosuti asendist kella 2 ajal kuni asendini kella 12 ajal)
     ELLIPS [50, 100, 2t, 12t, 2] ; joonistab elliptilise lõigu
     ELLIPS [50, 100, 2t, 12t, 3] ; joonistab elliptilise kaare

### RUUT

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

### RISTKÜLIK

     RISTKÜLIK [50, 100] ; joonistab ristküliku (50 × 100 punkti)
     RISTKÜLIK [50, 100, 10] ; joonistab ümardatud nurkadega ristküliku

### PUNKT

     PUNKT ; teeb pliiatsi suurusele ja värvile vastava punkti

Käsu SULGE abil saab ühendada viimased punktid, käsu TÄIDA abil saab täita punktidega määratud kujundi. Näiteks saab hõlpsasti joonistada lapiku tähe, alustades selle keskpunktist:

     PLIIATS_ÜLES
     KORDA 5 [
       EDASI 80
       PUNKT
       TAGASI 80
       PAREMALE 36
       EDASI 50
       PUNKT
       TAGASI 50
       PAREMALE 36
     ] TÄIDA

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

### FONT / KIRJATÜÜP

     FONT „Linux Libertine G” ; määrab kirjatüübi
     FONT „Linux Libertine G:smcp=1” ; määrab lisaks fondi lisavõimaluse (kapiteelkiri)
     FONT “Linux Libertine G:smcp=1&onum=1” ; kapiteelkiri ja vanapärased numbrid

### 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 mõeldud:

- kujundite rühmitamiseks,

- uute joonkujundite alustamiseks,

- SVG-piltide ja SVG/SMIL-animatsioonide salvestamiseks,

- asukohtade ja joonkujundite järjepidevuse säilitamiseks vasakul äärel.

### Kujundite rühmitamine

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

See also “Group” in LibreOffice Writer Help.

     FUNKTSIOON puu asukoht
       PLIIATS_ÜLES ASUKOHT asukoht SUUND 0 PLIIATS_ALLA
       PILT [ EDASI 100 RING 100 ] ; puulaadne rühmitatud kujund
     LÕPP

     PILT [ puu [230, 400] puu [300, 400] ] ; rühmitatud kujundid rühmitatud kujundis

### Uute joonkujundite alustamine

     PILT ; alustab uut joonkujundit
     EDASI 10 PILT EDASI 10 ; kaks joonkujundit

### SVG-piltide salvestamine

     PILT „näidis.svg” [ RING 5 ] ; salvestab pildi SVG-vormingus kasutaja kodukausta
     PILT „Töölaud/näidis.svg” [ EDASI 100 RING 5 ] ; nagu eelmine, aga suhtelise asukohaga
     PILT „/home/kasutaja/näidis.svg” [ RING 5 ] ; absoluutne asukoht Unixi/Linuxi puhul
     PILT „C:\näidis.svg” [ RING 5 ] ; absoluutne asukoht Windowsi puhul

### SVG/SMIL-animatsioonide (OOTA-käskudega joonistuste) salvestamine

     PILT „animatsioon.svg” [ RING 5 OOTA 1000 RING 99 ] ; salvestab SVG/SMIL-animatsioonina (vt ka OOTA)
     PILT „animatsioon2.svg” [ RING 5 OOTA 1000 RING 99 OOTA 2000 ] ; nagu eelmine, aga kõige lõpus olev käsk OOTA tekitab korduse: SMIL-i toega brauserites käivitub SVG-animatsioon 2 sekundi pärast uuesti algusest

### Järjepidevus vasakul äärel

Käsku PILT saab kasutada asukohtade ja joonkujundite järjepidevuse säilitamiseks Writeri lehe vasakul äärel:

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

## Tsüklid

### KORDA

     ; KORDA arv [ käsud ]

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

     ; arv pole kohustuslik

     KORDA [ ASUKOHT MISTAHES ] ; lõputu tsükkel

### KORDUSE_NUMBER

Tsüklimuutuja (ka IGALE_ELEMENDILE- ja KUNIKS-tsüklites)

     KORDA 100 [ EDASI KODUSE_NUMBER VASAKULE 90 ]

### IGALE_ELEMENDILE ... HULGAS

Tsükkel loendi elementidele:

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

Tsükkel märgijada märkidele:

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

### KUNIKS

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

### KATKESTA

Peatab tsükli.

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

### JÄTKA

Hüppab tsükli järgmisele iteratsioonile.

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

## Tingimused

### KUI

     ; KUI tingimus [ tõesele tingimusele vastav plokk ]
     ; KUI tingimus [ tõesele tingimusele vastav plokk ] [ väärale tingimusele vastav plokk ]

     KUI a < 10 [ KIRJUTA „Väike” ]
     KUI a < 10 [ KIRJUTA „Väike” ] [ KIRJUTA „Suur” ]

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

Loogilised tehted.

     KUI a < 10 JA MITTE a = 5 [ KIRJUTA „0, 1, 2, 3, 4, 6, 7, 8 või 9” ]
     KUI a < 10 JA a != 5 [ KIRJUTA „0, 1, 2, 3, 4, 6, 7, 8 või 9” ] ; nagu ülal

## Alamprogrammid

### FUNKTSIOON, LÕPP

Määratleb uue sõna (või protseduuri).

     FUNKTSIOON kolmnurk
       KORDA 2 [ EDASI 100 PAREMALE 120 ] TÄIDA
     LÕPP

     KORDA 10 [ kolmnurk PLIIATS_ÜLES ASUKOHT MISTAHES PLIIATS_ALLA ]

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

Väljub protseduurist.

     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 tsükkel
     KIRJUTA TÕENE ; tagastab „TÕENE”

### VÄÄR

Tõeväärtus.

     KUNIKS POLE VÄÄR [ ASUKOHT MISTAHES ] ; lõputu tsükkel
     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

     KIRJUTA SISEND „Sisendväärtus?” ; küsib päringudialoogis sõne ja siis väljastab selle
    KIRJUTA UJUKOMAARV (SISEND „Esimene arv?”) + UJUKOMAARV (SISEND „Teine arv?”) ; lihtne kalkulaator

## OOTA

     OOTA 1000 ; ootab 1000 ms (1 sek)

## ÜLDINE

Määrab protseduurides kasutamiseks globaalseid muutujaid.

     ÜLDINE tiitelandmed
     tiitelandmed = „LibreLogo”

     FUNKTSIOON näide
       KIRJUTA tiitelandmed
       ÜLDINE tiitelandmed ; uue väärtuse lisamiseks
       tiitelandmed = „globaalse muutuja uus väärtus”
     LÕPP

     näide
     KIRJUTA tiitelandmed

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

     KIRJUTA TÄISARV 3,8 ; väljastab 3 (täisosa arvust 3,8 )
     KIRJUTA TÄISARV JUHUSLIK 100 ; juhuslik täisarv (0 <= x < 100)
     KIRJUTA TÄISARV „7” ; teisendab sõnena antud parameetri täisarvuks

### UJUKOMAARV

     ; teisendab sõnena antud parameetri ujukomaarvuks
    KIRJUTA 2 * UJUKOMAARV „5,5” ; väljastab 11,0

### SÕNE / STRING

     ; teisendab arvuna antud parameetri sõneks (stringväärtuseks)
     KIRJUTA „Tulem: ” + SÕNE 5 ; väljastab „Tulem: 5”
    KIRJUTA 10 * SÕNE 5 ; väljastab 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

     ; teisendab loendi Pythoni hulgaks
    KIRJUTA HULK [4, 5, 6, 6] ; väljastab {4, 5, 6}
     KIRJUTA HULK [4, 5, 6, 6] | HULK [4, 1, 9] ; väljastab {1, 4, 5, 6, 9}, hulkade ühendi
     KIRJUTA HULK [4, 5, 6, 6] & SET [4, 1, 9] ; väljastab {4}, hulkade ühisosa
     KIRJUTA HULK ([4, 5, 6, 6]) - HULK [4, 1, 9] ; väljastab {5, 6}, hulkade vahe
     KIRJUTA HULK [4, 5, 6, 6] ^ HULK [4, 1, 9] ; väljastab {1, 5, 6, 9}, hulkade sümmeetrilise vahe

### VAHEMIK

     ; Python-like list generation
     PRINT LIST RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     PRINT LIST RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
     PRINT LIST 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

     ; eemaldab loendist korduvad elemendid, kasutades hulga ja loendi vahel teisendamist
     KIRJUTA LOEND (HULK [1, 3, 5, 5, 2, 1]) ; väljastab [1, 3, 5, 2]

### ENNIK / KORTEEŽ

Teisendamine Pythone ennikuks (korteežiks ehk muudetamatuks loendiks)

     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.

     KUI OTSI („\w”, „sõna”) [ KIRJUTA „Üks täht sõnas.” ]

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