LibreLogo Toolbar

From LibreOffice Help
Jump to: navigation, search

LibreLogo es un ambiente de programación al estilo del lenguaje Logo, simple y traducido, con gráficos vectoriales «de tortuga». Está diseñado para la enseñanza de computación (programación y procesamiento de textos), publicación electrónica y diseño gráfico. Consulte http://www.numbertext.org/logo/librelogo.pdf.

Contents

La barra de herramientas de LibreLogo (Ver ▸ Barras de herramientas ▸ Logo) contiene iconos para mover la tortuga, iniciar y detener el programa, ir al inicio, vaciar la pantalla, editar el código, resaltar la sintaxis y traducirla, así como una barra de entrada de datos (línea de órdenes).

Iconos para mover la tortuga

Son equivalentes a las órdenes de Logo «ADELANTE 10», «ATRÁS 10», «IZQUIERDA 15», «DERECHA 15». Al pulsar en uno de los iconos se enfocará también la forma de la tortuga, desplazando la página a su posición.

Pulse en el icono «Iniciar programa de Logo» para ejecutar todo el texto —o la selección— en el documento de Writer como un programa de LibreLogo. Si utiliza este botón en un documento vacío, se insertará y ejecutará un programa de ejemplo.

Pulse en el icono «Detener» para parar la ejecución del programa.

Inicio

Pulse en el icono «Inicio» para restablecer la posición y la configuración de la tortuga.

Limpiar la pantalla

Pulse en el icono «Limpiar la pantalla» para quitar los objetos de dibujo del documento.

Editor de programas/resalte de sintaxis/traducción

El icono «Varita mágica» define una disposición en dos páginas para la edición del programa y extiende y convierte en mayúsculas las órdenes de Logo abreviadas en el documento de Writer. Cambie el idioma del documento (Herramientas ▸ Opciones ▸ Configuración de idioma ▸ Idiomas ▸ Occidental) y pulse en este icono para traducir el programa de Logo al idioma seleccionado.

Línea de órdenes

Oprima Intro en la línea de órdenes para ejecutar su contenido. Para detener el programa, pulse en el icono «Detener».

Mantenga oprimida la tecla Intro para repetir la línea de órdenes, por ejemplo, en la siguiente secuencia de órdenes:

ADELANTE 200 IZQUIERDA 89

Para restablecer la línea de comandos pulse tres veces con el ratón en ella u oprima Ctrl+A para seleccionar los comandos anteriores, y escriba los comandos nuevos.

Interfaz gráfica de usuario de la configuración básica de la tortuga

La tortuga de LibreLogo es un objeto de dibujo de tamaño fijo. Puede posicionarlo y girarlo como cualquier otro objeto: con el ratón y con el icono Girar de la barra de herramientas Propiedades de objeto de dibujo. Las propiedades «Anchura de línea», «Color de línea» y «Color del área» de la tortuga corresponden a las órdenes TAMAÑO.LÁPIZ, COLOR.LÁPIZ y COLOR.RELLENO de LibreLogo.

Edición de programas

Los dibujos y los programas de LibreLogo usan el mismo documento de Writer. El lienzo de LibreLogo se ubica en la primera página del documento de Writer. Puede insertar un salto de página antes de los programas de LibreLogo y configurar la escala de visualización para ver dos páginas a la vez con el icono «Varita mágica», y así ver el lienzo en la primera página y el código en la segunda.

LibreLogo es un lenguaje de programación similar a Logo y traducido a varios idiomas por la comunidad de LibreOffice. Es compatible retroactivamente con sistemas Logo más antiguos, como los que se suelen utilizar en programas educativos, por ejemplo.

HACIA triángulo :size
REPETIR 3 [
ADELANTE :size
IZQUIERDA 120
]
FIN

triángulo 10 triángulo 100 triángulo 200

  • Los miembros de la expresión van separados por comas: POSICIÓN [0, 0]
  • Los bloques de programa y las listas son diferentes
    • Los bloques de programa necesitan un espacio o salto de línea en los corchetes: REPETIR 10 [ ADELANTE 10 IZQUIERDA 36 ]
  • Las listas necesitan parentización sin espacios: POSITION [0, 0], y no POSITION [ 0, 0 ]


  • No se admiten las declaraciones de funciones en una sola línea (A y FIN necesitan estar en líneas separadas).

  • Los dos puntos son opcionales antes de los nombres de variables.

    TO triangle size
    REPEAT 3 [ FORWARD size LEFT 120 ]
    END

  • La notación de las cadenas también admite la sintaxis ortográfica y la de Python.

    PRINT "palabra ; sintaxis original de Logo
    PRINT “Texto arbitrario.” ; ortografía, Writer
    PRINT 'Texto arbitrario.' ; sintaxis de Python

  • Manejo de listas y cadenas de Python

    PRINT “texto”[2] ; imprime “x”
    PRINT “texto”[1:3] ; imprime “ex”

  • Bucle FOR similar al de Python
  • Declaración de variables similar a la de Python:

    x = 15
    PRINT x

  • No hay funciones de consulta adicionales:

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

  • Disposición de paréntesis alternativa en llamadas a funciones

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

Sintaxis básica

Distinción entre mayúsculas y minúsculas

Las órdenes y las constantes de color no distinguen entre mayúsculas y minúsculas:

PRINT “Hola, Mundo!”
print “Hola, Mundo, de nuevo!”

Los nombres de las variables distinguen entre mayúsculas y minúsculas:

a = 5
A = 7
PRINT a
PRINT A

Líneas del programa

Las líneas de un programa de LibreLogo son los párrafos de un documento de LibreOffice Writer. Una línea del programa puede contener múltiples comandos:

PRINT “Hola, Mundo!” PRINT “LibreLogo”

Comentarios

El punto y coma sirve para identificar las líneas —o parte de ellas— como comentarios:

; algunos comentarios
PRINT 5 * 5 ; algunos comentarios

Rompe las líneas del programa en varios párrafos

Es posible interrumpir un renglón del programa para continuar en otro, usando una virgulilla al final de la línea:

PRINT “Este es un mensaje de advertencia ” + ~
“muy largo”

Mover la tortuga

FORWARD (fd)

FORWARD 10 ; avanza 10pt (1pt = 1/72 pulgadas)
FORWARD 10pt ; ver más arriba
FORWARD 0.5in ; avanza 0,5 pulgadas (1 pulgada = 2,54 cm)
FORWARD 1" ; ver más arriba
FD 1mm
FD 1cm

BACK (bk)

BACK 10 ; retrocede 10pt

LEFT (lt)

LEFT 90 ; gira 90 grados en sentido antihorario
LEFT 90° ; ver más arriba
LT 3h ; ver más arriba (posición del reloj)
LT any ; gira de forma aleatoria

RIGHT (rt)

RIGHT 90 ; gira 90 grados en sentido horario

PENUP (pu)

PENUP ; la tortuga se moverá sin dibujar

PENDOWN (pd)

PENDOWN ; la tortuga se moverá dibujando

POSICIÓN (pos)

POSITION [0, 0] ; gira y se desplaza a la esquina superior izquierda
POSITION PAGESIZE ; gira y se desplaza a la esquina inferior derecha
POSITION [PAGESIZE[0], 0] ; gira y se desplaza a la esquina superior derecha
POSITION ANY ; gira y se desplaza a una posición aleatoria

HEADING (seth)

HEADING 0 ; gira hacia el norte
HEADING 12h ; ver más arriba
HEADING [0, 0] ; gira hacia la esquina superior izquierda
HEADING ANY ; gira en una dirección aleatoria

Otras órdenes de la tortuga

HIDETURTLE (ht)

HIDETURTLE ; oculta la tortuga (hasta que se utilice el comando showturtle)

SHOWTURTLE (st)

SHOWTURTLE ; muestra la tortuga

HOME

HOME ; reinicia la configuración y la posición inicial de la tortuga

CLEARSCREEN (cs)

CLEARSCREEN ; elimina los objetos de dibujo del documento

FILL y CLOSE

RELLENAR ; cierra y rellena la línea o los puntos de la forma actual
CERRAR ; cierra la forma de la línea actual o une los puntos de la forma

Ejemplo. Para rellenar un triángulo:

ADELANTE 50 IZQUIERDA 120 ADELANTE 50 RELLENAR

Ejemplo. Para dibujar un triángulo:

ADELANTE 50 IZQUIERDA 120 ADELANTE 50 CERRAR

Opciones de la pluma

PENSIZE (ps)

PENSIZE 100 ; el ancho de línea es 100 puntos
PENSIZE ANY ; equivalente a PENSIZE RANDOM 10

COLOR.LÁPIZ (cl)

PENCOLOR “red” ; establece el color de la pluma en rojo (por nombre de color, ver constantes de colores)
PENCOLOR [255, 255, 0] ; establece el color amarillo (lista RGB)
PENCOLOR 0xffff00 ; establece el color amarillo (código hexadecimal)
PENCOLOR 0 ; establece el color negro (0x000000)
PENCOLOR ANY ; color aleatorio
PENCOLOR [5] ; establece el color rojo (color por identificador, ver constantes de colores)
PENCOLOR “invisible” ; establece el color invisible para formas sin contornos
PENCOLOR “~red” ; establece un color rojo aleatorio

PENTRANSPARENCY

PENTRANSPARENCY 80 ; establece la transparencia del color de pluma actual en el 80%

PENCAP/LINECAP

PENCAP “none” ; sin final de línea (predeterminado)
PENCAP “round” ; final de línea redondeado
PENCAP “square” ; final de línea rectangular

PENJOINT/LINEJOINT

PENJOINT “rounded” ; unión de línea redondeada (predeterminado)
PENJOINT “miter” ; unión de línea afilada
PENJOINT “bevel” ; unión de línea biselada
PENJOINT “none” ; sin unión de línea

PENSTYLE

PENSTYLE “solid” ; línea solida (predeterminado)
PENSTYLE “dotted” ; línea punteada
PENSTYLE “dashed” ; línea a rayas

 ; patrón punto-raya personalizado especificado por una lista con los siguientes argumentos:
 ; – número de puntos consecutivos
 ; – tamaño del punto
 ; – número de rayas consecutivas
 ; – tamaño de las rayas
 ; – distancia entre los puntos/rayas
 ; – tipo (opcional):
 ; 0 = los puntos son rectángulos (predeterminado)
 ; 2 = los puntos son cuadrados (los tamaños y las distancias son relativos al tamaño de pluma)

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

Configuración de rellenado

FILLCOLOR/FILLCOLOUR (fc)

COLOR.RELLENO “azul” ; rellenar con azul. Véase también COLOR.LÁPIZ
COLOR.RELLENO “invisible” CÍRCULO 10 ; círculo sin relleno
COLOR.RELLENO [“azul”, “rojo”] ; degradado entre rojo y azul
COLOR.RELLENO [[255, 255, 255], [255, 128, 0]] ; entre blanco y naranja
COLOR.RELLENO [“azul”, “rojo”, 1, 0, 0] ; definir degradado axial (con el giro y el borde configurados). Valores admitidos: 0-5 = degradado lineal, axial, radial, elíptico, cuadrado o rectangular
COLOR.RELLENO [“rojo”, “azul”, 0, 90, 20] ; lineal con borde al 20 %, girado 90° a partir de la cabeza de la tortuga
COLOR.RELLENO [“rojo”, “azul”, 0, 90, 20, 0, 0, 200, 50] ; de 200 % a 50 % de intensidad
COLOR.RELLENO [ANY, ANY, 2, 0, 0, 50, 50] ; degradado radial con colores al azar y posiciones horizontal y vertical 50-50 % desde el centro

FILLTRANSPARENCY

FILLTRANSPARENCY 80 ; establece la transparencia del color de relleno actual en el 80%
FILLTRANSPARENCY [80] ; establece la transparencia del degradado lineal desde el 80% hasta el 0%
FILLTRANSPARENCY [80, 20] ; establece la transparencia del degradado lineal desde el 80% hasta el 20%
FILLTRANSPARENCY [80, 20, 1, 90] ; establece la transparencia del degradado axial rotado un ángulo de 90 grados desde la cabeza de la tortuga
FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; establece la transparencia del degradado axial desde el 80% de transparencia exterior al 20% de transparencia interior con un borde del 20% y posicionado horizontal y verticalmente 50-50% desde el centro

FILLSTYLE

FILLSTYLE 0 ; rellena sin trazado (predeterminado)
FILLSTYLE 1 ; trazado simple negro (horizontal)
FILLSTYLE 2 ; trazado simple negro (45 grados)
FILLSTYLE 3 ; trazado simple negro (-45 grados)
FILLSTYLE 4 ; trazado simple negro (vertical)
FILLSTYLE 5 ; trazado cruzado rojo (45 grados)
FILLSTYLE 6 ; trazado cruzado rojo (0 grados)
FILLSTYLE 7 ; trazado cruzado azul (45 grados)
FILLSTYLE 8 ; trazado cruzado azul (0 grados)
FILLSTYLE 9 ; triple cruzado azul
FILLSTYLE 10 ; trazado grueso negro (45 grados)

 ; trazado personalizado especificado por una lista con los siguientes argumentos:
 ; – estilo (1 = simple, 2 = doble, 3 = triple)
 ; – color
 ; – distancia
 ; – ángulo (grados)

FILLSTYLE [2, “green”, 3pt, 15°] ; trazado cruzado verde (15 grados)

Dibujar objetos

CÍRCULO

CÍRCULO 100 ; dibujar un círculo (con un diámetro de 100 puntos)

ELIPSE

ELLIPSE [50, 100] ; dibuja una elipse con diámetros 50 y 100
ELLIPSE [50, 100, 2h, 12h] ; dibuja un sector elíptico (en sentido horario desde las 2 hasta las 12 horas)
ELLIPSE [50, 100, 2h, 12h, 2]  ; dibuja un segmento elíptico
ELLIPSE [50, 100, 2h, 12h, 3]  ; dibuja un arco elíptico

CUADRADO

CUADRADO 100 ; dibuja un cuadrado (tamaño = 100 pt)

RECTÁNGULO

RECTÁNGULO [50, 100] ; trazar un rectángulo (de 50 × 100 pt)
RECTÁNGULO [50, 100, 10] ; trazar un rectángulo con las esquinas redondeadas

PUNTO

PUNTO ; dibuja un punto con el tamaño y el color de la pluma

Con CERRAR se pueden unir los últimos puntos, y con RELLENAR es posible colorear la forma definida por los puntos. Por ejemplo, puede trazar una estrella a partir de su centro.

SUBIRLAPIZ
REPETIR 5 [
ADELANTE 80
PUNTO
ATRAS 80
DERECHA 36
ADELANTE 50
PUNTO
ATRAS 50
DERECHA 120
] RELLENAR

ETIQUETA

LABEL “texto” ; imprime el texto en la posición de la tortuga
LABEL 'texto' ; ver más arriba
LABEL "texto ; ver más arriba (solo para una palabra)

TEXTO

CÍRCULO 10 TEXTO “texto” ; definir el textro del objeto de dibujo activo

Opciones de fuentes

FONTCOLOR/FONTCOLOUR

FONTCOLOR “green” ; establece el color de la fuente

FONTFAMILY

FONTFAMILY “Linux Libertine G” ; establece la fuente (familia)
FONTFAMILY “Linux Libertine G:smcp=1” ; establece también el tipo de capitalización (minúsculas)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; minúsculas + figuras antiguas

FONTSIZE

FONTSIZE 12 ; establece 12pt

FONTWEIGHT

FONTWEIGHT “bold” ; establece el tipo de letra en negrita
FONTWEIGHT “normal” ; establece el ancho de letra en normal

FONTSTYLE

FONTSTYLE “italic” ; establece la variante cursiva
FONTSTYLE “normal” ; establece la variante normal

PICTURE (pic)

PICTURE es para

  • agrupación de formas;
  • inicio de formas de línea nuevas;
  • guardar las imágenes SVG y las animaciones SVG/SMIL;
  • manteniendo la coherencia de las posiciones y formas de línea en el margen izquierdo.

Agrupación de formas

; PICTURE [ Comandos LibreLogo ]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; agrupa en forma de árbol

Consulte también «Grupo» en la ayuda de LibreOffice Writer.

TO tree location
PENUP POSITION location HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; agrupación en forma de árbol
END

PICTURE [ tree [30, 50] tree [100, 50] ] ; formas agrupadas en una forma de grupo

Iniciar nuevas formas de línea

PICTURE ; empieza una nueva forma de línea
FORWARD 10 PICTURE FORWARD 10 ; dos formas de línea

Guardar imágenes SVG

PICTURE “example.svg” [ CIRCLE 5 ] ; guarda el dibujo como una imagen SVG en la carpeta del usuario
PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; como arriba, pero con una ruta relativa
PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; ruta absoluta en Unix/Linux
PICTURE “C:\example.svg” [ CIRCLE 5 ] ; ruta absoluta en Windows

Guardar animaciones SVG/SMIL (dibujos con el comando SLEEP)

PICTURE “animation.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; guarda como una animación SVG/SMIL (vea también SLEEP)
PICTURE “animation2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; como arriba, pero usando SLEEP después del último objeto resultará en un bucle: después de 2 segundos la animación SVG vuelve a empezar en los navegadores compatibles con SMIL

Consistencia en el borde izquierdo

Utilice la imagen para mantener la coherencia de las posiciones y formas de línea en el borde izquierdo de Writer:

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

Bucles

REPEAT

; REPEAT número [ comandos ]

REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; repite 10 veces

; el número es opcional

REPEAT [ POSITION ANY ] ; bucle infinito

REPCOUNT

variable del bucle (también en los bucles FOR y WHILE).

REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]

FOR IN

Bucle para los elementos de la lista:

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

Bucle para los caracteres de una secuencia de caracteres:

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

BLANCO

WHILE TRUE [ POSITION ANY ] ; bucle infinito
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; lo mismo que REPEAT 10 [ ... ]

BREAK

Detiene el bucle.

REPEAT [ ; bucle infinito
POSITION ANY
IF REPCOUNT = 100 [ BREAK ]  ; equivalente a REPEAT 100 [ ... ]
]

CONTINUAR

Salta a la siguiente iteración del bucle.

REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 = 0 [ CONTINUE ]
CIRCLE 10 ; dibuja círculos en todas las segundas posiciones
]

Condiciones

SI

; IF condition [ true block ]
 ; SI condición [ bloque verdadero ] [ bloque falso ]

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

Y, O, NO

Operadores lógicos.

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” ] ; como anteriormente

Subrutinas

TO, END

Palabra nueva (o procedimiento).

TO triangle
REPEAT [ FORWARD 100 RIGHT 120 ] FILL
END

REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]

SALIDA

Devolver el valor de la función.

TO randomletter
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END

PRINT randomletter + randomletter + randomletter ; imprime una secuencia de 3 caracteres aleatorios

DETENER

Salida del procedimiento.

TO example number
IF number < 0 [ STOP ]
PRINT SQRT number ; imprime la raíz cuadrada
]

example 100
example -1 ; sin salida ni error
example 25

Variables predeterminadas

ANY

Valor aleatorio predeterminado de los colores, etc.

PENCOLOR ANY ; color de pluma aleatorio

TRUE

Valor lógico.

WHILE TRUE [ POSITION ANY ] ; bucle infinito
PRINT TRUE ; imprime verdadero

FALSE

Valor lógico.

WHILE NOT FALSE [ POSITION ANY ] ; bucle infinito
PRINT FALSE ; imprime falso

PAGESIZE

PRINT PAGESIZE ; imprime la lista de tamaños de página en puntos, p.e. [595.30, 841.89]

PI/π

PRINT PI ; imprime 3.14159265359

Entrada/salida

PUNTO

PRINT “texto” ; imprime “texto” en un cuadro de diálogo
PRINT 5 + 10 ; imprime 15

INPUT

PRINT INPUT “¿Valor de entrada?” ; pregunta e imprime una cadena de texto requerida por un cuadro de diálogo
PRINT FLOAT (INPUT “¿Primer número?”) + FLOAT (INPUT “¿Segundo número?”) ; calculadora simple

SLEEP

SLEEP 1000 ; espera durante 1000 ms (1 segundo)

GLOBAL

Establecer las variables usadas en los procedimientos.

GLOBAL about
about = “LibreLogo”

TO example
PRINT about
GLOBAL about ; cuando queremos añadir un nuevo valor
about = “nuevo valor para la variable global”
END

example
PRINT about

Funciones

ALEATORIO

PRINT RANDOM 100 ; número decimal aleatorio (0 <= x < 100)
PRINT RANDOM “texto” ; letra aleatoria de la palabra “texto”
PRINT RANDOM [1, 2] ; elemento aleatorio de la lista (1 o 2)

ENTERO

PRINT INT 3.8 ; imprime 3 (la parte entera de 3,8)
PRINT INT RANDOM 100 ; número aleatorio entero (0 <= x < 100)
PRINT INT “7” ; convierte la cadena de texto en un número entero

FLOAT

; convierte la cadena de texto en un número decimal
PRINT 2 * FLOAT “5.5” ; imprime 11,0

STR

; convierte el número en una cadena de texto
PRINT “Resultado: ” + STR 5 ; imprime “Resultado: 5”
PRINT 10 * STR 5 ; imprime 5555555555

SQRT

PRINT SQRT 100 ; imprime 10, la raíz cuadrada de 100

SIN

PRINT SIN 90 * PI/180 ; imprime 1.0 (el seno de 90° en radianes)

COS

PRINT COS 0 * PI/180 ; imprime 1.0 (el coseno de 0° en radianes)

LOG10

PRINT LOG10 100 ; imprime 2.0 (el logaritmo en base 10 de 100)

ROUND

PRINT ROUND 3.8 ; imprime 4 (3.8 redondeado)
PRINT ROUND RANDOM 100 ; imprime un número entero aleatorio (0 <= x <= 100)

ABS

PRINT ABS -10 ; imprime 10, el valor absoluto de -10

COUNT

PRINT COUNT “texto” ; imprime 5, el número de caracteres de “texto”
PRINT COUNT [1, 2, 3] ; imprime 3, el tamaño de la lista

SET

; Convierte la lista en un conjunto de Python
PRINT SET [4, 5, 6, 6] ; imprime {4, 5, 6}
PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; imprime {1, 4, 5, 6, 9}, unión
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; imprime {4}, intersección
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; imprime {5, 6}, diferencia
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; imprime {1, 5, 6, 9}, diferencia simétrica

NARANJA

; generación de listas Python
PRINT RANGE 10 ; imprime [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 ; imprime [3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 3 ; imprime [3, 6, 9]

FOR i IN RANGE 10 50 10 [ ; bucle para [10, 20, 30, 40]
FORWARD i
LEFT 90
]

LISTA

; elimina los elementos repetidos en una lista utilizando SET y LIST
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; imprime [1, 3, 5, 2]

TUPLE

Conversión a tupla de Python (lista no modificable)

PRINT TUPLE [4, 5]

SORTED

Devuelve una lista ordenada.

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

SUB

Sustituir secuencias de carácteres utilizando patrones «regex» (expresiones regulares).

PRINT SUB (“t”, “T”, “texto”) ; imprime “Texto”, reemplazando la “t” con “T”
PRINT SUB (“(.)”, “\\1\\1”, “texto”) ; imprime “tteexxttoo”, duplicando cada carácter

BUSCAR

Buscar secuencias de carácteres usando patrones de expresiones regulares.

IF SEARCH (“\p”, palabra) [ PRINT “Letra en la palabra.” ]

FINDALL

Encontrar todas las secuencias de caracteres en la cadena de entrada que coincidan con el patrón de expresiones regulares.

PRINT FINDALL(“\w+”, “Perros, gatos.”) ; imprime [“Perros”, “gatos”], la lista de palabras.

MIN

PRINT MIN [1, 2, 3] ; imprime 1, el elemento menor de la lista

MAX

PRINT MAX [1, 2, 3] ; imprime 3, el elemento mayor de la lista

Constantes de colores

PENCOLOR “SILVER” ; definido por nombre
PENCOLOR [1] ; definido por identificador
PENCOLOR “~SILVER” ; color plateado aleatorio

Identificador Nombre
0 NEGRO
1 PLATA
2 GRIS
3 BLANCO
4 MAROON
5 ROJO
6 PURPLE
7 FUCSIA/MAGENTA
8 VERDE
9 LIMA
10 OLIVA
11 AMARILLO
12 NAVY
13 AZUL
14 TEAL
15 AQUA
16 ROSA
17 TOMATE/JITOMATE
18 NARANJA
19 ORO
20 VIOLETA
21 SKYBLUE
22 CHOCOLATE
23 BROWN
24 INVISIBLE