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 (
) 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 (
) 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
-
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 un salto de renglón junto a los corchetes: REPETIR 10 [ ADELANTE 10 IZQUIERDA 36 ]
-
Las listas necesitan parentización sin espacios: POSICIÓN [0, 0] en vez de POSICIÓN [ 0, 0 ]
-
-
No se admiten las declaraciones de funciones en un solo renglón (A y FIN necesitan estar en renglones aparte).
Otras características de LibreLogo
-
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”)
Ó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;
-
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
; 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 |