Vsebina

# LibreLogo

LibreLogo je enostavno, poslovenjeno in Logu podobno okolje za programiranje z želvjo vektorsko grafiko za učenje računalništva (programiranja in urejanja besedil). namiznega založništva in grafičnega oblikovanja. Oglejte si http://www.numbertext.org/logo/librelogo.pdf (v angl.).

## Orodna vrstica LibreLogo

Orodna vrstica LibreLogo (Pogled – Orodne vrstice – Logo) vsebuje ikone za premikanje želve, zagon in ustavitev programa, vrnitev na izhodiščno mesto, čiščenje zaslona in poudarjanje skladnje/prevajanje, kot tudi vnosno vrstico (ukazno vrstico).

## Ikone za premikanje želve

So ekvivalentne ukazom »NAPREJ 10«, »NAZAJ 10«, »LEVO 15«, »DESNO 15«. S klikom ene od ikon tudi usmerite pozornost na želvo, da po strani drsi na svoj položaj.

## Začni program Logo

Kliknite ikono »Začni program Logo«, da celotno ali izbrano besedilo dokumenta programa Writer izvedete kot program LibreLogo. V prazen dokument bo vstavljen primer programa, ki bo tudi izvršen.

Kliknite ikono »Ustavi«, da ustavite izvajanje programa.

## Začetek

Kliknite ikono »Začetek« za ponastavitev položaja in nastavitev želve.

## Počisti zaslon

Kliknite ikono »Počisti zaslon«, da odstranite risane predmete dokumenta.

## Urejevalnik programov / Označevanje skladnje / Prevajanje

Ikona »čarobne paličice« nastavi dvostransko postavitev za urejanje programske kode ter razširi in spremeni okrajšane ukaze Logo v dokumentu Writer iz malih črk v velike. Spremenite jezik dokumenta (LibreOffice – Možnosti Orodja – Možnosti – Jeziki in področne nastavitve – Splošno – Zahodni) in kliknite to ikono, da prevedete program Logo v izbrani jezik.

## Ukazna vrstica

Pritisnite vnašalko v ukazni vrstici, da izvršite njeno vsebino. Program ustavite z ikono “Ustavi”.

Držite pritisnjeno vnašalko, da ponovite ukazno vrstico, npr. pri naslednjem zaporedju ukazov:

     NAPREJ 200 LEVO 89

Če želite ponastaviti ukazno vrstico, trikrat kliknite vanjo ali pritisnite kombinacijo tipk Command krmilka+A, da izberete prejšnje ukaze, in vnesite nove ukaze.

## Grafični uporabniški vmesnik osnovnih nastavitev želvje grafike

Želvji lik LibreLoga je navaden risani predmet fiksne velikosti. Premikate in sukate ga lahko na standarden način z miško in ikono Zasukaj v orodni vrstici Lastnosti risanega predmeta. S spreminjanjem nastavitev Debelina črte, Barva črte in Barva področja nastavljate atribute VELIKOSTPERESA, BARVAPERESA in BARVAPOLNILA za LibreLogo.

## Urejanje programov

Risbe in programi LibreLogo uporabljajo isti dokument programa Writer. Platno LibreLogo je na prvi strani dokumenta programa Writer. Pred programi LibreLogo lahko vstavite prelom strani in nastavite povečavo strani z ikono »čarobne paličice« v orodni vrstici Logo, ter spremenite velikost pisave na ugodno dvostransko postavitev za programiranje LibreLogo: leva (prva) stran je platno, desna (druga) stran je za urejevalnik programov v jeziku LibreLogo.

# Programski jezik LibreLogo

LibreLogo je Logu podoben programski jezik, ki ga je enostavno lokalizirati; je poslovenjen in lokaliziran tudi v številne druge jezike LibreOffice. Združljiv je s starejšimi sistemi Logo, ko gre za enostavne programe Logo, uporabljene v izobraževanju, npr.

     PRI trikotnik :velikost
     PONOVI 3 [
       NAPREJ :velikost
       LEVO 120
     ]
     KONEC

     trikotnik 10 trikotnik 100 trikotnik 200

## Razlike s programskim jezikom Logo

- Člani seznama so ločeni z vejicami: POLOŽAJ [0, 0]

- Programski bloki in seznami se razlikujejo

- - Programski bloki v oklepajih potrebujejo presledek ali novo vrstico: PONOVI 10 [ NAPREJ 10 LEVO 36 ]

  - Seznami zahtevajo stične oklepaje: POLOŽAJ [0, 0] in ne POLOŽAJ [ 0, 0 ]

- Enovrstične deklaracije funkcij niso podprte (PRI in KONEC potrebujeta novo vrstico).

## Druge funkcionalnosti LibreLogo

- Dvopičje pred imenom spremenljivk je neobvezno.

       PRI trikotnik velikost
         PONOVI 3 [ NAPREJ velikost LEVO 120 ]
       KONEC

- Zapisi nizov podpirajo tudi pravopis in skladnjo Pythona.

       IZPIŠI "beseda" ; izvorna skladnja Loga
       IZPIŠI “Poljubno besedilo.” ; pravopis, Writer
       IZPIŠI 'Poljubno besedilo.' ; skladnja Pythona

- Obravnava seznamov in nizov kot v Pythonu

       IZPIŠI “besedilo”[2] ; izpiši “x”
       IZPIŠI “besedilo”[1:3] ; izpiši “ex”

- Pythonu podobna zanka ZA

- Pythonu podobna deklaracija spremenljivk:

       x = 15
       IZPIŠI x

- Ni posebnih funkcij za poizvedbe:

       IZPIŠI BARVAPOLNILA
       p = POLOŽAJ
       IZPIŠI p
       PONOVI 10 [ POLOŽAJ POLJUBNO POLOŽAJ p ]

- Nadomestna uporaba oklepajev v klicih funkcij

       PRI zvezda velikost barva
       BARVAPOLNILA barva
       PONOVI 5 [ LEVO 72 NAPREJ velikost DESNO 144 NAPREJ velikost ]
       ZAPOLNI
       KONEC

       zvezda 100 “rdeča”
       zvezda(100, “zelena”)
       zvezda(100, “modra”)

# Ukazi LibreLogo

## Osnovna skladnja

### Razlikovanje med velikimi in malimi črkami

Ukazi, barvne konstante ne razlikujejo med velikimi in malimi črkami:

     IZPIŠI “Pozdravljen, svet!”
     izpiši “Pozdravljen, svet, že spet!”

Pri imenih spremenljivk je pomembna velikost črk:

     a = 5
     A = 7
     IZPIŠI a
     IZPIŠI A

### Programske vrstice

Vrstice programa LibreLogo so odstavki v dokumentu programa Writer. Programska vrstica lahko vsebuje več ukazov:

     IZPIŠI "Pozdravljen, svet!" IZPIŠI "LibreLogo"

### Komentarji

Komentarji so vrstice ali deli vrstic od podpičja do konca vrstice (odstavka):

     ; nekaj komentarjev
     IZPIŠI 5 * 5 ; nekaj komentarjev

### Prelomi programske vrstice v več odstavkov

Programsko vrstico je mogoče prelomiti v več odstavkov z znakom tilda na koncu vrstice:

     IZPIŠI “To je zelo dolgo ” + ~
           “opozorilno sporočilo”

## Premikanje želve

### NAPREJ (np)

     NAPREJ 10 ; premakni naprej 10 točk (1 točka = 1/72 palca)
     NAPREJ 10tč ; glejte zgoraj
     NAPREJ 0,5pal ; premakni naprej 0,5 palca (1 palec = 2,54 cm)
     NAPREJ 0,5" ; glejte zgoraj
     NP 1mm
     NP 1cm

### NAZAJ (nz)

     NAZAJ 10 ; premakni se nazaj za 10 točk

### LEVO (lv)

     LEVO 90 ; obrni se za 90 stopinj nasprotno smeri urinega kazalca
     LEVO 90° ; glejte zgoraj
     LV 3u ; glejte zgoraj (urni položaj)
     LV poljubno ; obrni se na naključni položaj

### DESNO (ds)

     DESNO 90 ; obrni se za 90 stopinj v smeri urinega kazalca

### PEROGOR (pg)

     PEROGOR ; želva se bo premikala brez hkratnega risanja

### PERODOL (pd)

     PERODOL ; želva se bo premikala s hkratnim risanjem

### POLOŽAJ (pol)

     POLOŽAJ [0, 0] ; obrni se in premakni v levi zgornji kot
     POLOŽAJ VELIKOSTSTRANI ; obrni se in premakni v desni spodnji kot
     POLOŽAJ [VELIKOSTSTRANI[0], 0] ; obrni se in premakni v desni zgornji kot
     POLOŽAJ POLJUBNO ; obrni se in premakni na naključen položaj

### SMER (dols)

     SMER 0 ; obrni se proti severu
     SMER 12u ; glej zgoraj
     SMER [0, 0] ; obrni se proti levemu gornjemu kotu
     SMER POLJUBNO ; obrni se v naključno smer

## Ostali želvji ukazi

### SKRIJŽELVO (sž)

     SKRIJŽELVO ; skrije želvo (vse do izvedbe ukaza pokažiželvo)

### POKAŽIŽELVO (pž)

     POKAŽIŽELVO ; pokaži želvo

### ZAČETEK

     ZAČETEK ; ponastavi začetni položaj želve

### POČISTIZASLON (pz)

     POČISTIZASLON ; odstrani risane predmete dokumenta

### ZAPOLNI in ZAKLJUČI

     ZAPOLNI ; zaključi in zapolni trenutni črtni lik
     ZAKLJUČI ; zaključi trenutni črtni lik ali spoji dejanski točki

Primer: zapolnjevanje trikotnika:

     NAPREJ 50 LEVO 120 NAPREJ 50 ZAPOLNI

Primer: risanje trikotnika:

     NAPREJ 50 LEVO 120 NAPREJ 50 ZAPRI

## Nastavitve pisala

### VELIKOSTPERESA (vp)

     VELIKOSTPERESA 100 ; debelina črte je 100 točk
     VELIKOSTPERESA POLJUBNO ; enakovredno ukazu VELIKOSTPERESA NAKLJUČNO 10

### BARVAPERESA (bp)

     BARVAPERESA “rdeča” ; določi rdečo barvo peresa (z imenom barve, glejte konstante barv)
     BARVAPERESA [255, 255, 0] ; določi rumeno barvo (seznam RGB)
     BARVAPERESA 0xffff00 ; določi rumeno barvo (šestnajstiška koda)
     BARVAPERESA 0 ; določi črno barvo (0x000000)
     BARVAPERESA POLJUBNO ; naključna barva
     BARVAPERESA [5] ; določi rdečo barvo (z identifikatorjem barve, glejte konstante barv)
     BARVAPERESA “nevidno” ; nevidna barva peresa za like brez vidnega orisa
     BARVAPERESA “~rdeča” ; določi naključno rdečo barvo

### PROSOJNOSTPERESA

     PROSOJNOSTPERESA 80 ; nastavi prosojnost trenutne barve peresa na 80 %

### KONICAPISALA/KONICAČRTE

     KONICAPISALA “brez” ; brez posebnega konca črte (privzeto)
     KONICAPISALA “zaobljeno” ; zaobljen konec črte
     KONICAPISALA “pravokotno” ; pravokoten konec črte

### STIKPERESA/STIKČRT

     STIKPERESA “zaokroženo” ; zaokrožen stik črt (privzeto)
     STIPERESA “izbočeno” ; oster stik črt
     STIKPERESA “vbočeno” ; vbočen stik črt
     STIKPERESA “brez” ; brez stika črt

### SLOGPERESA

     SLOGPERESA “polno” ; polna črta (privzeto)
     SLOGPERESA “pikasto” ; pikasta črta
     SLOGPERESA “črtkano” ; črtkana črta

     ; privzeti vzorec pika-črtica določite s seznamom z naslednjimi argumenti:
     ; – število soležnih pik
     ; – dolžina pike
     ; – število soležnih črtic
     ; – dolžina črtice
     ; – razdalja med pikami/črticami
     ; – vrsta (neobvezno):
     ;   0 = pike so pravokotniki (privzeto)
     ;   2 = pike so kvadrati (dolžine in razdalje so relativne na velikostperesa)

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

## Nastavitve polnila

### BARVAPOLNILA (bp)

     BARVAPOLNILA “modra” ; zapolni z modro barvo, glejte tudi BARVAPISALA
     BARVAPOLNILA “nevidno” KROG 10 ; nezapolnjen krog
     BARVAPOLNILA [“modra”, “rdeča”] ; preliv med rdečo in modro
     BARVAPOLNILA [[255, 255, 255], [255, 128, 0]] ; med belo in oranžno
     BARVAPOLNILA [“modra”, “rdeča”, 1, 0, 0] ; določen je osni preliv (z obveznima nastavitvama sukanja in obrobe), možne vrednosti: 0-5 = linearni, osni, radialni, eliptični, kvadratni in pravokotni preliv
     BARVAPOLNILA [“rdeča”, “modra”, 0, 90, 20] ; linearni preliv z 20 % obrobo, zasukan 90 stopinj od dejanske smeri želve
     BARVAPOLNILA [“rdeča”, “modra”, 0, 90, 20, 0, 0, 200, 50] ; od 200% do 50% intenzivnosti
     BARVAPOLNILA [POLJUBNO, POLJUBNO, 2, 0, 0, 50, 50] ; radialni preliv z naključnimi barvami in 50-50 % vodoravnim in navpičnim položajem središča

### PROSOJNOSTPOLNILA

     PROSOJNOSTPOLNILA 80 ; določi prosojnost trenutne barve polnila na 80 %
     PROSOJNOSTPOLNILA [80] ; določi linearen preliv prosojnosti od 80 % k 0 %
     PROSOJNOSTPOLNILA [80, 20] ; določi linearni preliv prosojnosti od 80 % k 20 %
     PROSOJNOSTPOLNILA [80, 20, 1, 90] ; določi osni preliv prosojnosti, zasukan za 90 stopinj od dejanske smeri želve
     PROSOJNOSTPOLNILA [80, 20, 2, 0, 20, 50, 50] ; določi radialni preliv prosojnosti od zunanje 80 % proti notranji 20 % prosojnosti z 20 % robom in 50-50 % vodoravnim in navpičnim položajem središča

### SLOGPOLNILA

     SLOGPOLNILA 0 ; zapolni brez šrafiranja (privzeto)
     SLOGPOLNILA 1 ; enojno črno šrafiranje (vodoravno)
     SLOGPOLNILA 2 ; enojno črno šrafiranje (45 stopinj)
     SLOGPOLNILA 3 ; enojno črno šrafiranje (-45 stopinj)
     SLOGPOLNILA 4 ; enojno črno šrafiranje (navpično)
     SLOGPOLNILA 5 ; rdeče prečrtano šrafiranje (45 stopinj)
     SLOGPOLNILA 6 ; rdeče prečrtano šrafiranje (0 stopinj)
     SLOGPOLNILA 7 ; prečrtano modro šrafiranje (45 stopinj)
     SLOGPOLNILA 8 ; prečrtano modro šrafiranje (0 stopinj)
     SLOGPOLNILA 9 ; modro trojno prečrtano
     SLOGPOLNILA 10 ; široko črno enojno šrafiranje (45 stopinj)

     ; šrafiranje po meri navedete s seznamom z naslednjimi argumenti:
     ; – slog (1 = enojno, 2 = dvojno, 3 = trojno šrafiranje)
     ; – barva
     ; – razdalja
     ; – stopinje

     SLOGPOLNILA [2, “zelena”, 3tč, 15°] ; zeleno prečrtano šrafiranje (15 stopinj)

## Risani predmeti

### KROG

     KROG 100 ; nariši krog (polmer = 100 točk)

### ELIPSA

     ELIPSA [50, 100] ; nariši elipso s premeroma 50 in 100
     ELIPSA [50, 100, 2u, 12u] ; nariši eliptični izsek (od položaja 2 uri do 12 ur)
     ELIPSA [50, 100, 2u, 12u, 2]  ; nariši odsek elipse
     ELIPSA [50, 100, 2u, 12u, 3]  ; nariši eliptični lok

### KVADRAT

     KVADRAT 100 ; nariši kvadratni lik (velikost = 100 točk)

### PRAVOKOTNIK

     PRAVOKOTNIK [50, 100] ; nariši pravokotni lik (50×100 točk)
     PRAVOKOTNIK [50, 100, 10] ; nariši zaobljeni pravokotnik

### TOČKA

     TOČKA ; nariši točko z velikostjo in barvo pisala

ZAPRI lahko združi zadnji točki, ZAPOLNI lahko zapolni lik, ki ga določajo točke. Primer: enostavno je narisati plosko zvezdo, tako da pričnete iz njenega središča:

     PEROGOR
     PONOVI 5 [
       NAPREJ 80
       TOČKA
       NAZAJ 80
       DESNO 36
       NAPREJ 50
       TOČKA
       NAZAJ 50
       DESNO 120
     ] ZAPOLNI

### OZNAKA

     OZNAKA “besedilo” ; izpiši besedilo na položaju želve
     OZNAKA 'besedilo' ; glejte zgoraj
     OZNAKA "besedilo ; glejte zgoraj (velja le za posamezne besede)

### BESEDILO

     KROG 10 BESEDILO “besedilo” ; določi besedilo risanega predmeta

## Nastavitve pisave

### BARVAPISAVE

     BARVAPISAVE “zelena”; določi barvo pisave

### VRSTAPISAVE

     VRSTAPISAVE “Linux Libertine G” ; določi pisavo (vrsto, družino)
     VRSTAPISAVE “Linux Libertine G:smcp=1” ; določi tudi nastavitev pisave (male velike črke)
     VRSTAPISAVE “Linux Libertine G:smcp=1&onum=1” ; male velike črke + stare številke

### VELIKOSTPISAVE

     VELIKOSTPISAVE 12 ; določi velikost na 12 točk

### DEBELINAPISAVE

     DEBELINAPISAVE “krepko” ; določi krepko pisavo
     DEBELINAPISAVE “navadno” ; določi navadno debelino pisave

### SLOGPISAVE

     SLOGPISAVE “ležeče” ; nastavi ležečo različico
     SLOGPISAVE “navadno” ; nastavi navadno različico

## SLIKA (slk)

SLIKA je namenjena

- združevanju likov;

- pričetku novih črtnih likov;

- shranjevanju slik SVG in animacij SVG/SMIL;

- ohranjanju konsistentnosti položajev in črtnih likov na levem robu.

### Združevanje likov

     ; SLIKA [ ukazi_LibreLogo ]
     SLIKA [ NAPREJ 100 KROG 100 ] ; drevesu podoben združen lik

Glejte tudi »Združi« v pomoči za LibreOffice Writer.

     PRI drevo mesto
       PEROGOR POLOŽAJ mesto SMER 0 PERODOL
       SLIKA [ NAPREJ 100 KROG 100 ] ; drevesu podoben združen lik
     KONEC

     SLIKA [ drevo [230, 400] drevo [300, 400] ] ; združeni liki v združenem liku

### Pričetek novih črtnih likov

     SLIKA ; začne z novim črtnim likom
     NAPREJ 10 SLIKA NAPREJ 10 ; dva črtna lika

### Shranjevanje slik SVG

     SLIKA “primer.svg” [ KROG 5 ] ; shrani sliko kot datoteko slike SVG v uporabnikovo mapo
     SLIKA “Desktop/primer.svg” [ NAPREJ 100 KROG 5 ] ; kot zgoraj, z relativno potjo
     SLIKA “/home/user/primer.svg” [ KROG 5 ] ; absolutna pot za Unix/Linux
     SLIKA “C:\primer.svg” [ KROG 5 ] ; absolutna pot za Windows

### Shranjevanje animacij SVG/SMIL (slike z ukazom MIRUJ)

     SLIKA “animacija.svg” [ KROG 5 MIRUJ 1000 KROG 99 ] ; shrani kot animacijo SVG/SMIL (glej tudi MIRUJ)
     SLIKA “animacija2.svg” [ KROG 5 MIRUJ 1000 KROG 99 MIRUJ 2000 ] ; tako kot zgoraj, vendar uporaba ukaza MIRUJ po zadnjem predmetu povzroči zankanje: po 2 sekundah se animacija ponovno zažene v brskalnikih, ki so skladni s SMIL

### Konsistentnost na levem robu

Uporabite SLIKA, da ohranite konsistentnost položajev in črtnih likov na levem robu v programu Writer:

     SLIKA [ KROG 20 POLOŽAJ [-100, 100] KROG 20 ]

## Zanke

### PONOVI

     ; PONOVI število [ ukazi ]

     PONOVI 10 [ NAPREJ 10 LEVO 45 KROG 10 ] ; ponovi desetkrat

     ; število ni obvezno

     PONOVI [ POLOŽAJ POLJUBNO ] ; neskončna zanka

### ŠTEVECPON

Spremenljivka zanke (tudi v zankah ZA in DOKLER).

     PONOVI 100 [ NAPREJ ŠTEVECPON LEVO 90 ]

### ZA V

Zanka za elemente seznama:

     ZA i V [1, 5, 7, 9, 11] [
       NAPREJ i
       LEVO 90
     ]

Zanka za znake v nizu znakov:

     ZA i V “besedilu” [
       OZNAKA i
       NAPREJ 10
     ]

### DOKLER

     DOKLER JERESNIČNO [ POLOŽAJ POLJUBNO ] ; neskončna zanka
     DOKLER ŠTEVECPON <= 10 [ NAPREJ 50 LEVO 36 ] ; kot PONOVI 10 [ ... ]

### PREKINI

Ustavi zanko.

     PONOVI [ ; neskončna zanka
       POLOŽAJ POLJUBNO
       ČE ŠTEVECPON = 100 [ PREKINI ]  ; enakovredno PONOVI 100 [ ... ]
     ]

### NADALJUJ

Skoči na naslednjo iteracijo v zanki.

     PONOVI 100 [
       POLOŽAJ POLJUBNO
       ČE ŠTEVILOPON % 2 = 0 [ NADALJUJ ]
       KROG 10 ; nariše kroge na vsakem drugem položaju
     ]

## Pogoji

### ČE

     ; ČE pogoj [ jeresnično blok ]
     ; ČE pogoj [ jeresnično blok ] [ niresnično blok ]

     ČE a < 10 [ IZPIŠI “Majhno” ]
     ČE a < 10 [ IZPIŠI “Majhno” ] [ IZPIŠI “Veliko” ]

### IN, ALI, NE

Logični operatorji.

     ČE a < 10 IN NE a = 5 [ IZPIŠI “0, 1, 2, 3, 4, 6, 7, 8 ali 9” ]
     ČE a < 10 IN a != 5 [ IZPIŠI “0, 1, 2, 3, 4, 6, 7, 8 ali 9” ] ; kot zgoraj

## Podprogrami

### PRI, KONEC

Nova beseda (ali procedura).

     PRI trikotnik
       PONOVI 2 [ NAPREJ 100 DESNO 120 ] ZAPOLNI
     KONEC

     PONOVI 10 [ trikotnik PEROGOR POLOŽAJ POLJUBNO PERODOL ]

### IZHOD

Vrnjena vrednost funkcije.

     PRI naključnačrka
       IZHOD NAKLJUČNO “qwertyuiopšđasdfghjklčćžzxcvbnm”
     KONEC

     IZPIŠI naključnačrka + naključnačrka + naključnačrka ; izpiši tričrkovno naključno besedo

### USTAVI

Vrni se iz procedure.

     PRI primer število
       Če število < 0 [ USTAVI ]
       IZPIŠI KOREN število ; izpiši kvadratni koren
     ]

     primer 100
     primer -1 ; brez izpisa in z napako
     primer 25

## Privzete spremenljivke

### POLJUBNO

Privzeta naključna vrednost barv itn.

     BARVAPERESA POLJUBNO ; naključna barva peresa

### JERESNIČNO

Logična vrednost.

     DOKLER JERESNIČNO [ POLOŽAJ POLJUBNO ] ; neskončna zanka
     IZPIŠI JERESNIČNO ; izpiši jeresnično

### NIRESNIČNO

Logična vrednost.

     DOKLER NI NIRESNIČNO [ POLOŽAJ POLJUBNO ] ; neskončna zanka
     IZPIŠI NIRESNIČNO ; izpiši niresnično

### VELIKOSTSTRANI

     IZPIŠI VELIKOSTSTRANI ; izpiši seznam velikosti strani v točkah, npr. [595,30, 841,89]

### PI/π

     IZPIŠI PI ; izpiši 3,14159265359

## Vhod/izhod

### IZPIŠI

     IZPIŠI “besedilo” ; izpiši “besedilo” v pogovornem oknu
     IZPIŠI 5 + 10 ; izpiši 15

### VNOS

     IZPIŠI VNOS “Vnosna vrednost?” ; vpraša in izpiše niz s povpraševalnim pogovornim oknom
     IZPIŠI PLAVAJOČE (VNOS “Prva številka?”) + PLAVAJOČE (VNOS “Druga številka?”) ; enostaven kalkulator

## MIRUJ

     MIRUJ 1000 ; počakaj 1000 ms (1 s)

## GLOBALNO

Določi globalne spremenljivke, ki se uporabljajo v procedurah.

     GLOBALNO vizitka
     vizitka = “LibreLogo”

     PRI primer
       IZPIŠI vizitka
       GLOBALNO vizitka ; ko želimo dodati novo vrednost
       vizitka = “nova vrednost za globalno spremenljivko”
     KONEC

     primer
     IZPIŠI vizitka

## Funkcije

### NAKLJUČNO

     IZPIŠI NAKLJUČNO 100 ; naključno število s plavajočo vejico (0 <= x < 100)
     IZPIŠI NAKLJUČNO “besedilo” ; naključna črka iz niza “besedilo”
     IZPIŠI NAKLJUČNO [1, 2] ; naključni element seznama (1 ali 2)

### CELO

     IZPIŠI CELO 3,8 ; izpiši 3 (celoštevilski del 3,8)
     IZPIŠI CELO NAKLJUČNO 100 ; naključno celo število (0 <= x < 100)
     IZPIŠI CELO “7” ; pretvori znakovni parameter v celo število

### PLAVAJOČE

     ; pretvori znakovni parameter v plavajoče število
     IZPIŠI 2 * PLAVAJOČE “5,5” ; izpiši 11,0

### NIZ

     ; pretvori številski parameter v niz
     IZPIŠI “Rezultat: ” + NIZ 5 ; izpiši “Rezultat: 5”
     IZPIŠI 10 * NIZ 5 ; izpiši 5555555555

### KOREN

     IZPIŠI KOREN 100 ; izpiši 10, kvadratni koren števila 100

### SIN

     IZPIŠI SIN 90 * PI/180 ; izpiši 1,0 (sinus kota 90° v radianih)

### COS

     IZPIŠI COS 0 * PI/180 ; izpiši 1,0 (kosinus kota 0° v radianih)

### LOG10

     IZPIŠI LOG10 100 ; izpiši 2,0 (navadni logaritem števila 100)

### ZAOKROŽI

     IZPIŠI ZAOKROŽI 3,8 ; izpiši 4 (zaokroženo 3,8)
     IZPIŠI ZAOKROŽI NAKLJUČNO 100 ; naključno celo število (0 <= x <= 100)

### ABS

     IZPIŠI ABS -10 ; izpiši 10, absolutno vrednost -10

### PREŠTEJ

     IZPIŠI PREŠTEJ “besedilo” ; izpiši 8, število znakov v besedi “besedilo”
     IZPIŠI PREŠTEJ [1, 2, 3] ; izpiši 3, velikost seznama

### MNOŽICA

     ; pretvori seznam v Pythonsko množico
     IZPIŠI MNOŽICA [4, 5, 6, 6] ; izpiši {4, 5, 6}
     IZPIŠI MNOŽICA [4, 5, 6, 6] | MNOŽICA [4, 1, 9] ; izpiši {1, 4, 5, 6, 9}, unija
     IZPIŠI MNOŽICA [4, 5, 6, 6] & MNOŽICA [4, 1, 9] ; izpiši {4}, presek
     IZPIŠI MNOŽICA ([4, 5, 6, 6]) - MNOŽICA [4, 1, 9] ; izpiši {5, 6}, razlika
     IZPIŠI MNOŽICA [4, 5, 6, 6] ^ MNOŽICA [4, 1, 9] ; izpiši {1, 5, 6, 9}, simetrična razlika

### OBSEG

     ; tvorba seznama, podobnega tistim v Pythonu
     IZPIŠI SEZNAM OBSEG 10 ; izpiši [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     IZPIŠI SEZNAM OBSEG 3 10 ; izpiši [3, 4, 5, 6, 7, 8, 9]
     IZPIŠI SEZNAM OBSEG 3 10 3 ; izpiši [3, 6, 9]

     ZA i V OBSEG 10 50 10 [ ; zanka za [10, 20, 30, 40]
       NAPREJ i
       LEVO 90
     ]

### SEZNAM

     ; odstrani ponavljajoče se elemente seznama z uporabo pretvorbe množice in seznama
     IZPIŠI SEZNAM (MNOŽICA [1, 3, 5, 5, 2, 1]) ; izpiši [1, 3, 5, 2]

### PAR

Pretvorba v Pythonski par (nespremenljiv seznam)

     IZPIŠI PAR [4, 5]

### RAZVRŠČENO

Vrne razvrščen seznam.

     IZPIŠI RAZVRŠČENO [5, 1, 3, 4] ; izpiši [1, 3, 4, 5]

### ZAM

Zamenjaj nize znakov z uporabo regularnih izrazov (vzorcev z nadomestnimi znaki).

     IZPIŠI ZAM (“b”, “B”, “besedilo”) ; izpiši “Besedilo”, zamenjaj “b” z “B”
     IZPIŠI ZAM (“(.)”, “\\1\\1”, “besedilo”) ; izpiši “bbeesseeddiilloo”, podvoji vsak znak

### IŠČI

Poišče znakovne nize z uporabo regularnih izrazov.

     ČE IŠČI (“\b”, "beseda") [ IZPIŠI “Črka je v besedi.” ]

### NAJDIVSE

Najde vse nize znakov v vhodnem nizu, ki se ujemajo s podanim regularnim izrazom.

     IZPIŠI NAJDIVSE(“\w+”, “Psi, mačke.”) ; izpiši [“Psi”, “mačke”], seznam besed.

### NAJMANJ

     IZPIŠI NAJMANJ [1, 2, 3] ; izpiši 1, najmanjšega od elementov v seznamu

### NAJVEČ

     IZPIŠI NAJVEČ [1, 2, 3] ; izpiši 3, največjega od elementov v seznamu

## Barvne konstante

     BARVAPERESA “SREBRNA” ; določeno z imenom
     BARVAPERESA [1] ; določeno z identifikatorjem
     BARVAPERESA “~SREBRNA” ; naključna srebrna barva

Identifikator | Ime
--- | ---
0 | ČRNA
1 | SREBRNA
2 | SIVA
3 | BELA
4 | KOSTANJEVA
5 | RDEČA
6 | ŠKRLATNA
7 | FUKSIJA/MAGENTNA
8 | ZELENA
9 | LIMETNA
10 | OLIVNOZELENA
11 | RUMENA
12 | MORNARSKOMODRA
13 | MODRA
14 | MODROZELENA
15 | VODENOMODRA/CIJANSKA
16 | ROZA
17 | PARADIŽNIKOVA
18 | ORANŽNA
19 | ZLATA
20 | VIJOLIČNA
21 | NEBESNOMODRA
22 | ČOKOLADNA
23 | RJAVA
24 | NEVIDNO