Inhoud
Index 🔎︎

# LibreLogo

LibreLogo is een eenvoudige, gelocaliseerde, Logo-achtige programmeeromgeving met turtle vector graphics om computergebruik te leren (programmeren en tekstverwerking), DTP en grafisch ontwerp. Zie http://www.numbertext.org/logo/librelogo.pdf.

## LibreLogo werkbalk

De LibreLogo werkbalk (Beeld - Werkbalken - Logo) bevat 'turtle' bewegingen, mogelijkheid om het programma uit te voeren en te stoppen, alsook de mogelijkheid om terug te keren naar het startscherm en scherm leegmaken, een syntaxis markering/vertaling van pictogrammen en een invoegbalk (opdrachtregel).

## Turtle-pictogrammen voor verplaatsing

Dit zijn equivalenten van de Logo-opdrachten "VOORUIT 10", "TERUG 10", "LINKS 15", "RECHTS 15". Door te klikken op een van de pictogrammen zal de 'turtle-vorm' zich ook richten en de pagina naar zijn positie scrollen.

## Start het Logo-programma

Klik op het pictogram "uitvoeren" om de tekst (of alleen de geselecteerde) van het Writer-document als een LibreLogo programma uit te voeren. In een leeg document zal een voorbeeld-programma worden ingevoegd en uitgevoerd.

Klik op het pictogram "Stop" om het programma te stoppen.

## Home

Klik op het pictogram "Home" om de positie en de instellingen van de turtle te herstellen.

## Scherm leegmaken

Klik op het pictogram "Scherm wissen" om de tekenobjecten uit het document te verwijderen.

## Programma bewerker/Syntaxis markeren/Vertalen

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 - Language Settings - Languages - Western) and click on this icon to translate the Logo program to the selected language.

## Opdrachtregel

Druk op Enter in de opdrachtregel om de inhoud uit te voeren. Om het programma te stoppen gebruikt u het pictogram "Stop".

Houd de toets ENTER ingedrukt om de opdrachtregel te herhalen, bijvoorbeeld met de volgende reeks opdrachten:

     VOORUIT 200 LINKS 89

Om de opdrachtregel te resetten klik er drie keer in of druk op Ctrl-A om de huidige opdrachten te selecteren en de nieuwe commando's in te typen.

## Grafische gebruikersinterface van de fundamentele turtle-instellingen

Turtle van LibreLogo is een normaal tekenobject met vaste grootte. U kunt op de standaard manier positioneren en draaien, met behulp van de muis en het met pictogram Roteren op de werkbalk Eigenschappen van het tekenobject . Wijzig de Lijndikte, Lijn Kleur en Gebiedskleurinstellingen van de Turtle vorm, om de Pengroote- Penkleur- en Vulkleur-attributen van LibreLogo in te stellen.

## Programma bewerken

LibreLogo tekeningen en programma's maken gebruik van hetzelfde Writer-document. Het LibreLogo stramien is op de eerste pagina van het Writer-document. U kunt een pagina-einde invoegen voor de LibreLogo programma's en de zoom/lettergrootte instellen voor een comfortabele twee pagina-indeling voor LibreLogo programmering: links (eerste) pagina is het stramien, rechts (tweede) pagina is voor de LibreLogo programma bewerking.

# LibreLogo programmeertaal

LibreLogo is een inheemse, gemakkelijk op taalinstellingen aanpasbaar, Logo-achtige programmeertaal. Het is terug-compatibel met de oudere Logo systemen, zoals bijvoorbeeld de eenvoudige Logo-programma's die werden gebruikt in het onderwijs.

     VOOR driehoek:size
     HERHAAL 3 [
        VOORUIT:afmeting
       LINKS 120
     ]
     EINDE

     driehoek 10 driehoek 100 driehoek 200

## Verschilt van de Logo programmeertaal

- Lijstleden zijn door komma's gescheiden: POSITIE [0, 0]

- Programma blokken en lijsten zijn verschillend

- - Programmablokken hebben een spatie of een nieuwe regel nodig bij tussen haakjes zetten: HERHAAL 10 [ VOORUIT 10 LINKS 36 ]

  - Lijsten moeten aangesloten teksthaken hebben: POSITIE [0, 0], en niet POSITIE [0, 0 ]

- 1-regel functie-verklaringen worden niet ondersteund (TOT en EINDE moeten op een nieuwe regel).

## Andere functies van LibreLogo

- De dubbele punt is optioneel voor de namen van variabelen.

       Voor driehoek formaat
       HERHAAL 3 [ VOORWAARTS formaat LINKS 120 ]
       EINDE

- String notatie ondersteunt ook orthografische en Python syntaxis.

       AFDRUKKEN "woord ; originele Logo syntaxis
       AFDRUKKEN “Willekeurige tekst.” ; orthografie, Writer
       AFDRUKKEN 'Willekeurige tekst.' ; Python syntaxis

- Python lijst en tekenreeks behandeling

       AFDRUKKEN “tekst”[2] ; afdrukken “e”
       AFDRUKKEN “tekst”[1:3] ; afdrukken “ek”

- Python-achtige VOOR lus

- Python-achtige variabele verklaring:

       x = 15
       AFDRUKKEN x

- Er zijn geen extra opvraag functies:

       AFDRUKKEN OPVULKLEUR
       p = POSITIE
       AFDRUKKEN p
       HERHAAL 10 [ POSITIE ELKE POSITIE p ]

- Alternatieve teksthaken in functie-oproepen

       NAAR ster afmeting kleur
       OPVULKLEUR kleur
       HERHAAL 5 [ LINKS 72 VOORUIT afmeting RECHTS 144 VOORUIT afmeting ]
       VULLEN
       EINDE

       ster 100 “rood”
       ster (100, “groen”)
       ster(100, “blauw”)

# LibreLogo opdrachten

## Basis-syntaxis

### Hoofdlettergevoeligheid

Opdrachten, kleur constanten zijn niet hoofdlettergevoelig:

     AFDRUKKEN “Hallo, Wereld!”
     afdrukken “Hallo, Wereld, opnieuw!”

Namen van variabelen zijn hoofdlettergevoelig.

     a = 5
     A = 7
     AFDRUKKEN a
     AFDRUKKEN A

### Programmaregels

Regels van een LibreLogo programma zijn alinea's in het LibreOffice Writer-document. Een programmaregel kan meerdere opdrachten bevatten:

     AFDRUKKEN “Hallo, Wereld!” AFDRUKKEN “LibreLogo”

### Opmerkingen

Regels of delen van regels zijn opmerkingen vanaf een puntkomma tot het einde van de regel (alinea):

     ; enkele opmerkingen
     AFDRUKKEN 5 * 5 ; enkele opmerkingen

### Splits programmaregels in meerdere alinea's op

Het is mogelijk om een programma regel in meer alinea's af te breken door het tilde-teken aan het einde van de regel te plaatsen:

     AFDRUKKEN “Dit is een erg lang ” + ~
     “waarschuwingsbericht”

## Turtle bewegingen

### VOORUIT (vu)

     VOORUIT 10 ; ga vooruit 10pt (1pt = 1/72 inch)
     VOORUIT 10pt ; als boven
     VOORUIT 0.5in ; ga vooruit 0.5 inch (1 inch = 2.54 cm)
     VOORUIT 1" ; als boven
     FD 1mm
     FD 1cm

### ACHTERUIT (au)

     ACHTERUIT 10; ga achteruit 10pt

### LINKS (li)

     LINKS 90, draai 90 graden tegen de klok in
     LINKS 90°, als hierboven
     LT 3h, als hierboven (klok positie)
     LT elke, draai naar een willekeurige positie

### RECHTS (re)

     RECHTS 90; draai 90 graden met de klok mee

### PENOMHOOH (ph)

     PENOMHOOG; turtle zal bewegen zonder te tekenen

### PENOMLAAG (pl)

     PENOMLAAG ; ´turtle´ zal bewegen en tekenen

### POSITIE (pos)

     POSITIE [0, 0], draai en verplaats naar de linker bovenhoek
     POSITIE PAGINAGROOTTE; draai en verplaats naar de rechter benedenhoek
     POSITIE [PAGINAGROOTTE[0], 0]; draai en verplaats naar de rechter bovenhoek
     POSITIE ELKE ; draai en verplaats naar een willekeurige positie

### RICHTING (rt)

     RICHTING 0; draai naar het noorden
     RICHTING 12h; zie boven
     RICHTING [0,0]; draai naar de linkerboven hoek
     RICHTING EENDER; draai in een eendere richting

## Andere turtle opdrachten

### VERBERG (vb)

     VERBERG; verberg (tot de toon opdracht)

### TOON (tn)

     TOON; toon

### THUIS

     THUIS; Terugzetten van de turtle naar de oorspronkelijke positie

### SCHERMLEEGMAKEN (s)

     SCHERMLEEGMAKEN; verwijder tekenobjecten uit het document

### INVULLEN en SLUITEN

     VULLEN; sluiten en invullen van de actuele lijnvorm of punten
     SLUITEN; sluit de actuele lijnvorm of verbindt de aanwezige punten

Voorbeeld: vullen van een gelijkbenige driehoek:

     VOORUIT 50 LINKS 120 VOORUIT 50 VULLEN

Voorbeeld: tekenen van een gelijkbenige driehoek:

     VOORUIT 50 LINKS 120 VOORUIT 50 SLUITEN

## Pen instellingen

### PENGROOTTE (pg)

     PENGROOTTE 100 ; regelbreedte is 100 punten
     PENGROOTTE  ELKE; equivalent van PENGROOTTE WILLEKEURIG 10

### PENKLEUR (pk)

     PENKLEUR “rood” ; Stel de penkleur in op rood (d.m.v. kleurnaam, kijk bij kleurconstanten)
     PENKLEUR [255, 255, 0] ; stel de penkleur in op geel (RGB lijst)
     PENKLEUR 0xffff00 ; stel kleur geel in (hexa code)
     PENKLEUR 0 ; stel zwart in (0x000000)
     PENKLEUR ELKE ; willekeurige kleur
     PENKLEUR [5] ; stel rood in (d.m.v. kleur-identificatie, kijk bij kleurconstanten)
     PENKLEUR “onzichtbaar” ; onzichtbare penkleur voor vormen zonder zichtbare omlijning
     PENKLEUR “~rood” ; stel een willekleurige kleur rood in

### PENTRANSPARANTIE

     PENTRANSPARANTIE 80 ; stelt de transparantie van de actuele penkleur in op 80%

### PENEINDE/LIJNEINDE

     PENEINDE “geen” ; zonder extra lijneinde (standaard)
     PENEINDE “rond” ; afgeronde lijneinde
     PENEINDE “vierkant” ; vierkante lijneinde

### PENVERBINDING/LIJNVERBINDING

     PENVERBINDING “afgerond” ; afgeronde lijnverbinding (standaard)
     PENVERBINDING “snijdend” ; sherpe lijnverbinding
     PENVERBINDING “afschuinen” ; afgeschuinde lijnverbinding
     PENVERBINDING “geen” ; zonder lijnverbinding

### PENSTIJL

     PENSTIJL “ononderbroken” ; ononderbroken lijn (standaard)
     PENSTIJL “gestippeld” ; stippellijn
     PENSTIJL “gestreept” ; streepjeslijn

     ; gebruikergedefineerde streep-stiplijn gespecificeerd door de volgende lijst van argumenten:
     ; – aantal aansluitende stippen
     ; – lengte van een stip
     ; – aantal aansluitende streepjes
     ; – lengte van een streepje
     ; – afstand tussen stipjes/streepjes
     ; – type (optioneel):
     ;   0 = stipjes zijn rechthoekjes (standaard)
     ;   2 = stipjes zijn vierkantjes (lengtes en afstanden zijn gerelateerd aan de pengrootte)

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

## Opvul eigenschappen

### OPVULKLEUR (ok)

     OPVULKLEUR "blauw"; vult met de kleur blauw, zie ook PENKLEUR
    OPVULKLEUR "onzichtbaar" CIRKEL 10; niet gevulde cirkel
     OPVULKLEUR ["blauw", "rood"]; kleurovergang tussen rood en blauw
     OPVULKLEUR [[255, 255, 255], [255, 128, 0]] ; tussen wit en oranje
     OPVULKLEUR ["blauw", "rood",1, 0, 0]; stel de hoek van de kleurovergang in (met de gewenste rotatie en randen), mogelijke waarden zijn: 0-5 = lineair, axiaal, elliptisch, vierkant en rechthoekig
     OPVULKLEUR [“rood”, “blauw”, 0, 90, 20] ; lineair met 20% rand, 90 graden gedraaid ten opzichte van de huidige richting van de schildpad
     OPVULKLEUR [“rood”, 'blauw”, 0, 90, 20, 0, 0, 200, 50] ; van 200% tot 50% intensiteit
     OPVULKLEUR [ELKE, ELKE, 2, 0, 0, 50, 50] ; radiale kleurovergang met random kleuren en 50-50% horizontale en verticale posities vanaf het centrum.

### Vullingstransparantie

     OPVULTRANSPARANTIE 80 ; stel de transparantie van de actuele opvulkleur in op 80%
     OPVULTRANSPARANTIE [80] ; stel de lineaire transparantie van de kleurovergang in van 80% naar 0%
     OPVULTRANSPARANTIE [80, 20] ; stel de lineaire transparantie van de kleurovergang in van 80% naar 20%
     OPVULTRANSPARANTIE [80, 20, 1, 90] ; stel de axiale transparantie van de kleurovergang in, met 90 graden gedraaid ten opzichte van de actuele richting van de schildpad
     OPVULTRANSPARANTIE [80, 20, 2, 0, 20, 50, 50] ; stel radiale transparantie van de kleurovergang in vanaf de buitenste 80% tot binnenste 20% transparantie met 20% rand en met 50-50% horizontale en verticale posities uit het centrum

### VULLING

     VULLING 0; vullen zonder arcering (standaard)
     VULLING 1; zwarte enkele arcering (horizontaal)
     VULLING 2; zwarte enkele arcering (45 graden)
     VULLING 3; zwarte enkele arcering (-45 graden )
     VULLING 4; zwarte enkele arcering (verticaal)
     VULLING 5; rode gekruiste arcering (45 graden)
     VULLING 6; rode gekruiste arcering (0 graden)
     VULLING 7; blauwe gekruiste arcering (45 graden)
     VULLING 8; blauwe gekruiste arcering (0 graden)
     VULLING 9; blauwe driedubbele arcering
     VULLING 10; zwarte brede enkele arcering (45 graden)
     <br />; gebruikergedefinieerde arcering gespecificeerd door een lijst met de volgende argumenten:
    ; - stijl (1 = enkele, 2 = dubbele, 3 = driedubbele, arcering )
    ; - kleur
    ; - afstand
    ; - mate
     VULLING [2, "groen", 3pt, 15 °]; groene gekruiste arcering (15 graden)

## Tekenopbjecten

### CIRKEL

     CIRKEL 100 ; teken een cirkelvorm (diameter = 100pt)

### ELLIPS

     ELLIPS [50, 100] ; teken een ellips met de diameters 50 en 100
     ELLIPS [50, 100, 2h, 12h] ; teken een elliptische sector (van klokpositie 2 uur tot 12 uur)
     ELLIPS [50, 100, 2h, 12h, 2]  ; teken een elliptisch segment
     ELLIPS [50, 100, 2h, 12h, 3]  ; teken een elliptische boog

### VIERKANT

     VIERKANT 100 ; teken een vierkantsvorm (grootte= 100pt)

### RECHTHOEK

     RECHTHOEK [50, 100] ; teken een rechthoekige vorm (50×100pt)
     RECHTHOEK [50, 100, 10] ; teken een rechthoek met afgeronde hoeken

### PUNT

     PUNT; teken een punt met de afmeting en kleur van de pen

SLUITEN kan de laatste punten verbinden, VULLEN kan de vorm sluiten die door punten is gedefinieerd. Bijvoorbeeld: het is eenvoudig om een "platte" ster te tekenen door vanuit het midden daarvan te beginnen:

     PENOMHOOG
     HERHAAL 5 [
       VOORUIT 80
       PUNT
     TERUG 80
       RECHTS 36
       VOORUIT 50
       PUNT
       TERUG 50
       RECHTS 120
     ] VULLEN

### LABEL

     LABEL "tekst"; afdrukken van tekst in de 'turtle-positie'
     LABEL 'tekst', als hierboven
     LABEL "tekst, als hierboven (alleen voor afzonderlijke woorden)

### TEKST

     CIRKEL 10 TEKST "tekst"; stelt de tekst van het tekenobject in

## LETTERTYPE instellingen

### LETTERKLEUR

     LETTERKLEUR “groen” ; stel de letterkleur in

### TEKSTFAMILIE

     TEKSTFAMILIE “Linux Libertine G” ; stel lettertype (familie) in
     TEKSTFAMILIE “Linux Libertine G:smcp=1” ; stel ook het tekstkenmerk (kleine letters) in
     TEKSTFAMILIE “Linux Libertine G:smcp=1&onum=1” ; kleine letters + oude afbeeldingen

### LETTERGROOTTE

     LETTERGROOTTE12 ; stel in 12pt

### LETTERDIKTE

     LETTERDIKTE “vet” ; stel letteropmaak vet in
     LETTERDIKTE “normaal” ; stel letteropmaak normaal in

### TEKSTSTIJL

     TEKSTSTIJL “cursief” ; instellen cursief
     TEKSTSTIJL “normaal” ; instellen normaal

## AFBEELDING (afb)

AFBEELDING is voor

- vorm groepering;

- nieuwe regelvormen starten;

- SVG afbeeldingen en SVG/SMIL animaties opslaan;

- de consistentie van posities en lijnvormen aan de linker rand behouden.

### Vorm groepering

     ; AFBEELDING [ LibreLogo_opdrachten]
     AFBEELDING [ VOORWAARTS 100 CIRKEL 100 ] ; boom-achtig gegroepeerde vorm

Bekijk ook “Groeperen” in LibreOffice Writer Help.

     VOOR boom locatie
       PENOMHOOG POSITIE locatie KOP 0 PENOMLAAG
       AFBEELDING[ VOORUIT 100 CIRKEL 100 ] ; boom-achtige gegroepeerde vorm
     EINDE

     AFBEELDING [ boom [230, 400] boom [300, 400] ] ; gegroepeerde vormen in een gegroepeerde vorm

### Nieuwe lijnvormen maken

     AFBEELDING ; maak een nieuwe lijnvorm
     VOORUIT 10 AFBEELDING VOORUIT 10 ; twee lijnvormen

### SVG afbeeldingen opslaan

     AFBEELDING “voorbeeld.svg” [ CIRCLE 5 ] ; sla de afbeelding op als een SVG image bestand op in de gebruikersfolder
     AFBEELDING “bureaublad/voorbeeld.svg” [ VOORUIT 100 CIRKEL 5 ] ; zoals hierboven, met een  relatief pad
     AFBEELDING “/home/user/voorbeeld.svg” [ CIRKEL 5 ] ; absoluut pad voor Unix/Linux
     AFBEELDING “C:\voorbeeld.svg” [ CIRCLE 5 ] ; absoluut pad voor Windows

### SVG/SMIL animaties opslaan (Tekeningen met het commando SLAAP)

     AFBEELDING “animatie.svg” [ CIRKEL 5 SLAAP 1000 CIRKEL 99 ] ; sla op als een SVG/SMIL animatie (zie ook SLAAP)
     AFBEELDING “animatie2.svg” [ CIRKEL 5 SLAAP 1000 CIRKEL 99 SLAAP 2000 ] ; zoals hierboven, maar door gebruik van SLAAP na het laatste object zal in een lus resulteren: na 2 seconden herstart de SVG animatie in SMIL compatibele bladeraars

### Consistentie bij de linker rand

Gebruik AFBEELDING om de consistentie van posities en lijnvormen op de linker rand van Writer te behouden:

     AFBEELDING [ CIRKEL 20 POSITIE [-100, 100] CIRKEL 20 ]

## Lussen

### HERHAAL

     ; HERHAAL aantal [ opdrachten]

     HERHAAL 10 [ VOORUIT 10 LINKS 45 CIRKEL 10 ] ; herhaal 10 keer

     ; aantal is optioneel

     HERHAAL [ POSITIE ELKE] ; eindloze looping

### KEERHERHAAL

Looping variabele (ook in de VOOR en ZOLANG loopings).

     HERHAAL 100 [ VOORWAARTS KEERHERHAAL LINKS 90 ]

### IN

Lus voor de lijstelementen:

     ZOLANG i IN [1, 5, 7, 9, 11] [
       VOORUIT i
       LINKS 90
     ]

Looping voor de karakters van een tekenreeks:

     ZOLANG i IN “tekst” [
     LABEL i
     VOORUIT 10
     ]

### ZOLANG

     ZOLANG WAAR [ POSITIE ELKE ] ; eindeloze lus
     ZOLANG KEERHERHAAL <= 10 [ VOORUIT 50 LINKS 36 ] ; as HERHAAL 10 [ ... ]

### AFBREKEN

Stop de lus

     HERHAAL [ ; eindeloze lus
       POSITIE ELKE
       ALS KEERHERHAAL = 100 [ AFBREKEN]  ; equivalent van HERHAAL 100 [ ... ]
     ]

### DOORGAAN

Spring in de volgende iteratie van de lus.

     HERHAAL 100 [
      POSITIE ELKE
      ALS KEERHERHAAL % 2 <> 0 [ DOORGAAN]
      CIRKEL 10 ; teken cirkels op elke 2de positie
     ]

## Voorwaarden

### OF

     ; ALS voorwaarde [ waar blok ]
     ; ALS voorwaarde [ waar blok ] [ onwaar blok ]

     ALS a < 10 [ AFDRUKKEN “Klein” ]
     ALS a < 10 [ AFDRUKKEN “Klein” ] [ AFDRUKKEN “Groot” ]

### EN, OF, NIET

Logische operatoren

     ALS a < 10 EN NIET a = 5 [ DRUK AF “0, 1, 2, 3, 4, 6, 7, 8 of 9” ]
     ALS a < 10 EN a != 5 [ DRUK AF “0, 1, 2, 3, 4, 6, 7, 8 of 9” ] ; zoals hierboven

## Subroutines

### NAAR, EINDE

Nieuwe woorden (of procedure).

     NAAR driehoek
     HERHAAL 2[ VOORWAARTS 100 RECHTS 120 ] INVULLEN
     EINDE

     HERHAAL 10 [ driehoek PENOMHOOG POSITIE ELKE PENOMLAAG ]

### UITVOER

Resultaatwaarde van de functie.

     OM willekeurigteken
     UITVOER WILLEKEURIG "qwertzuiopasdfghjklyxcvbnm"
     EINDE

     AFDRUKKEN willekeurigteken+ willekeurigteken+ willekeurigteken; afdrukken 3-tekens willekeurige tekenreeks

### STOP

Keer terug uit de procedure.

     TOT voorbeeld nummer
       ALS getal < 0 [STOP]
       AFDRUKKEN SQRT nummer; afdrukken vierkantswortel
     ]

     bijvoorbeeld 100
     bijvoorbeeld -1 ; zonder uitvoer en fout
     voorbeeld 25

## Standaard variabelen

### ELKE

Standaard willekeurige waarde van kleuren e.d.

     PENKLEUR ELKE; willekeurige penkleur

### WAAR

Logische waarde.

     ZOLANG WAAR [ POSITION ANY ] ; eindloze looping
     AFDRUKKEN WAAR ; druk af waar

### ONWAAR

Logische waarde.

     ZOLANG NIET ONWAAR [ POSITIE ELKE ] ; eindloze lus
     AFDRUKKEN ONWAAR ; afdrukken onwaar

### PAGINAGROOTTE

     AFDRUKKEN PAGINAGROOTTE ; afdrukken lijst van paginagroottes in punten, zoals [595.30, 841.89]

### PI/π

     AFDRUKKEN PI ; afdrukken 3.14159265359

## Invoer/Uitvoer

### AFDRUKKEN

     AFDRUKKEN “tekst” ; afdrukken “tekst” in een dialoogvenster
     AFDRUKKEN 5 + 10 ; afdrukken 15

### INVOER

     AFDRUKKEN INVOER “Invoerwaarde?” ; vraag en druk een tekenreeks in elk opvraagdialoogvenster af
     AFDRUKKEN FLOAT (INVOER “Eerste nummer?”) + FLOAT (INVOER “Tweede nummer?”) ; simpele rekenmachine

## SLAAP

     SLAAP 1000: wacht 1000 ms (1 sec)

## GLOBAAL

Stel de globale variabelen die in procedures worden gebruikt in.

     GLOBAAL over
     over= “LibreLogo”

     TOT voorbeeld
     AFDRUKKEN over
     GLOBAAL over; wanneer we een nieuwe waarde willen toevoegen
     over= “nieuwe waarde voor de globale variabele”
     EINDE

     voorbeeld
     AFDRUKKEN over

## Functies

### WILLEKEURIG

     WILLEKEURIG AFDRUKKEN 100 ; willekeurig drijvendekommagetal (0 <= x < 100)
     WILLEKEURIG AFDRUKKEN “tekst” ; willekeurige letter uit de “tekst”
     WILLEKEURIG AFDRUKKEN [1, 2] ; willekeurig lijstelement (1 of 2)

### INT

     AFDRUKKEN INT 3,8 ; afdrukken 3 (integer deel van 3,8)
     AFDRUKKEN INT WILLEKEURIG 100 ; willekeurig integer getal (0 <= x < 100)
     AFDRUKKEN INT “7” ; converteert de tekenreeks-parameter naar een heel getal

### FLOAT

     ; converteert de tekenreeksparameter naar een drijvendekommagetal
     AFDRUKKEN 2 * FLOAT “5,5” ; afdrukken 11,0

### STR

     ; converteert de parameter aantal naar een tekenreeks
     AFDRUKKEN “Resultaat: ” + STR 5 ; afdrukken “Resultaat: 5”
     AFDRUKKEN 10 * STR 5 ; afdrukken 5555555555

### SQRT

     AFDRUKKEN SQRT 100 ; afdrukken 10, vierkantswortel van 100

### SIN

     AFDRUKKEN SIN 90 * PI/180 ; afdrukken 1.0 (sinus van 90° in radialen)

### COS

     AFDRUKKEN COS 0 * PI/180 ; afdrukken 1.0 (cosinus van 0° in radialen)

### LOG10

     AFDRUKKEN LOG10 100 ; print 2.0 (gewone logarithme van 100)

### RONDAF

     AFDRUKKEN RONDAF 3.8 ; afdrukken 4 (afronding 3.8)
     AFDRUKKEN RONDAF WILLEKEURIG 100 ; willekeurig geheel nummer (0 <= x <= 100)

### ABS

     AFDRUKKEN ABS -10 ; afdrukken 10, absolute waarde van -10

### AANTAL

     AFDRUKKEN AANTAL “tekst” ; afdrukken 4, karakteraantal van “tekst”
     AFDRUKKEN AANTAL [1, 2, 3] ; afdrukken 3, grootte van de lijst

### SET

     ; Converteert de lijst naar een Python-set
     AFDRUKKEN SET [4, 5, 6, 6] ; afdrukken{4, 5, 6}
     AFDRUKKEN SET [4, 5, 6, 6] | SET [4, 1, 9] ; afdrukken {1, 4, 5, 6, 9}, vereniging
     AFDRUKKEN SET [4, 5, 6, 6] & SET[4, 1, 9] ; afdrukken {4}, doorsnede
     AFDRUKKEN SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; afdrukken {5, 6}, verschil
     AFDRUKKEN SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; afdrukken {1, 5, 6, 9}, symmetrisch verschil

### BEREIK

     ; Maken van een Python-achtige lijst
     AFDRUKKEN BEREIK 10 ; afdrukken [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     AFDRUKKEN BEREIK 3 10 ; afdrukken [3, 4, 5, 6, 7, 8, 9]
     AFDRUKKEN BEREIK 3 10 3 ; afdrukken [3, 6, 9]

     ZOLANG i IN BEREIK 10 50 10 [ ; lus zolang [10, 20, 30, 40]
     VOORUIT i
     LINKS 90
     ]

### LIJST

     ; verwijder de herhalende elementen uit een lijst gebruikmakend van instellingen en lijstconversies
     AFDRUKKEN LIJST (STEL IN [1, 3, 5, 5, 2, 1]) ; afdrukken [1, 3, 5, 2]

### TUPEL

Conversie naar Python tupel (niet-wijzigbare lijst)

     AFDRUKKEN TUPEL [4, 5]

### GESORTEERD

Het resultaat is een gesorteerde lijst.

     AFDRUKKEN GESORTEERD [5, 1, 3, 4] ; afdrukken [1, 3, 4, 5]

### SUB

Vervang tekenreeksen met regex (reguliere expressie) patronen.

     AFDRUKKEN SUB (“t”, “T”, “tekst”) ; afdrukken “Tekst”, vervangt “t” door “T”
     AFDRUKKEN SUB (“(.)”, “\\1\\1”, “tekst”) ; afdrukken “tteekksstt”, verdubbelt alle tekens

### ZOEKEN

Zoek tekenreeks-patronen met behulp van regex patronen.

     ALS ZOEKEN (“\w”, woord) [ AFDRUKKEN“Letter in het woord.” ]

### ALLES ZOEKEN

Zoek alle tekenreeksen in de invoertekenreeks die gelijk zijn aan het gegeven regex-patroon.

     AFDRUKKEN ZOEKALLE(“\w+”, “Honden, katten.”) ; afdrukken [“Honden”, “katten”], de lijst van de woorden.

### MIN

     AFDRUKKEN MIN [1, 2, 3] ; afdrukken 1, het laagste element van de lijst

### MAX

     AFDRUKKEN MAX [1, 2, 3] Afdrukken 3, het grootste element van de lijst

## Kleurconstanten

     PENKLEUR “ZILVER” ; stelt in op naam
     PENKLEUR [1] ; stelt in op aanwijzingen
     PENKLEUR “~ZILVER” ; willekeurige kleur zilver

Aanwijzing | Naam
0 | ZWART
1 | ZILVER
2 | GRIJS
3 | WIT
4 | KASTANJEBRUIN
5 | ROOD
6 | PAARS
7 | FUCHSIA/MAGENTA
8 | GROEN
9 | LIMOEN
10 | OLIJFGROEN
11 | GEEL
12 | MARINEBLAUW
13 | BLAUW
14 | GROENBLAUW
15 | WATER/CYAAN
16 | ROOS/ROZE
17 | TOMAAT
18 | ORANJE
19 | GOUD
20 | VIOLET
21 | HEMELSBLAUW
22 | CHOCOLADEBRUIN
23 | BRUIN
24 | ONZICHTBAAR