LibreLogo Toolbar

From LibreOffice Help
Jump to: navigation, search

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.

Contents

A barra de ferramentas LibreLogo (Ver » Barras de ferramentas » Logo) 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, e uma barra de inserção (linha de comando).

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

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 da “varinha mágica” define uma disposição em 2 páginas da edição do programa, e expande e converte para maiúsculas os comandos Logo abreviados em minúsculas no documento Writer. Altere o idioma do documento (Ferramentas » Opções » Definições de idioma » Idiomas » Ocidental) 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.

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

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

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

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 ; redefine as definições iniciais e a posição 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 [30, 50] tree [100, 50] ] ; formas agrupadas numa 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 a imagem para manter a consistência de 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 [ 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

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