Innhold
Innholdsliste 🔎︎

# LibreLogo

LibreLogo er et enkelt lokalisert Logo-liknande programmeringsmiljø med vektorbasert skilpaddegrafikk for å lære programmering og teksthandtering, dtp og grafisk utforming. Se mer om dette på http://www.numbertext.org/logo/librelogo.pdf.

## Verktøylinjen LibreLogo

LibreLogo verktøylinjen ( Vis - Verktøylinjer - Logo inneholder programeditor for start, stopp, hjem, tøm skjerm, for skilpadden, samt redigeing/utheving/oversettelse funksjoner

## Knapper for flytting av skilpadda

Knappane svarar til Logo-kommandoene “FOROVER 10”, “TILBAKE 10”, “VENSTRE 15”, “HØYRE 15”. Når du klikker på en av de, vil markøren fokusere på skilpadda.

## Start logo-program

Klikk på knappen «Start Logo» for å kjøre teksten eller den markerte teksten i Writer-dokumentet som et LibreLogo-program. Hvis dokumentet er tomt, blir et eksempelprogram satt inn og kjørt.

Klikk på knappen «Stopp» for å stoppe kjøringen av programmet.

## Home

Klikk på knappen «Hjem» for å sette skilpadda til utgangsposisjonen og nullstille innstillingene.

## Tøm skjermen

Klikk på knappen «Tøm skjermen» for å fjerne tegneobjektene fra dokumentet.

## Programredigering/syntaksutheving/oversettelse

Ikonet "tryllestav" stiller inn 2-siders layout for programredigering, utvider og konverterer til store bokstaver med små bokstaver i Writer-dokumentet. Endre språk for dokumentet (LibreOffice - Innstillinger Verktøy - Valg - Språkinnstillinger - Språk - Vestlig ) og klikk på dette ikonet for å oversette Logo-programmet til det valgte språket.

## Kommandolinje

Trykk på Enter i kommandolinjen for å utføra kommandoen. Bruk knappen «Stopp» for å stoppe programmet.

Hold nede Enter-tasten for å gjenta kommandoen i kommandolinjen. For eksempel med denne sekvensen:

     FOROVER 200 VENSTRE 89

For å tilbakestille kommandolinjen trippelklikk den eller trykk påCommand Ctrl+A for å velge de forrige kommandoene, og skriv inn de nye kommandoene.

## Grafisk brukergrensesnitt og grunnleggende skilpaddeinnstillinger

Skilpaddeform av LibreLogo er et vanlig tegneobjekt med fast størrelse. Du kan også plassere og rotere den på vanlig måte ved hjelp av musen og Rotate-ikonet på verktøylinjen for tegneobjektegenskaper. Endre innstillinger for linjebredde, linjefarge og områdefarge for skilpaddeformen for å angi attributtene PENNSTØRRELSE, PENNFARGE og FYLLFARGE for LibreLogo.

## Programredigering

LibreLogo tegninger og programmer bruker det samme Writerdokumentet. Tegneflaten for LibreLogoen er på første side i Writerdokumentet. Du kan sette inn et sideskifte foran LibreLogo programmer og sette side zoom ved å bruke "tryllestaven" på verktøylinjha for Logo. Du kan også enkelt skifte til 2-sidig sideformatering for LibleLogo programmering: venstre (første) side er tegneflaten, høyre (andre) side er LibreLogo programeditoren.

# Programmeringsspråket LibreLogo

LibreLogo er et enkelt Logo-lignande programmeringsspråk som er oversatt til mange språk av LibreOffice sine mange oversetterer. Språket er bakoverkompatibelt med eldre Logo-system for blandt annet kunne brukes i undervisning og i andre sammenhenger.

     TIL triangel :størrelse
     GJENTA 3 [
       FOROVER :størrelse
       VENSTRE 120
     ]
     SLUTT

     triangel 10 triangel 100 triangel 200

## Forskejller fra Logo programmeringsspråket.

- Listeelementene er kommaseparerte: PLASSERING [0, 0]

- Programblokker og lister blir håndtert ulikt

- - Programb lokker trenger mellomrom eller ny linje ved parantesene: GJENTA 10 [ FOROVER 10 VENSTRE 36 ]

  - Lister trenger klammeparanteser: POSITION [0, 0], and not POSITION [ 0, 0 ]

- Funksjonsdeklarasjoner på en enkelt linje kan ikke brukes. (Unntatt TIL og SLUTT, som må ha linjeskift etter seg).

## Andre funksjoner i LibreLogo

- Kolon er valgfritt foran variabelnavn.

       TIL trianglestørrelse
         GJENTA 3 [ FOROVER storleik VENSTRE 120 ]
       SLUTT

- Strengnotasjonen kan også skrivaes i hermetegn eller som Pyhton-syntaks.

       SKRIV UT "ord ; original Logo-syntaks
       SKRIV UT «Vilkårlig tekst.» ; LibreOffice Writer
       SKRIV UT 'Vilkårlig tekst.' ; Python-syntaks

- Python liste- og strengehåndtering

       SKRIV UT “tekst”[2] ; skriv ut “k”
       SKRIV UT “tekst”[1:3] ; skriv ut “es”

- Python-lignende FOR-løkke

- Python-lignende variabeldeklarasjon

       x = 15
       SKRIV UT x

- Det finst ingen ekstra søkefunksjoner:

       SKRIV UT FYLLFARGE
       p = PLASSERING
       SKRIV UT p
       GJENTA 10 [ PLASSERING ALLE PLASERING p ]

- Alternativ bruk av klammeparenteser i funksjonskall

       TIL stjernestørrelse farge
       FYLLFARGE farge
       REPETA 5 [ VENSTRE 72 FREMSTØRRELSE HØYRE 144 FREMOVER størrelse ]
       FYLL
       SLUTT

       stjerne 100 “rød”
       stjerne(100, «grønn»)
       stjerne(100, «blå»)

# Kommandoer i LibreLogo

## Grunnleggende syntaks

### Små og store bokstaver

Kommandoer og fargenavn skiller ikke mellom små og store bokstaver:

     SKRIV UT “Hallo verden!”
     skriv ut “Hallo verden igjen!”

Variabelnavnene skiller mellom små og store bokstaver:

     a = 5
     A = 7
     SKRIV UT a
     SKRIV UT A

### Programlinjer

Rader i et LibreLogo-program er avsnitt i Writer-dokumentet. En programmeringsrad kan inneholde flere kommandoer:

     SKRIV UT “Hallo, verden!” SKRIV UT “LibreLogo”

### Kommentarer

Linjer eller deler av linjer ansees som kommentarer fra et semikolon til slutten av linjen (avsniuttet):

     ; merknadar
     SKRIV UT 5 * 5 ; kommentar

### Bryt programlinjene i flere avsnitt

Det er mulig å bryte en programlinje over flere linjer ved å bruke tilde-tegn et på slutten av linjen:

     SKRIV UT "Dette er en svært lang " + ~
           “feilmelding."

## Flytting av skilpadda

### FOROVER

     FOROVER 10 ; flytt framover 10pt (1pt = 1/72 inch = 0,35 mm)
     FOROVER 10pt ; se ovenfor
     FOROVER 0.5in ; flytt framover 0.5 inch (1 inch = 2.54 cm)
     FOROVER 1" ; se ovenfor
     FR 1mm
     FR 1cm

### TILBAKE, BAKOVER, TB

     TILBAKE 10 ; flytt 10pt bakover

### VENSTRE

     VENSTRE 90 ; snu 90 grader mot klokka
     VENSTRE 90° ; se ovenfor
     LT 3h ; se ovenfor (på klokka)
     VE ALLE ; snu til en tilfeldig vinkel

### HØYRE

     HØYRE 90 ; snu 90 grader med klokka

### PENN OPP, PO

     PENN OPP ; flytter skilpadda utan å tegne

### PENN NED, PN

     PENN NED; skilpadda tegner mens den flytter seg

### PLASSERING, POS

     PLASSER [0, 0] ; drei og flytt til det øvre, venstre hjørnet
     PLASSER SIDESTØRRELSE ; drei og flytt til det nedre, høyre hjørnet
     PLASSER [SIDESTØRRELSE[0], 0] ; drei og flytt til det øvre, høyre hjørnet
     PLASSER ALLE ; drei og flytt til en tilfeldig posisjon

### RETNING,

     RETNING 0 ; drei mot nord
     RETNING 12t ; se over
     RETNING [0, 0] ; drei mot det øverste, venstre hjørnet
     RETNING ALLE ; drei til en tilfeldig retning

## Andre skilpaddekommandoer

### GJEMSKILPADDE

     GJEMSKILPADDE; ; gjemmer skilpadda (til kommandoen VISMEG blir brukt)

### VISSKILPADDE

     VISSKILPADDE; vis skilpadde

### HJEM

     HJEM; nullstiller innstillingene for skilpadda og flytter den  til utgangsposisjonen

### TØMSKJERMEN, TS

     TØMSKJERMEN; fjerner alle tegneobjekt fra skjermen

### FYLL og LUKK

     FYLL: lukk og fyll den gjeldende strekfiguren eller punktene
    LUKK: lukk den gjeldende strekfiguren og bind sammen de aktuelle punktene

Eksempel: fylle en likesidet trekant:

     FRAM 50 VENSTRE 120 FRAM 50 FYLL

Eksempel: tegne en likesidet trekant:

     FRAM 50 VENSTRE 120 FRAM 50 LUKK

## Penninnstillinger

### PENNSTØRRELSE, PENNBREDDE, LINJEBREDDE, PS

     PENNSTØRRELSE 100 ; sett linjebredde til 100 pt
     PENNSTØRRELSE ALLE ; det samme som PENNSTØRRELSE TILFELDIG 10

### PENNFARGE, LINJEFARGE, PF

     PENNFARGE “rød” ; setter pennfargen til rød (med fargenavnet, se om fargekonstanter)
     PENNFARGE [255, 255, 0] ; setter fargen til gul (RGB listen)
     PENNFARGE 0xffff00 ; sett fargen til gul (heksadesimal kode)
     PENNFARGE 0 ; sett fargen til svart (0x000000)
     PENNFARGE ALLE ; tilfeldig farge
     PENNFARGE [5] ; sett fargen til rød (med fargeidentifikator, se fargekonstanter)
     PENNFARGE “usynlig” ; usynlig farge for figurer med usynlig omriss
     PENNFARGE “~rød” ; setter tilfeldig, rød farge

### PENNGJENNOMSIKTIGHET

     PENNGJENNOMSIKTiGHET 80: setter gjennomsiktigheten for den aktuelle pennfargen til 80 %

### LINJEENDE

     LINJEENDE "ingen" ; uten ekstra linjeende (standard)
     LINJEENDE "avrundet" ; avrundet linjeende
     linjeende "kvadrat" ; kvadratisk linjeende

### LINJEKOBLING

     LINJEKOBCLING "avrundet"; avrundet linjekobling (standard)
     LINJEKOBLING "skarp" ; skarp linjekobling
     LINJEKOBLING "skråkant" ; linjekobling med skrå kant
     LINJEKOBLING "ingen" ; uten linjekobling

### PENNSTIL

     PENNSTIL “ensfareta” ; ensfarget linje (standard)
     PENNSTIL “prikket” ; prikket linje
     PENNSTIL “stiplet” ; stiplet linje

     ; egendefinert prikk-strek-mønster definert i en liste med disse argumentene:
     ; – hvor mange prikker
     ; – lengde på hver prikk
     ; – hvor mange streker
     ; – lengde på hver strek
     ; – avstanden mellom prikkene/strekene
     ; – type (valgfri):
     ;   0 = prikkene som rektangel (standard)
     ;   2 = prikkene er kvadrat (lengde og avstand er relativ til pennstørrelsen)

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

## Innstillinger for fyll

### FYLLFARGE, FF

     FYLLFARGE “blå” ; fyll med blå farge, sjå også PENNFARGE
     FYLLFARGE “usynlig” SIRKEL 10 ; sirkel uten fyll
     FYLLFARGE [“blå”, “rød”] ; fargeovergang fra rødt til blått
     FYLLFARGE [[255, 255, 255], [255, 128, 0]] ; fra hvit til oransje
     FYLLFARGE [“blå”, “rød”, 1, 0, 0] ; sett aksiell fargeovergang (med nødvendige innstillinger for rotering og kanter), muglie verdier: 0-5 = lineær, aksiell, radial, elliptisk, kvadratisk og rektangulær fargeovergang
     FYLLFARGE [“rød”, “blå”, 0, 90, 20] ; lineær med 20% kant, rotert med 90 grader fra hodet på skilpadden
     FYLLFARGE [“rød”, 'blå”, 0, 90, 20, 0, 0, 200, 50] ; fra 200% til 50% intensitet
     FYLLFARGE [ALLE, ALLE, 2, 0, 0, 50, 50] ; radiell fargeovergang med tilfeldige farger og 50 % horisontal og vertikal plassering av sentrum.

### FYLLGJENNOMSIKTIGHET

     FYLLGJENNOMSIKTIGHET 80 ; sett gjennomsiktighet for den aktuelle fyllfargen til 80%
     FYLLGJENNOMSIKTIGHET [80] ; sett linjær gjennomsiktig overgang fr 80 % til 0 %
     FYLLGJENNOMSIKTIGHET [80, 20] ; sett linjær gjennomsiktig overgang fra 80 % til 20%
     FYLLGJENNOMSIKTIGHET [80, 20, 1, 90] ; sett aksial gjennomsiktig overgang rotert 90 grader i forhold til skilpaddehodet
     FYLLGJENNOMSIKTIGHET [80, 20, 2, 0, 20, 50, 50] ; sett radial gjennomsiktig overgang fra ytre 80 % til indre 20 % gjennomsikt med 20 % kant og sentrum 50 % horisontalt og vertikalt
    i

### FYLLSTIL

     FYLLSTIL 0 ; fyll uten skravering (standard)
     FYLLSTIL 1 ; svarte, horisontale streker
     FYLLSTIL 2 ; svarte skråstreker (45°)
     FYLLSTIL 3 ; svarte skråstreker (-45°)
     FYLLSTIL 4 ; svarte, vertikale streker
     FYLLSTIL 5 ; røde, kryssende skråstreker (45°)
     FYLLSTIL 6 ; røde, kryssende streker (0°)
     FYLLSTIL 7 ; blå, kryssende streker (45 grader)
     FYLLSTIL 8 ; blå, kryssende streker (0°)
     FYLLSTIL 9 ; 3 blå streker, horisontalt, vertikalt og skrå
     FYLLSTIL 10 ; svarte streker med stor avstand (45°)

     ; egendefinert skravering ut fra en liste med disse argumentene:
     ; – stil (1 = enkel, 2 = dobbel, 3 = trippel skravering)
     ; – farge
     ; – avstand
     ; – grader

     FYLLSTIL [2, “grønn”, 3pt, 15] ; grønn, krysset skravering (15°)

## Tegneobjekter

### SIRKEL

     SIRKEL 100 ; tegnar enn sirkel med diameter 100 pt

### ELLIPSE

     ELLIPSE [50, 100] ; tegnar en ellipse med diametrene 50 og 100
     ELLIPSE [50, 100, 2t, 12t] ; tegnar en sirkelsektor fra 2t (klokka 2) til 12t (klokka 12)
     ELLIPSE [50, 100, 2t, 12t, 2]  ; tegnar et ellipsesegment
     ELLIPSE [50, 100, t, 12h, 3]  ; tegnar en sirkelbuge

### KVADRAT

     KVADRAT 100; tegnar et kvadrat (størrelse = 100 pt)

### REKTANGEL

     REKTANGEL [50, 100] ; tegner et rektangel på 50×100 pt
     REKTANGEL [50, 100, 10] ; tegnar et rektangel med avrundede hjørner

### PUNKT

     PUNKT; tegnar et punkt med samme størrelse og farge som pennen

LUKK kan kobla til det siste punktet, FYLL kan fylle figuren definert av punkt. Det er for eksempel enkelt å tegna en «flat» stjerne ved å begynne i midten av stjerna.

     PENN OPP
     GJENTA 5 [
       FRAM 80
       PUNKT
       TILBAKE 80
       HØYRE 36
       FRAM 50
       PUNKT
       TILBAKE 50
       HØYRE 120
     ] FYLL

### ETIKETT

     ETIKETT “tekst” ; skriv teksten der skilpadda er
     ETIKETT 'tekst' ; se ovenfor
     ETIKETT "tekst ; se ovenfor (berre for et enkelt ord)

### TEKST (TEXT på engelsk)

     SIRKEL 10 TEKST "teksten" ; skriv en tekst for det aktive tegneopbjektet

## Skriftinnstillinger

### TEKSTFARGE

     TEKSTFARGE "grønn" ; setter skriftfargen til grønn

### SKRIFTFAMILIE

     SKRIFTFAMILIE “Linux Libertine G” ; sett skriftfamilien
     SKRIFTFAMILIE “Linux Libertine G:smcp=1” ; sett også skriftfamilien (små bokstaver)
     SKRIFTFAMILIE “Linux Libertine G:smcp=1&onum=1” ; små bokstaver + klassisk stil

### TEKSTSTØRRELSE

     TEKSTSTØRRELSE 12 ; sett skriftstørrelsen til 12 pt

### SKRIFTTYKKELSE

     SKRIFTTYKKELSE “fet” ; setter halvfet skrift
     SKRIFTTYKKELSE “normal” ; setter normalskrift

### SKRIFTSTIL

     SKRIFTSTIL "kursiv" ; bruk kursivskrift
     SKRIFTSTIL "normal" ; bruk normalskrift

## BILDE

Bilde blir brukt får å

- gruppere figurer;

- Starte nye linjefigurer

- lagre SVG-bilder og SVG-/SMIL-animasjoner

- holde plasseringer og linjeformer i forhold til den venstre kanten.

### Gruppering av figurer

     ; BILDEE [ LibreLogo_kommandoer ]
     BILDE [ FOROVER 100 SIRKEL 100 ] ; tre-lignende grupperte former

Se også "Gruppe" i LibreOffice Writer Hjelp.

     Til treplasseringen
      PENN OPP PLASSERING sted RETNING 0 PENN NED
       BILDE [ FOROVER 100 SIRKEL 100 ] ; tre-lignende gruppert form
     SLUTT

     BILDE [ tre [230, 400] tre [300, 400] ] ; gruppert form i gruppert form

### Starte nye strektegninger

     BILDE ; starter en ny strekfigur
     FOROVER 10 BILDE FOROVER 10 ; to strekfigurer

### Lagre SVG-bilde

     BILDE “eksempel.svg” [ SIRKEL 5 ] ; lagre bildet til en SVG bidefil i brukermappen
     BILETE “bibliotek/eksempel.svg” [ FRAM 100 SIRKEL 5 ] ; som ovenfor, men med relativ sti
     BILETE “/home/user/eksempel.svg” [ SIRKEL 5 ] ; absolutt sti for Unix/Linux
     BILDE “C:\eksempel.svg” [ SIRKEL 5 ] ; absolutt sti for Windows

### Lagre SVG-/SMIL-animasjoner (tegninger med PAUSE-kommandoer)

     BILDE “animasjon.svg” [ SIRKEL 5 PAUSE 1000 SIRKEL 99 ] ; lagret som SVG/SMIL-animasjon (se også PAUSE)
     BILDE “animasjon2.svg” [ SIRKEL 5 PAUSE 1000 SIRKEL 99 PAUSE 2000 ] ; som ovenfor, men gjennom å bruke PAUSE etter det siste objektet vil lage en sløyfe. Etter 2 sekunder vil SVG-animasjonen starte på nytt i en nettleser som har støtte for SMIL.

### Justering i forhold til venstre kant

Bruk BILDE for å plassere figurer i forhold til den venstre kanten av Write-dokumentet:

     BILDE [ SIRKEL 20 PLASSERING [-100,100] SIRKEL 20 ]

## Løkker

### GJENTA

     ; GJENTA tall [ kommandoer ]

     GJENTA 10 [ FRAM 10 VENSTRE 45 SIRKEL 10 ] ; gjenta 10 ganger

     Tall er valgfritt

    GJENTA [ PLASSERING ALLE ] ; uendelig løkke

### TELLER

Løkkevariabel (også i FOR og MENS løkker)

     GJENTA 100 [ FOROVER TELLER VENSTRE 90 ]

### FOR I

Løkke for listeelement:

     FOR n I [1, 5, 7, 9, 11] [
       FOROVER n
       VENSTRE 90
     ]

Løkke for tegnene i en tekstsekvens:

     FOR n I  "TEKST" [
     ETIKETT n
     FOROVER 10
     ]

### MENS

     MENS SANN [ PLASSERING ALLE ] ; uendelig løkke
     MENS  TELLER <= 10 [ FOROVER 50 VENSTRE 36 ] ; som GJENTA 10 [ ... ]

### AVBRYT

Stopp løkka.

     GJENTA [ ; uendelig løkke
       PLASSERING ALLE
       VISS TELLER = 100 [ AVBRYT ]  ; det samme som GJENTA 100 [ … ]
     ]

### FORTSETT

Hopp til den neste repetisjonen av løkka.

     GJENTA 100 [
       PLASSERING ALLE
       VISS TELLER % 2 = 0 [FORSETT ]
      SIRKEL 10 ; tegner sirkler i annenhver plassering
     ]

## Vilkår

### HVIS (IF på engelsk)

     ; HVIS vilkår [ sann blokk ]
     ; HVIS vilkår [ sann blokk ] [ usann blokk ]

     HVIS a < 10 [ SKRIV UT “Liten” ]
     HVIS a < 10 [ SKRIV UT “Liten” ] [ SKRIV UT “Stor” ]

### OG, ELLER, IKKE

Logiske operatorer.

     HVIS a < 10 OG IKKE a = 5 [SKRIV UT “0, 1, 2, 3, 4, 6, 7, 8 eller 9” ]
     HVIS a < 10 OG a != 5 [ SKRIV UT “0, 1, 2, 3, 4, 6, 7, 8 eller 9” ] ; I steden for IKKE kan du bruke ! (utropstegnet).

## Subrutiner

### TIL, SLUTT

Nytt ord (eller prosedyre).

     TIL triangel
      GJENTA [ FOROVER 100 HØYRE 120 ] FYLL
     SLUTT

     GJENTA 10 [ triangel PENN OPP PLASSERING ALLE PENN NED ]

### UTDATA

Returnerer verdien av funksjonen.

     TIL tilfeldig bokstav
       UTDATA TILFELDIG “qwertzuiopasdfghjklyxcvbnm”
     SLUTT

     SKRIV UT tilfeldig bokstav +  tilfeldig bokstav +  tilfeldig bokstav ; skriv ut tilfeldig samansatt trebokstavers ord

### STOPP

Gå ut av prosedyren.

     TIL eksempel tall
       HVIS tall < 0 [ STOPP ]
       SKRIV UT KVROT tall ; skriv ut kvatratroten
     ]

     eksempel 100
     eksempel -1 ; ingen utdata og ingen feilmelding
     eksempel 25

## Standardvariabler

### ALLE

Standard verdi for farger etc.

     PENNFARGE ALLE; henter en tilfeldig pennfarge

### TRUE

Logisk verdi.

     MENS SANN [ PLASSERING ALLE ] ; uendelig løkke
     SKRIV UT SANN; skriv ut sann

### FALSE

Logisk verdi.

     MENS IKKE USANN [ PLASSERING ALLE ] ; uendelig løkke
     SKRIV UT USANN ; skriv ut usann

### SIDESTØRRELSE

     SKRIV UT SIDESTØRRELSE ; skriv en liste med sidestørrelsen i punkt, for eksempel [595.30, 841.89]

### PI/π

     SKRIV UT PI ; skriv ut 3.14159265359

## Inndata/utdata

### SKRIV, SKRIV UT

     SKRIV UT "teksten" ; skriv ut "teksten" i dialogvinduet
     SKRIV UT 5 + 10 ; skriv ut 15

### INNDATA

     SKRIV UT INNDATA "Verdi?" ; skriv ut spørsmålet i eit dialogvindu
     SKRIV UT FLYTTAL (INNDATA "Første tallet?") + FLYTTAL (INNDATA "Andre tallet?") ; enkel kalkulator

## PAUSE, SOV

     PAUSE 1000 ; vent i 1000 millisekund (1 sekund)

## GLOBAL

Setter globale variabler brukte i prosedyrer.

     GLOBAL om
     om = “LibreLogo”

     TIL eksempel
       SKRIV UT om
       GLOBAL om ; når vi ønsker å legge en ny verdi i variabelen
       om = “ny verdi for den globale variabelen”
     SLUTT

     eksempel
     SKRIV UT om

## Funksjoner

### TILFELDIG

     SKRIV UT TILFELDIG 100 ; skriv ut et tilfeldig desimaltall (0 <= x < 100)
     SKRIV UT TILFELDIG “tekst” ; skriv ut en tilfeldig bokstav fra teksten “tekst”
     SKRIV UT TILFELDIG [1, 2] ; skriv ut et tilfeldig listeelement (1 eller 2)

### HELTALL (INT på engelsk)

     SKRIV UT HELTALL 3,8 ; skriv ut 3 (heltallsdelen av 3,8)
     SKRIV UT HELTALL TILFELDIG 100 ; et tilfeldig heltal (0 <= x < 100)
     SKRIV UT HELTALL “7” ; omformer strenginnholdet til heltal

### FLYTTALL

     ; konverterer strengparametrene til desimaltall
     SKRIV UT 2 * FLYTTALL “5,5” ; skriv ut 11,0

### STR

     ; konverterer tall til streng
     SKRIV UT “Resultat: ” + STR 5 ; skriv ut “Resultat: 5”
     SKRIV UT 10 * STR 5 ; skriv ut 5555555555

### SQRT

     SKRIV UT KVROT 100 ; skriv ut 10, som er kvadratroten av 100

### SIN

     SKRIV UT SIN 90 * PI/180 ; skriv ut 1,0 (sinus av 90° i radianer)

### COS

     SKRIV UT COS 0 * PI/180 ; skriv ut 1,0 (cosinus av 0° i radianer)

### LOG10

     SKRIV LOG10 100 ; skriv ut 2,0 (logaritmen av 100)

### ROUND

     SKRIV UT AVRUND 3,8 ; skriv ut 4 (som er avrundingen av 3,8)
     SKRIV UT AVRUND TILFELDIG 100 ; et tilfeldig heltall (0 <= x <= 100)

### ABS

     SKRIV UT ABS -10 ; skriv ut 10, som er den absolutte verdien av -10

### COUNT

     SKRIV UT TELL “tekst” ; skriv 5, tallet på bokstaver i “tekst”
     SKRIV UT TELL [1, 2, 3] ; skriv ut 3, størrelsen på listen

### ANGI

     ; Konverterer liste til Python sett
     SKRIV UT SET [4, 5, 6, 6] ; skriv ut {4, 5, 6}
     SKRIV UT SETT [4, 5, 6, 6] | SETT [4, 1, 9] ;skriv ut {1, 4, 5, 6, 9}, union
     SKRIV UT SETT [4, 5, 6, 6] & SETT [4, 1, 9] ; skriv ut {4}, snitt
     SKRIV UT SETT ([4, 5, 6, 6]) - SETT [4, 1, 9] ; skriv ut {5, 6}, differans
     SKRIV UT SETT [4, 5, 6, 6] ^ SETT [4, 1, 9] ; skriv ut {1, 5, 6, 9}, symmetrisk differans

### OMRÅDE

     ; Python-lignende liste generering
     Skriv ut listeområde 10; Skriv ut [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     Print List Range 3 10; Skriv ut [3, 4, 5, 6, 7, 8, 9]
     Print List Range 3 10 3; Skriv ut [3, 6, 9]

     for i i området 10 50 10 [; sløyfe for [10, 20, 30, 40]
     fremover til
     venstre 90
    ]

### LISTE

     ; fjerner element som finnes mer enn en gang i en liste ved hjelp av sett og omforming av listen
     SKRIV UT LISTE (SETT [1, 3, 5, 5, 2, 1]) ; skriv ut [1, 3, 5, 2]

### TUPPLE

Konverterer til Python tuple (liste som ikke kan endres)

     SKRIV UT TUPLE [4, 5]

### SORTERT

Returnerer med en sortert liste

     SKRIV UT SORTERT [5, 1, 3, 4] ; skriv ut [1, 3, 4, 5]

### BYTT UT

Byter ut tegnsekvenser ved hjelp av regexmønster (regulært uttrykk) .

     SKRIV UT BYTT (“t”, “T”, “tekst”) ; skriv ut “Tekst”, men bytter ut «t» med «T»
     SKRIV UT BYTT (“(.)”, “\\1\\1”, “tekst”) ; skriv ut “tteexxtt”, skal dobble hver bokstav, men dette stemmer ikke i min utgave (LO 4.2.0.3).

### SØK (SEARCH på engelsk)

Søker etter bokstavmønster ved hjelp av regex-mønster.

     HVIS SØK (“\w”, word) [ SKRIV UT “Bokstav i ordet.” ]

### FINNALLE

Finn alle bokstavsekvensene i inndatastrengen som passer det angitte regex-mønsteret.

     SKRIV UT FINNALLE(“\w+”, “Hunder, Katter”) ; skriv ut [“Hunder”, “Katter”], det vil si hele listen med ordene.

### MIN

     SKRIV UT MIN [1, 2, 3] ;skriv ut 1, det minste elementet i listen.

### MAX

     SKRIV UT MAKS [1, 2, 3] ; skriv ut 3, det største elementet i listen.

## Fargekonstanter

     PENNFARGE “SØLV” ; sett med navn
     PENNFARGE [1] ; sett med idendifikator
     PENNFARGE “~SØLV” ; tilfeldig sølvfarge

Identifikator | Navn
--- | ---
0 | BLACK (for svart)
1 | SØLV
2 | GRÅ
3 | WHITE (for hvit)
4 | RØDBRUN
5 | RED (for rød)
6 | LILLA
7 | FUKSIA, MAGENTARØD
8 | GREEN (for grønn)
9 | GRESSGRØNN
10 | OLIVENGRØNN
11 | YELLOW (for gul)
12 | MARINEBLÅ
13 | BLUE (for blå)
14 | MØRK GRØNNBLÅ
Sorter rader | CYANBLÅ
16 | ROSA
17 | TOMATRØD
18 | ORANSJE
19 | GULL
20 | FIOLETT
21 | HIMMELBLÅ
22 | SJOKOLADEBRUN
23 | BRUN
24 | USYNELIG