LibreLogo
O LibreLogo é um ambiente de programação simples, similar ao Logo, com gráficos de vetor turtle para ensinar a programar computação (programação e processamento de texto), DTP e conceção de gráficos. Consulte http://www.numbertext.org/logo/librelogo.pdf.
Barra de ferramentas LibreLogo
A barra de ferramentas LibreLogo (
) contém ícones de movimento de tartaruga, início e paragem do programa, página inicial e limpar ecrã, de tradução/realce da sintaxe bem como uma barra de inserção (linha de comandos).Ícones de movimento
São equivalentes aos comandos Logo “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”. Clicar num destes ícones irá também focar a deslocação da forma para a sua posição.
Iniciar o programa Logo
Clique no ícone “Iniciar o programa Logo” para executar ou texto (ou a seleção) de um documento do Writer com o LibreLogo. Num documento vazio será inserido e executado um programa de exemplo.
Clique no ícone “Parar” para parar a execução do programa.
Home
Clique no ícone “Home” para redefinir a posição e tamanho da tartaruga.
Limpar ecrã
Clique no ícone "Limpar ecrã" para remover os objetos de desenho no documento.
Editor de programas/Realce da sintaxe/Tradução
O ícone “varinha mágica” define uma disposição em 2 páginas para edição do programa, expande e converte para maiúsculas os comandos abreviados em minúsculas do LibreLogo no documento do Writer. Altere o idioma do documento
) e clique neste ícone para traduzir o programa Logo para o idioma selecionado.Linha de comandos
Prima Enter na linha de comandos para executar o seu conteúdo. Para parar o programa, utilize o ícone "Parar".
Mantenha premido Enter para repetir a linha de comandos, por exemplo, na seguinte sequência de comandos:
FORWARD 200 LEFT 89
Para redefinir a linha de comandos, clique-lhe três vezes ou prima Ctrl+A para selecionar os comandos anteriores e escreva os novos comandos.
Interface gráfica para definições básicas de tartaruga
A forma de tartaruga do LibreLogo é um objeto de desenho com um tamanho fixo. Pode posicionar e rodar o objeto utilizando o rato e o ícone Rodar da barra de ferramentas Propriedades do objeto de desenho. Pode mudar a largura da linha, a cor da linha e a cor da área da tartaruga para definir os atributos PENSIZE, PENCOLOR e FILLCOLOR do LibreLogo.
Edição do programa
Os desenhos e programas LibreLogo usam o mesmo documento Writer. A tela LibreLogo está na primeira página do documento Writer. Pode inserir uma quebra de página antes dos programas LibreLogo, e definir a ampliação usando o ícone da "varinha mágica" na barra de ferramentas Logo, e também mudar o tamanho da letra para uma disposição confortável de duas páginas para a programação LibreLogo: a página esquerda (primeira) é a tela, e a página da direita (segunda) é para o editor de programas LibreLogo.
Linguagem de programação LibreLogo
O LibreLogo é uma linguagem de programação do tipo Logo, traduzida em diversos idiomas pela comunidade do LibreOffice. O LibreLogo é compatível com os anteriores sistemas Logo, como por exemplo os programas que são utilizados no ensino de programação.
TO triangle :size
REPEAT 3 [
FORWARD :size
LEFT 120
]
END
triangle 10 triangle 100 triangle 200
Diferenças em relação à linguagem de programação Logo
-
O membros da lista são separados por vírgula: POSITION [0, 0]
-
Os blocos e listas do programa são diferentes
-
-
Os blocos do programa precisam de espaço ou nova linha nos parênteses: REPEAT 10 [ FORWARD 10 LEFT 36 ]
-
As listas precisam de parênteses fechados: POSITION [0, 0] em vez de POSITION [ 0, 0 ]
-
-
As declarações de funções em uma só linha não são permitidas (TO e END precisam de novas linhas).
Outras funções LibreLogo
-
Os dois pontos são opcionais antes do nome das variáveis.
TO triangle size
REPEAT 3 [ FORWARD size LEFT 120 ]
END -
A notação de cadeias de texto aceita a sintaxe e a ortografia Python.
PRINT "palavra ; sintaxe original Logo
PRINT “Texto aleatório” ; ortografia, Writer
PRINT 'Texto aleatório' ; sintaxe Python -
Manipulação de linhas e listas Python
PRINT “text”[2] ; imprime “x”
PRINT “text”[1:3] ; imprime “ex” -
Ciclo FOR do tipo Python
-
Declaração de variáveis do tipo Python:
x = 15
PRINT x -
Não há funções extra de consulta:
PRINT FILLCOLOR
p = POSITION
PRINT p
REPEAT 10 [ POSITION ANY POSITION p ] -
Parênteses na invocação de funções
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”)
Comandos LibreLogo
Sintaxe básica
Distinção de maiúsculas
Os comandos e as cores não diferenciam minúsculas de maiúsculas:
PRINT “Olá, Mundo!”
print “Olá, Mundo, novamente!”
Os nomes das variáveis diferenciam minúsculas de maiúsculas:
a = 5
A = 7
PRINT a
PRINT A
Linhas do programa
As linhas do LibreLogo são os parágrafos do documento do Writer. Uma linha de programa pode ter diversos comandos:
PRINT “Olá, Mundo!” PRINT “LibreLogo”
Comentários
O ponto e vírgula serve para identificar as linhas ou parte delas como comentários (parágrafo):
; comentário
PRINT 5 * 5 ; comentário
Quebrar linhas do programa em vários parágrafos
É possível quebrar uma linha do programa em vários parágrafos usando o til no final da linha:
PRINT “Esta é uma mensagem de aviso ” + ~
“muito extensa”
Movimentação
FORWARD (fd)
FORWARD 10 ; move para a frente em 10pt (1pt = 1/72 polegadas)
FORWARD 10pt ; ver acima
FORWARD 0.5in ; move para a frente em 0.5 polegadas (1 polegada = 2.54 cm)
FORWARD 1" ; ver acima
FD 1mm
FD 1cm
BACK (bk)
BACK 10 ; move para trás 10pt
LEFT (lt)
LEFT 90 ; gira 90 graus para a direita
LEFT 90° ; ver acima
LT 3h ; ver acima (posição do relógio)
LT any ; gira aleatoriamente
RIGHT (rt)
RIGHT 90 ; gira 90 graus para a esquerda
PENUP (pu)
PENUP ; a tartaruga move-se sem desenhar
PENDOWN (pd)
PENDOWN ; a tartaruga move-se e desenha
POSITION (pos)
POSITION [0, 0] ; roda e move a tartaruga para o canto superior esquerdo
POSITION PAGESIZE ; roda e move a tartaruga para o canto inferior direito
POSITION [PAGESIZE[0], 0] ; roda e move a tartaruga para o canto superior direito
POSITION ANY ; roda e move a tartaruga aleatoriamente
HEADING (seth)
HEADING 0 ; roda para o norte
HEADING 12h ; consulte acima
HEADING [0, 0] ; roda para o canto superior esquerdo
HEADING ANY ; roda aleatoriamente
Outros comandos
HIDETURTLE (ht)
HIDETURTLE ; oculta a tartaruga (até que utilize o comando showturtle)
SHOWTURTLE (st)
SHOWTURTLE ; mostra a tartaruga
HOME
HOME ; repõe a posição inicial da tartaruga
CLEARSCREEN (cs)
CLEARSCREEN ; remove os objetos de desenho do documento
FILL e CLOSE
FILL ; fecha e preenche a linha ou pontos da forma atual
CLOSE ; fecha a forma de linha atual ou une os pontos da forma
Exemplo: para preencher um triângulo
FORWARD 50 LEFT 120 FORWARD 50 FILL
Exemplo: para desenhar um triângulo
FORWARD 50 LEFT 120 FORWARD 50 CLOSE
Definições de linha
PENSIZE (ps)
PENSIZE 100 ; a largura da linha é 100 pontos
PENSIZE ANY ; equivalente a PENSIZE RANDOM 10
PENCOLOR/PENCOLOUR (pc)
PENCOLOR “red” ; define a cor vermelha (por nome da cor, consulte constantes de cor)
PENCOLOR [255, 255, 0] ; define a cor amarela (lista RGB)
PENCOLOR 0xffff00 ; define a cor amarela (hexadecimal)
PENCOLOR 0 ; define a cor preto (0x000000)
PENCOLOR ANY ; define aleatoriamente a cor
PENCOLOR [5] ; define a cor vermelha (por identificador, consulte constantes de cor)
PENCOLOR “invisible” ; define a cor transparente para formas sem contornos
PENCOLOR “~red” ; define um vermelho aleatório
PENTRANSPARENCY
PENTRANSPARENCY 80 ; definir a transparência da cor real da caneta para 80%
PENCAP/LINECAP
PENCAP “none” ; sem fim de linha (padrão)
PENCAP “round” ; fim de linha redondo
PENCAP “square” ; fim de linha quadrado
PENJOINT/LINEJOINT
PENJOINT “rounded” ; junção de linha redonda (padrão)
PENJOINT “miter” ; junção de linha precisa
PENJOINT “bevel” ; junção de linha bisel
PENJOINT “none” ; sem junção de linha
PENSTYLE
PENSTYLE “solid” ; linha sólida (padrão)
PENSTYLE “dotted” ; linha pontilhada
PENSTYLE “dashed” ; linha tracejada
; padrão personalizado de acordo com estes argumentos:
; – número de pontos na proximidade
; – tamanho do ponto
; – número de traços na proximidade
; – tamanho do traço
; – distância entre pontos e traços
; – tipo (opcional):
; 0 = os pontos são retângulos (padrão)
; 2 = os pontos são quadrados (tamanho e distância são proporcionais ao pensize)
PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
Definições de preenchimento
FILLCOLOR/FILLCOLOUR (fc)
FILLCOLOR “blue” ; preenche com a cor azul, consulte também PENCOLOR
FILLCOLOR “invisible” CIRCLE 10 ; cria um círculo não preenchido
FILLCOLOR [“blue”, “red”] ; cria um gradiente entre azul e vermelho
FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; cria um gradiente entre branco e cor de laranja
FILLCOLOR [“blue”, “red”, 1, 0, 0] ; cria um gradiente axial (com as definições de rotação e contornos especificadas), valores possíveis: 0-5 = linear, axial, radial, elíptico, quadrado e retângular
FILLCOLOR [“red”, “blue”, 0, 90, 20] ; cria um gradiente linear com 20% de contorno, e com um ângulo de 90 graus a partir da cabeça da tartaruga
FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; cria um gradiente com intensidade entre 200% e 50%
FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; cria um gradiente radial com cores aleatórias e posicionado verticalmente e horizontalmente a 50-50% a partir do centro
FILLTRANSPARENCY
FILLTRANSPARENCY 80 ; definir a cor real de prenchimento para 80%
FILLTRANSPARENCY [80] ; definir o gradiente linear de transparência de 80% para 0%
FILLTRANSPARENCY [80, 20] ; definir o gradiente linear de transparência de 80% para 20%
FILLTRANSPARENCY [80, 20, 1, 90] ; definir o gradiente axial de transparência rodado com 90 graus da cabeça efetiva da tartaruga
FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; definir o gradiente radial de transparência de 80% no exterior para transparência de 20% interior com 20% de margem, e com 50-50% posições horizontal e vertical do centro
FILLSTYLE
FILLSTYLE 0 ; preencher sem tracejado (padrão)
FILLSTYLE 1 ; tracejados simples negros (horizontais)
FILLSTYLE 2 ; tracejados simples negros (45 graus)
FILLSTYLE 3 ; tracejados simples negros (-45 graus)
FILLSTYLE 4 ; tracejados simples negros (verticais)
FILLSTYLE 5 ; tracejados cruzados vermelhos (45 graus)
FILLSTYLE 6 ; tracejados cruzados vermelhos (0 graus)
FILLSTYLE 7 ; tracejados cruzados azuis (45 graus)
FILLSTYLE 8 ; tracejados cruzados azuis (0 graus)
FILLSTYLE 9 ; cruzado triplo azul
FILLSTYLE 10 ; tracejados simples negros e largos (45 graus)
; tracejado personalizado especificado por uma lista com os seguintes argumentos:
; – estilo (1 = simples, 2 = duplo, 3 = tracejado triplo)
; – cor
; – distância
; – grau
FILLSTYLE [2, “green”, 3pt, 15°] ; tracejados cruzados verdes (15 graus)
Objetos de desenho
CIRCLE
CIRCLE 100 ; desenha um círculo (diâmetro = 100pt)
ELLIPSE
ELLIPSE [50, 100] ; desenha um elipse (50x100pt)
ELLIPSE [50, 100, 2h, 12h] ; desenha um setor elíptico (no sentido horário das 2h até às 12h)
ELLIPSE [50, 100, 2h, 12h, 2] ; desenha um segmento elíptico
ELLIPSE [50, 100, 2h, 12h, 3] ; desenha um arco elíptico
SQUARE
SQUARE 100 ; desenha um quadrado (tamanho = 100pt)
RECTANGLE
RECTANGLE [50, 100] ; desenha um retângulo (50×100pt)
RECTANGLE [50, 100, 10] ; desenha um retângulo com os cantos arredondados
POINT
POINT ; desenha um ponto com o tamanho e a cor do pincel
CLOSE pode unir os últimos pontos, FILL pode preencher a forma definida pelos pontos. Por exemplo, é possível criar uma estrela “flat” a partir do seu centro.
PENUP
REPEAT 5 [
FORWARD 80
POINT
BACK 80
RIGHT 36
FORWARD 50
POINT
BACK 50
RIGHT 120
] FILL
LABEL
LABEL “texto” ; imprime texto na posição da tartaruga
LABEL 'texto' ; ver acima
LABEL "texto ; ver acima (só para palavras únicas)
TEXT
CIRCLE 10 TEXT “texto” ; define o texto do objeto de desenho atual
Definições do tipo de letra
FONTCOLOR/FONTCOLOUR
FONTCOLOR “green” ; define a cor do tipo de letra
FONTFAMILY
FONTFAMILY “Linux Libertine G” ; define o tipo de letra (família)
FONTFAMILY “Linux Libertine G:smcp=1” ; define também o tipo de capitalização (versaletes)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; versaletes + figuras antigas
FONTSIZE
FONTSIZE 12 ; define 12pt
FONTWEIGHT
FONTWEIGHT “bold” ; define o texto como negrito
FONTWEIGHT “normal” ; define o texto como normal
FONTSTYLE
FONTSTYLE “italic” ; define o texto como itálico
FONTSTYLE “normal” ; define o texto como normal
PICTURE (pic)
PICTURE serve para
-
agrupar formas;
-
iniciar novas formas de linhas;
-
guardar imagens SVG e animações SVG/SMIL;
-
mantendo a consistência das posições e formas de linhas na margem esquerda.
Agrupamento de formas
; PICTURE [ Comandos LibreLogo ]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; agrupa na forma de árvore
Consulte também “Agrupar” na ajuda do LibreOffice Writer.
TO tree location
PENUP POSITION location HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; agrupa na forma de árvore
END
PICTURE [ tree [230, 400] tree [300, 400] ] ; formas agrupadas em forma agrupada
Iniciar novas formas de linhas
PICTURE ; inicia uma nova forma de linha
FORWARD 10 PICTURE FORWARD 10 ; duas formas de linha
Guardar imagens SVG
PICTURE “exemplo.svg” [ CIRCLE 5 ] ; guarda a imagem no formato SVG, na pasta do utilizador
PICTURE “Desktop/exemplo.svg” [ FORWARD 100 CIRCLE 5 ] ; como acima, mas com caminho relativo
PICTURE “/home/utilizador/exemplo.svg” [ CIRCLE 5 ] ; caminho absoluto para Unix/Linux
PICTURE “C:\exemplo.svg” [ CIRCLE 5 ] ; caminho absoluto para Windows
Guardar animações SVG/SMIL (desenho com comandos SLEEP)
PICTURE “animação.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; guarda como animação SVG/SMIL (consulte também SLEEP)
PICTURE “animação2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; como acima, mas SLEEP obriga a um ciclo: após 2 segundos a animação SVG é aberta nos navegadores compatíveis com SMIL
Consistência na margem esquerda
Utilizar PICTURE para manter a consistência das posições e formas de linhas na margem esquerda do Writer:
PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
Ciclos
REPEAT
; REPEAT número[ comandos ]
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; repete 10 vezes
; número é opcional
REPEAT [ POSITION ANY ] ; ciclo sem fim
REPCOUNT
Variável de ciclo (também nos ciclos FOR e WHILE).
REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
FOR IN
Ciclo para os elementos da lista:
FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
Ciclo dos caracteres numa sequência de caracteres:
FOR i IN “texto” [
LABEL i
FORWARD 10
]
WHILE
WHILE TRUE [ POSITION ANY ] ; ciclo sem fim
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; igual a REPEAT 10 [ ... ]
BREAK
Para o ciclo.
REPEAT [ ; ciclo sem fim
POSITION ANY
IF REPCOUNT = 100 [ BREAK ] ; equivalente a REPEAT 100 [ ... ]
]
CONTINUE
Ir para a próxima iteração do ciclo.
REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 = 0 [ CONTINUE ]
CIRCLE 10 ; cria círculos a cada 2.º posição
]
Condições
IF
; IF condição [ bloco verdadeiro ]
; IF condição [ bloco verdadeiro ] [ bloco falso ]
IF a < 10 [ PRINT “Pequeno” ]
IF a < 10 [ PRINT “Pequeno” ] [ PRINT “Grande” ]
AND, OR, NOT
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 acima
Subrotinas
TO, END
Nova palavra (ou procedimento).
TO triangle
REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
OUTPUT
Devolve o valor da função.
TO randomletter
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END
PRINT randomletter + randomletter + randomletter ; imprime aleatoriamente 3 letras da sequência
STOP
Regressar do procedimento.
TO example number
IF number < 0 [ STOP ]
PRINT SQRT number ; imprime a raiz quadrada
]
example 100
example -1 ; sem resultados nem erros
example 25
Variáveis padrão
ANY
Valor aleatório padrão das cores, etc.
PENCOLOR ANY ; cor aleatória da caneta
TRUE
Valor lógico.
WHILE TRUE [ POSITION ANY ] ; ciclo sem fim
PRINT TRUE ; imprimir verdadeiro
FALSE
Valor lógico.
WHILE NOT FALSE [ POSITION ANY ] ; ciclo sem fim
PRINT FALSE ; imprime falso
PAGESIZE
PRINT PAGESIZE ; imprimir lista do tamanho de página em pontos, por ex. [595.30, 841.89]
PI/π
PRINT PI ; imprime 3.14159265359
Input/Output
PRINT “texto” ; imprime “texto” numa caixa de diálogo
PRINT 5 + 10 ; imprime 15
INPUT
PRINT INPUT “valor?” ; pede e imprime uma cadeia de texto numa caixa de diálogo
PRINT FLOAT (INPUT “Primeiro número?”) + FLOAT (INPUT “Segundo número?”) ; é uma calculadora básica
SLEEP
SLEEP 1000 ; espera 1000 ms (1 segundo)
GLOBAL
Definir variáveis globais usadas em procedimentos.
GLOBAL about
about = “LibreLogo”
TO example
PRINT about
GLOBAL about ; se quisermos adicionar um novo valor
about = “novo valor da variável global”
END
example
PRINT about
Funções
RANDOM
PRINT RANDOM 100 ; número flutuante aleatório (0 <= x < 100)
PRINT RANDOM “texto” ; letra aleatório do “texto”
PRINT RANDOM [1, 2] ; elemento aleatório da lista (1 ou 2)
INT
PRINT INT 3.8 ; imprime 3 (parte inteira de 3,8)
PRINT INT RANDOM 100 ; número inteiro aleatório (0 <= x < 100)
PRINT INT “7” ; converte o parãmetro da cadeia para inteiro
FLOAT
; converte o parâmetro da cadeia de texto num número flutuante
PRINT 2 * FLOAT “5.5” ; imprime 11.0
STR
; converte o parâmetro numérico numa cadeia de texto
PRINT “Resultado: ” + STR 5 ; imprime “Resultado: 5”
PRINT 10 * STR 5 ; imprime 5555555555
SQRT
PRINT SQRT 100 ; imprime 10, a raiz quadrada de 100
SIN
PRINT SIN 90 * PI/180 ; imprime 1.0 (o seno de 90° em radianos)
COS
PRINT COS 0 * PI/180 ; imprime 1.0 (o seno de 0° em radianos)
LOG10
PRINT LOG10 100 ; imprime 2.0 (logaritmo comum de 100)
ROUND
PRINT ROUND 3.8 ; imprime 4 (arredondamento de 3,8)
PRINT ROUND RANDOM 100 ; número inteiro aleatório (0 <= x <= 100)
ABS
PRINT ABS -10 ; imprime 10, o valor absoluto de -10
COUNT
PRINT COUNT “texto” ; imprime 5, o número de caracteres em “texto”
PRINT COUNT [1, 2, 3] ; imprime 3, o tamanho da lista
SET
; Converte a lista para um conjunto 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ão
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; imprime {4}, interseção
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; imprime {5, 6}, diferença
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; imprime {1, 5, 6, 9}, diferença simétrica
RANGE
; geração 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 [ ; ciclo para [10, 20, 30, 40]
FORWARD i
LEFT 90
]
LIST
; remover os elementos repetidos de uma lista utilizando conjunto e lista
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; imprime [1, 3, 5, 2]
TUPLE
Conversão para Python tuple (lista não modificável)
PRINT TUPLE [4, 5]
SORTED
Devolve uma lista ordenada.
PRINT SORTED [5, 1, 3, 4] ; imprime [1, 3, 4, 5]
SUB
Substituir sequências de caracteres usando padrões regex (expressões regulares).
PRINT SUB (“t”, “T”, “texto”) ; imprime “Texto”, substituindo “t” por “T”
PRINT SUB (“(.)”, “\\1\\1”, “texto”) ; imprime “tteexxttoo”, duplicando todos os caracteres
SEARCH
Procurar padrões de sequências de caracteres usando padrões regex.
IF SEARCH (“\w”, "word") [ PRINT “Letra na palavra” ]
FINDALL
Localizar todas as sequências de caracteres no texto de entrada, coincidentes com o padrão regex.
PRINT FINDALL(“\w+”, “Cães, gatos.”) ; imprime [“Cães”, “gatos”], a lista das palavras.
MIN
PRINT MIN [1, 2, 3] ; imprime 1, o menor elemento da lista
MAX
PRINT MAX [1, 2, 3] ; imprime 3, o maior elemento da lista
Constantes de cor
PENCOLOR “SILVER” ; define a cor pelo nome
PENCOLOR [1] ; define a cor por identificador
PENCOLOR “~SILVER” ; escolhe uma cor prateada aleatória
Identificador |
Nome |
0 |
BLACK |
1 |
SILVER |
2 |
GRAY/GREY |
3 |
WHITE |
4 |
MAROON |
5 |
RED |
6 |
PURPLE |
7 |
FUCHSIA/MAGENTA |
8 |
GREEN |
9 |
LIME |
10 |
OLIVE |
11 |
YELLOW |
12 |
NAVY |
13 |
BLUE |
14 |
TEAL |
15 |
AQUA |
16 |
PINK |
17 |
TOMATO |
18 |
ORANGE |
19 |
GOLD |
20 |
VIOLET |
21 |
SKYBLUE |
22 |
CHOCOLATE |
23 |
BROWN |
24 |
INVISIBLE |