Contingut
Índex 🔎︎

# LibreLogo

El LibreLogo és un entorn de programació similar al Logo, simple i traduït, amb imatges vectorials de tortuga per ensenyar programació i processament de text, DTP i creació d'imatges. Visiteu http://www.numbertext.org/logo/librelogo.pdf.

## Barra d'eines del LibreLogo

La barra d'eines del LibreLogo (Visualitza ▸ Barres d'eines ▸ Logo) conté icones per a moure la tortuga, executar i parar el programa, anar a l'inici i netejar la pantalla, realçar i traduir la sintaxi; a més d'una barra d'entrada (línia d'ordes).

## Icones per moure la tortuga

Són equivalents a les ordres del Logo «AVANÇA 10», «RETROCEDEIX 10», «ESQUERRA 15», «DRETA 15». Fer clic a una de les icones, també també posarà el focus sobre la forma de la tortuga i desplaçarà la pàgina fins a la seva posició.

## Inicia el programa Logo

Feu clic a la icona «Inicia el programa Logo» per a executar tot el text (o només el text seleccionat) del document del Writer com un programa del LibreLogo. En un document buit, s'inserirà i executarà un programa d'exemple.

Feu clic a la icona «Atura» per a aturar l'execució del programa.

## Inici

Feu clic a la icona «Inici» per a restablir la posició i els paràmetres de la tortuga.

## Neteja la pantalla

Feu clic la icona «Neteja la pantalla» per a suprimir els objectes dibuixats del document.

## Editor de programes/realçament de la sintaxi/traducció

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.

## Línia d'ordres

Premeu Retorn a la línia d'ordres per a executar-ne el contingut. Per a aturar el programa utilitzeu la icona «Atura».

Manteniu premuda la tecla «Retorn» per repetir la línia d'ordes, per exemple, en la seqüència d'ordes següent:

     AVANÇA 200 ESQUERRA 89

Per a reinicialitzar la línia d'ordres, feu triple clic o premeu Ordre Ctrl+A per a seleccionar les ordres anteriors i escriure les noves.

## Interfície gràfica d'usuari dels paràmetres bàsics de la tortuga

La forma de tortuga de LibreLogo és un objecte normal de dibuix de mida fixa. També podeu col·locar-lo i girar-lo de manera estàndard, utilitzant el ratolí i la icona 'Girar' de la barra d'eines 'Propietats de l'objecte de dibuix'. Modifiqueu els paràmetres d'amplada, color de línia i de l'àrea de la forma de la tortuga per establir els atributs PENSIZE, PENCOLOR i FILLCOLOR del LibreLogo.

## Edició del programa

Els dibuixos i els programes del LibreLogo utilitzen el mateix document del Writer. El llenç del LibreLogo se situa a la primera pàgina del document del Writer. Amb la icona «Vareta màgica» podeu crear una disposició de dues pàgines per a programar còmodament: s'inserirà un salt de pàgina abans dels programes del LibreLogo i es configurarà l'escala de visualització per a veure dues pàgines alhora. Així tindreu el llenç a la primera pàgina i el codi a la segona.

# Llenguatge de programació LibreLogo

LibreLogo és un llenguatge de programació similar al Logo, fàcilment traduïble, disponible en diversos llengües gràcies a comunitats natives del LibreOffice. Per exemple, és compatible cap enrere amb els sistemes Logo antics per al cas de programes Logo senzill usats en àmbit educatiu.

     FINS.A triangle :mida
     REPETEIX 3 [
       AVANÇA :mida
       ESQUERRA 120
     ]
     FINAL

     triangle 10 triangle 100 triangle 200

## Diferències amb el llenguatge de programació Logo

- Els membres de la llista se separen amb comes: POSICIÓ [0, 0]

- Els blocs de programa i les llistes són diferents

- - Program blocks need space or new line at parenthesization: REPEAT 10 [ FORWARD 10 LEFT 36 ]

  - Les llistes requereixen els parèntesis sense espai: POSICIÓ[0, 0], i no pas POSICIÓ [ 0, 0 ]

- No s'admeten les declaracions de funcions en una única línia (FINS.A i FINAL necessiten línies noves).

## Altres funcionalitats del LibreLogo

- Els dos punts són opcionals abans del nom de les variables.

       FINS A triangle mida
         REPETEIX 3 [ AVANÇA mida ESQUERRA 120 ]
       FINAL

- La notació de les cadenes també permet sintaxi ortogràfica i la de Python.

       IMPRIMEIX "paraula ; sintaxi original del llenguatge Logo
       IMPRIMEIX “Text arbitrari.” ; ortografia, Writer
       IMPRIMEIX 'Text arbitrari.' ; sintaxi del llenguatge Python

- Gestió de llistes i cadenes del llenguatge Python

       IMPRIMEIX “text”[2] ; imprimeix “x”
       IMPRIMEIX “text”[1:3] ; imprimeix “ex”

- Bucle PER.A similar al Python

- Declaració de variables similar al Python:

       x = 15
       IMPRIMEIX x

- No hi ha funcions de consulta addicionals:

       PRINT FILLCOLOR
       p = POSITION
       PRINT p
       REPEAT 10 [ POSITION ANY POSITION p ]

- Sintaxi alternativa en la invocació de funcions amb paràmetres

       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”)

# Ordres del LibreLogo

## Sintaxi bàsica

### Distinció entre majúscules i minúscules

Les ordres i constants de color no distingeixen entre majúscules i minúscules:

     IMPRIMEIX “Hola, món!”
     imprimeix “Hola, món, altra vegada!”

Els noms de variable sí distingeixen entre majúscules i minúscules:

     a = 5
     A = 7
     IMPRIMEIX a
     IMPRIMEIX A

### Línies de programa

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

     IMPRIMEIX “Hola, món!” IMPRIMEIX “LibreLogo”

### Comentaris

Les línies o parts de línies són comentaris des d'un punt i coma fins al final de la línia (paràgraf):

     ; alguns comentaris
     IMPRIMEIX 5 * 5 ; alguns comentaris

### Partició de línies del programa en múltiples paràgrafs

És possible partir una línia del programa en diversos paràgrafs afegint una titlla (~) a la fi de la línia:

     IMPRIMEIX “Aquest és un missatge d'avís” + ~
           “molt llarg”

## Moviment de la tortuga

### RETROCEDEIX/RECULA/ENRERE (re)

     FORWARD 10 ; move forward 10pt (1pt = 1/72 inch)
     FORWARD 10pt ; see above
     FORWARD 0.5in ; move forward 0.5 inch (1 inch = 2.54 cm)
     FORWARD 1" ; see above
     FD 1mm
     FD 1cm

### RETROCEDEIX/RECULA/ENRERE (re)

     RETROCEDEIX 10 ; mou enrere 10 punts

### ESQUERRA/GIRA.ESQUERRA (ge)

     ESQUERRA 90 ; gira 90 graus en sentit antihorari
     ESQUERRA 90° ; vegeu amunt
     GE 3h ; vegeu amunt (posició del rellotge)
     GD qualsevol ; gira a una posició aleatòria

### DRETA/GIRA.DRETA (gd)

     DRETA 90 ; gira 90 graus en sentit horari

### AIXECA.LLAPIS (al)

     AIXECA.LLAPIS ; la tortuga es mourà sense dibuixar

### BAIXA.LLAPIS (bl)

     BAIXA.LLAPIS ; la tortuga es mourà dibuixant

### POSICIÓ (pos)

     POSITION [0, 0] ; turn and move to the top-left corner
     POSITION PAGESIZE ; turn and move to the bottom-right corner
     POSITION [PAGESIZE[0], 0] ; turn and move to the top-right corner
     POSITION ANY ; turn and move to a random position

### HEADING (seth)

     HEADING 0 ; turn north
     HEADING 12h ; see above
     HEADING [0, 0] ; turn to the top-left corner
     HEADING ANY ; turn to a random direction

## Altres ordres de la tortuga

### AMAGA.TORTUGA/OCULTA.TORTUGA (at/ot)

     AMAGA.TORTUGA ; amaga la tortuga (fins l'ordre mostra.tortuga)

### MOSTRA.TORTUGA (mt)

     MOSTRA.TORTUGA ; mostra la tortuga

### INICI/CENTRE

     INICI ; reinicialitza la configuració i posició de la tortuga

### NETEJA.DIBUIX/INICIA.DIBUIX (net/id)

     NETEJA.DIBUIX ; suprimeix tots els objectes dibuixats del document

### OMPLE i TANCA

     FILL ; close and fill the actual line shape or points
     CLOSE ; close the actual line shape or join the actual points

Exemple: emplenament d'un triangle equilàter:

     AVANÇA 50 ESQUERRA 120 AVANÇA 50 OMPLE

Exemple: dibuix d'un triangle equilàter:

     AVANÇA 50 ESQUERRA 120 AVANÇA 50 TANCA

## Paràmetres del llapis

### MIDA.LLAPIS (ml)

     MIDA.LLAPIS 100 ; l'amplada de la línia és de is 100 punts
     MIDA.LLAPIS QUALSEVOL ; és equivalent a  MIDA.LLAPIS ALEATORI 10

### COLOR.LLAPIS (cl)

     PENCOLOR “red” ; set red pen color (by color name, see color constants)
     PENCOLOR [255, 255, 0] ; set yellow color (RGB list)
     PENCOLOR 0xffff00 ; set yellow color (hexa code)
     PENCOLOR 0 ; set black color (0x000000)
     PENCOLOR ANY ; random color
     PENCOLOR [5] ; set red color (by color identifier, see color constants)
     PENCOLOR “invisible” ; invisible pen color for shapes without visible outline
     PENCOLOR “~red” ; set random red color

### PENTRANSPARENCY

     PENTRANSPARENCY 80 ; set the transparency of the actual pen color to 80%

### PENCAP/LINECAP

     PENCAP “none” ; without extra line end (default)
     PENCAP “round” ; rounded line end
     PENCAP “square” ; square line end

### PENJOINT/LINEJOINT

     PENJOINT “rounded” ; rounded line joint (default)
     PENJOINT “miter” ; sharp line joint
     PENJOINT “bevel” ; bevel line joint
     PENJOINT “none” ; without line joint

### ESTIL.LLAPIS

     PENSTYLE “solid” ; solid line (default)
     PENSTYLE “dotted” ; dotted line
     PENSTYLE “dashed” ; dashed line

     ; custom dot–dash pattern specified by a list with the following arguments:
     ; – number of the neighbouring dots
     ; – length of a dot
     ; – number of the neighbouring dashes
     ; – length of a dash
     ; – distance of the dots/dashes
     ; – type (optional):
     ;   0 = dots are rectangles (default)
     ;   2 = dots are squares (lengths and distances are relative to the pensize)

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

## Paràmetres d'emplenat

### COLOR.EMPLENAMENT (ce)

     FILLCOLOR “blue” ; fill with blue color, see also PENCOLOR
     FILLCOLOR “invisible” CIRCLE 10 ; unfilled circle
     FILLCOLOR [“blue”, “red”] ; gradient between red and blue
     FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; between white and orange
     FILLCOLOR [“blue”, “red”, 1, 0, 0] ; set axial gradient (with the required rotation and border settings), possible values: 0-5 = linear, axial, radial, elliptical, square and rectangle gradients
     FILLCOLOR [“red”, “blue”, 0, 90, 20] ; linear with 20% border, rotated with 90 degrees from the actual heading of the turtle
     FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; from 200% to 50% intensity
     FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; radial gradient with random colors and 50-50% horizontal and vertical positions of the center

### FILLTRANSPARENCY

     FILLTRANSPARENCY 80 ; set the transparency of the actual fill color to 80%
     FILLTRANSPARENCY [80] ; set linear transparency gradient from 80% to 0%
     FILLTRANSPARENCY [80, 20] ; set linear transparency gradient from 80% to 20%
     FILLTRANSPARENCY [80, 20, 1, 90] ; set axial transparency gradient rotated with 90 degrees from the actual heading of the turtle
     FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; set radial transparency gradient from outer 80% to inner 20% transparency with 20% border and with 50-50% horizontal and vertical positions of the center

### ESTIL.EMPLENAMENT

     FILLSTYLE 0 ; fill without hatches (default)
     FILLSTYLE 1 ; black single hatches (horizontal)
     FILLSTYLE 2 ; black single hatches (45 degrees)
     FILLSTYLE 3 ; black single hatches (-45 degrees)
     FILLSTYLE 4 ; black single hatches (vertical)
     FILLSTYLE 5 ; red crossed hatches (45 degrees)
     FILLSTYLE 6 ; red crossed hatches (0 degrees)
     FILLSTYLE 7 ; blue crossed hatches (45 degrees)
     FILLSTYLE 8 ; blue crossed hatches (0 degrees)
     FILLSTYLE 9 ; blue triple crossed
     FILLSTYLE 10 ; black wide single hatches (45 degrees)

     ; custom hatches specified by a list with the following arguments:
     ; – style (1 = single, 2 = double, 3 = triple hatching)
     ; – color
     ; – distance
     ; – degree

     FILLSTYLE [2, “green”, 3pt, 15°] ; green crossed hatches (15 degrees)

## Dibuix d'objectes

### CERCLE

     CERCLE 100 ; dibuixa un cercle (amb un diàmetre de100 punts)

### EL·LIPSE

     ELLIPSE [50, 100] ; draw an ellipse with 50 and 100 diameters
     ELLIPSE [50, 100, 2h, 12h] ; draw an elliptical sector (from 2h clock position to 12h)
     ELLIPSE [50, 100, 2h, 12h, 2]  ; draw an elliptical segment
     ELLIPSE [50, 100, 2h, 12h, 3]  ; draw an elliptical arc

### QUADRAT

     QUADRAT 100 ; dibuixa un quadrat (amb costat de mida 100 punts)

### RECTANGLE

     RECTANGLE [50, 100] ; dibuixa una forma rectangular (50 × 100 pt)
     RECTANGLE [50, 100, 10] ; dibuixa un rectangle amb cantonades arrodonides

### PUNT

     POINT ; draw a point with size and color of the pen

CLOSE can join the last points, FILL can fill the shape defined by points. For example, it’s easy to draw a “flat” star starting from its center:

     PENUP
     REPEAT 5 [
       FORWARD 80
       POINT
       BACK 80
       RIGHT 36
       FORWARD 50
       POINT
       BACK 50
       RIGHT 120
     ] FILL

### ETIQUETA

     LABEL “text” ; print text in the turtle position
     LABEL 'text' ; see above
     LABEL "text ; see above (only for single words)

### TEXT

     CERCLE 10 TEXT “text” ; defineix el text de l'objecte de dibuix actual

## Paràmetres de les lletres tipogràfiques

### COLOR.LLETRA

     COLOR.LLETRA "verd" ; estableix el color de la lletra

### FAMÍLIA.LLETRA

     FAMÍLIA.LLETRA “Linux Libertine G” ; defineix el tipus de lletra (família)
     FAMÍLIA.LLETRA "Linux Libertine G:smcp=1” ; estableix també la funció del tipus de lletra (majúscules petites)
     FAMÍLIA.LLETRA “Linux Libertine G:smcp=1&onum=1” ; majúscules petites + figures antigues

### MIDA.LLETRA

     MIDA.LLETRA 12 ; estableix 12 punts

### PES.LLETRA

     PES.LLETRA “negreta” ; estableix el tipus de lletra a negreta
     PES.LLETRA “normal” ; estableix el pes de lletra normal

### ESTIL.LLETRA

     ESTIL.LLETRA “cursiva” ; estableix la variant cursiva
     ESTIL.LLETRA “normal” ; estableix la variant normal

## PICTURE (pic)

PICTURE is for

- agrupar formes;

- començar formes de línies noves;

- desar imatges SVG i animacions SVG/SMIL;

- keeping the consistency of positions and line shapes at the left border.

### Agrupació de formes

     ; PICTURE [ LibreLogo_commands ]
     PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape

See also “Group” in LibreOffice Writer Help.

     TO tree location
       PENUP POSITION location HEADING 0 PENDOWN
       PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
     END

     PICTURE [ tree [230, 400] tree [300, 400] ] ; grouped shapes in a grouped shape

### Starting new line shapes

     PICTURE ; start a new line shape
     FORWARD 10 PICTURE FORWARD 10 ; two line shapes

### Desament d'imatges SVG

     PICTURE “example.svg” [ CIRCLE 5 ] ; save the picture as an SVG image file in the user folder
     PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; as above, with a relative path
     PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; absolute path for Unix/Linux
     PICTURE “C:\example.svg” [ CIRCLE 5 ] ; absolute path for Windows

### Saving SVG/SMIL animations (drawings with SLEEP commands)

     PICTURE “animation.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; save as an SVG/SMIL animation (see also SLEEP)
     PICTURE “animation2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; as above, but using SLEEP after the last object will result looping: after 2 seconds the SVG animation restarts in SMIL-conformant browsers

### Consistency at the left border

Use PICTURE to keep the consistency of positions and line shapes at the left border of Writer:

     PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]

## Bucles

### REPETEIX

     ; REPETEIX nombre [ ordres ]

     REPETEIX 10 [ AVANÇA 10 ESQUERRA 45 CERCLE 10 ] ; repeteix 10 vegades

     ; number is optional

     REPEAT [ POSITION ANY ] ; endless loop

### REPETEIX.VEGADES

Variable del bucle (també per als bucles PER.A i MENTRE).

     REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]

### FOR IN

Bucle per als elements de llista:

     FOR i IN [1, 5, 7, 9, 11] [
       FORWARD i
       LEFT 90
     ]

Loop for the characters of a character sequence:

     FOR i IN “text” [
       LABEL i
       FORWARD 10
     ]

### MENTRE

     WHILE TRUE [ POSITION ANY ] ; endless loop
     WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; as REPEAT 10 [ ... ]

### SALTA/TRENCA

Atura el bucle.

     REPEAT [ ; endless loop
       POSITION ANY
       IF REPCOUNT = 100 [ BREAK ]  ; equivalent of the REPEAT 100 [ ... ]
     ]

### CONTINUA

Va la següent iteració del bucle.

     REPEAT 100 [
       POSITION ANY
       IF REPCOUNT % 2 = 0 [ CONTINUE ]
       CIRCLE 10 ; draw circles on every 2nd positions
     ]

## Condicions

### SI

     ; IF condition [ true block ]
     ; IF condition [ true block ] [ false block ]

     IF a < 10 [ PRINT “Small” ]
     IF a < 10 [ PRINT “Small” ] [ PRINT “Big” ]

### I, O, NO

Operadors lògics.

     IF a < 10 AND NOT a = 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ]
     IF a < 10 AND a != 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ] ; as above

## Subrutines

### TO, END

New word (or procedure).

     TO triangle
       REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
     END

     REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]

### SORTIDA

Retorna el valor de la funció.

     TO randomletter
       OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
     END

     PRINT randomletter + randomletter + randomletter ; print 3-letter random character sequence

### ATURA

Return from the procedure.

     TO example number
       IF number < 0 [ STOP ]
       PRINT SQRT number ; print square root
     ]

     example 100
     example -1 ; without output and error
     example 25

## Variables per defecte

### QUALSEVOL

Valor aleatori per defecte dels colors, etc.

     COLOR.LLAPIS QUALSEVOL; color del llapis aleatori

### CERT/VERITAT

Valor lògic.

     WHILE TRUE [ POSITION ANY ] ; endless loop
     PRINT TRUE ; print true

### FALS

Valor lògic.

     WHILE NOT FALSE [ POSITION ANY ] ; endless loop
     PRINT FALSE ; print false

### MIDA.PÀGINA

     IMPRIMEIX MIDA.PÀGINA ; impremeix la llista de mides de pàgina en punts, p. ex. [595.30, 841.89]

### PI/π

     IMPRIMEIX PI ; imprimeix 3.14159265359

## Entrada/Sortida

### IMPRIMEIX

     PRINT “text” ; print “text” in a dialog box
     PRINT 5 + 10 ; print 15

### ENTRADA

     PRINT INPUT “Input value?” ; ask and print a string by a query dialog box
     PRINT FLOAT (INPUT “First number?”) + FLOAT (INPUT “Second number?”) ; simple calculator

## ESPERA/DORM

     ESPERA 1000 ; espera durant 1000 ms (1 segon)

## GLOBAL

Defineix les variables globals utilitzades als procediments.

     GLOBAL about
     about = “LibreLogo”

     TO example
       PRINT about
       GLOBAL about ; when we want to add a new value
       about = “new value for the global variable”
     END

     example
     PRINT about

## Funcions

### ALEATORI

     IMPRIMEIX ALEATORI 100 ; nombre decimal aleatori (0 <= x < 100)
     IMPRIMEIX ALEATORI "text” ; lletra aleatòria de “text”
     IMPRIMEIX ALEATORI [1, 2] ; element aelatòri de la llista (1 o 2)

### INT

     (Productes lt;sala1gt;[sala2][] 3.8 ; imprimeix la part 3 a" de 3.8)
     [<identificador (el valor KE Irssi 100 ; multiplica un nombre enter (0 (0<= x < 100)
     (l'objecte INT alemany) INT de -1 per a convertir el paràmetre de cadena

### FLOAT

     ; convert the string parameter to float number
     PRINT 2 * FLOAT “5.5” ; print 11.0

### STR

     ; convert the number parameter to string
     PRINT “Result: ” + STR 5 ; print “Result: 5”
     PRINT 10 * STR 5 ; print 5555555555

### ARRELQ

     IMPRIMEIX ARRELQ 100 ; impreix 10, l'arrel quadra de 100

### SIN

     IMPRIMEIX SIN 90 * PI/180 ; imprimeix 1.0 (el sinus de 90° en radians)

### COS

     IMPRIMEIX COS 0 * PI/180 ; imprimeix 1.0 (el cosinus de 0° en radians)

### LOG10

     PRINT LOG10 100 ; print 2.0 (common logarithm of 100)

### ARRODONEIX|ARROD

     PRINT ROUND 3.8 ; print 4 (rounding 3.8)
     PRINT ROUND RANDOM 100 ; random integer number (0 <= x <= 100)

### ABS

     IMPRIMEIX ABS -10 ; imprimeix 10, el valor absolut de -10

### COMPTA

     IMPRIMEIX COMPTA "text" ; imprimeix 4, el nombre de caràcters de «text»
     IMPRIMEIX COMPTA [1, 2, 3] ; imprimeix 3, mida de la llista

### CONJUNT

     ; Convert list to Python set
     PRINT SET [4, 5, 6, 6] ; print {4, 5, 6}
     PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; print {1, 4, 5, 6, 9}, union
     PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; print {4}, intersection
     PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; print {5, 6}, difference
     PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; print {1, 5, 6, 9}, symmetric difference

### INTERVAL

     ; 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
     ]

### LLISTA

     ; remove the repeating elements of a list using set and list conversion
     PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; print [1, 3, 5, 2]

### TUPLE

Conversió a tupla de Python (llista no modificable)

     PRINT TUPLE [4, 5]

### SORTED

It returns with a sorted list.

     PRINT SORTED [5, 1, 3, 4] ; print [1, 3, 4, 5]

### SUB

Substitueix seqüències de caràcters mitjançant expressions regulars.

     PRINT SUB (“t”, “T”, “text”) ; print “Text”, replacing “t” with “T”
     PRINT SUB (“(.)”, “\\1\\1”, “text”) ; print “tteexxtt”, doubling every characters

### CERCA

Cerca seqüències de caràcters usant expressions regulars.

     IF SEARCH (“\w”, "word") [ PRINT “Letter in the word.” ]

### CERCA.TOT

Troba totes les seqüències de caràcters al text d'entrada que corresponguin amb el patró de l'expressió regular donat.

     PRINT FINDALL(“\w+”, “Dogs, cats.”) ; print [“Dogs”, “cats”], the list of the words.

### MÍN/MIN

     PRINT MIN [1, 2, 3] ; print 1, the lowest element of the list

### MÀX/MAX

     PRINT MAX [1, 2, 3] ; print 3, the greatest element of the list

## Constants de color

     PENCOLOR “PLATA” ; definit pel nom
     PENCOLOR [1] ; definit per identificadors
     PENCOLOR “~PLATA” ; color plata aleatori

Identificador | Nom
--- | ---
0 | NEGRE
1 | PLANTA|ARGENT
2 | GRIS
3 | BLANC
4 | GRANAT/GRANA
5 | VERMELL/ROIG
6 | PORPRA/PÚRPURA
7 | FÚCSIA/MAGENTA
8 | VERD
9 | LLIMA/VERD.LLIMA
10 | OLIVA/VERD.OLIVA
11 | GROC
12 | MARÍ/BLAU.MARÍ
13 | BLAU
14 | JADE
15 | CIAN
16 | ROSA
17 | TOMÀQUET/TOMATA
18 | TARONJA
19 | OR
20 | VIOLAT/VIOLETA
21 | CEL/BLAU.CEL
22 | XOCOLATA
23 | MARRÓ
24 | INVISIBLE