LibreLogo

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.

Barra de herramientas de LibreLogo

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.

Iniciar programa de Logo

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 idiomas ▸ 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 órdenes, pulse tres veces con el ratón en ella u oprima Ctrl + A para seleccionar las órdenes anteriores y, a continuación, escriba las órdenes nuevas.

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 posicionarla y girarla 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 de á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.

Lenguaje de programación LibreLogo

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

Diferencias con el lenguaje de programación Logo

Otras características de LibreLogo

Órdenes de LibreLogo

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

Dividir los renglones 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)

 ADELANTE 10 ; avanza 10 pt (1 pt = 1⁄72 pulgadas)
ADELANTE 10pt ; ver más arriba
ADELANTE 0.5in ; avanza 0,5 pulgadas (1 pulgada = 2,54 cm)
ADELANTE 1" ; ver más arriba
AD 1mm
AD 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

 INICIO ; restablece 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 texto del objeto de dibujo activo

Configuración de tipos de letra

FONTCOLOR/FONTCOLOUR

 FONTCOLOR “green” ; establece el color de la fuente

TIPO.LETRA/LETRA/FUENTE

 TIPO.LETRA “Linux Libertine G” ; establece la familia tipográfica
TIPO.LETRA “Linux Libertine G:smcp=1” ; establece también la función tipográfica (versalitas)
TIPO.LETRA “Linux Libertine G:smcp=1&onum=1” ; versalitas + cifras elzevirianas

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

 ; IMAGEN [ órdenes_LibreLogo ]
IMAGEN [ ADELANTE 100 CÍRCULO 100 ] ; forma semejante a un árbol agrupada

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

 A tree location
SINPLUMA POSICION location SENTIDO 0 CONPLUMA
IMAGEN [ ADELANTE 100 CÍRCULO 100 ] ; forma semejante a un árbol agrupada
FIN

IMAGEN [ tree [230, 400] tree [300, 400] ] ; formas agrupadas dentro de una forma agrupada

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

 IMAGEN “ejemplo.svg” [ CÍRCULO 5 ] ; guarda el dibujo como una imagen SVG en la carpeta del usuario
IMAGEN “Escritorio/ejemplo.svg” [ ADELANTE 100 CÍRCULO 5 ] ; como arriba, pero con una ruta relativa
IMAGEN “/home/usuario/ejemplo.svg” [ CÍRCULO 5 ] ; ruta absoluta en Unix/Linux
IMAGEN “C:\ejemplo.svg” [ CÍRCULO 5 ] ; ruta absoluta en Windows

Guardar animaciones SVG/SMIL (dibujos con la orden ESPERA)

 IMAGEN “animación.svg” [ CÍRCULO 5 ESPERA 1000 CÍRCULO 99 ] ; guarda como una animación SVG/SMIL (vea también ESPERA)
IMAGEN “animación2.svg” [ CÍRCULO 5 ESPERA 1000 CÍRCULO 99 ESPERA 2000 ] ; como arriba, pero utilizar ESPERA 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

Coherencia en el borde izquierdo

Utilice IMAGEN para mantener la coherencia de las posiciones y las formas de líneas en el borde izquierdo del documento de Writer:

 IMAGEN [ CÍRCULO 20 POSICIÓN [-100, 100] CÍRCULO 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
]

MIENTRAS

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

 A triangle
REPETIR 2 [ ADELANTE 100 DERECHA 120 ] RELLENAR
FIN

REPETIR 10 [ triangle SINPLUMA POSICIÓN CUALQUIERA CONPLUMA ]

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

INTERVALO

 ; 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 a través de 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 a través de expresiones regulares.

 SI BUSCAR (“\p”, "palabra") [ ESCRIBIR “Letra de 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

GUINDA/GRANATE

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

MARRÓN/CAFÉ

24

INVISIBLE