Innhold

# 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

"Tryllestaven"-ikonet setter 2-siders layout for programredigering, utvider og konverterer de forkortede, små bokstavene logokommandoene i Writer-dokumentet til store bokstaver. Endre språket for dokumentet (LibreOffice - Innstillinger Verktøy - Alternativer - Språk og lokale - Generelt - Vestlig) og klikk på dette ikonet for å oversette logoprogrammet 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

Skilpaddeformen til LibreLogo er et tegneobjekt med vanlig fast størrelse. Du kan også plassere og rotere den på standard måte, ved å bruke musen og Roter-ikonet på verktøylinjen for Tegneobjektegenskaper. Endre linjetykkelse, linjefarge og områdefargeinnstillinger for skilpaddeformen for å angi PENSISZE, PENCOLOR og FILLCOLOR-attributtene til 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

     PENSIZE 100 ; linjetykkelse er 100 poeng
     PENSIZE hvilken som helst ; tilsvarer PENSIZE 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

Supporter oss!