LibreLogo Toolbar

From LibreOffice Help
Jump to: navigation, search

O LibreLogo é um ambiente de programação ao estilo da linguagem Logo, simples, traduzido, com desenhos vetoriais feitos com a tartaruga do Logo; foi feito para ensino de computação (programação e processamento de palavras), para editoração eletrônica e para design gráfico. Consulte em inglês http://www.numbertext.org/logo/librelogo.pdf.

Contents

A barra de ferramentas LibreLogo (Exibir » Barras de ferramentas » Logo) contém ícones para movimentação da tartaruga, execução do programa, parar programa, ir para o centro, limpar a tela, tradução e colocação da sintaxe em maiúsculas, e uma caixa de entrada (linha de comandos).

Ícones de movimentação da tartaruga

Eles são equivalentes aos comandos Logo “PARAFRENTE 10”, “PARATRÁS 10”, “PARAESQUERDA 15º”, “PARADIREITA 15º”. Clicar em um desses ícones também vai colocar o foco na tartaruga, rolando a página para a sua posição.

Clique no ícone “Executar programa Logo” para executar o texto (ou apenas o texto selecionado) no documento do Writer contendo um programa LibreLogo. Para um documento vazio, um programa de exemplo será inserido e executado.

Clique no ícone “PARAR” para interromper a execução do programa.

PARACENTRO

Clique no ícone “PARACENTRO” para reiniciar a posição e as configurações da tartaruga.

Limpar tela (TAT)

Clique no ícone “Limpar tela” para remover os objetos de desenho do documento.

Editor do programa / Destaque da sintaxe / Tradução

O ícone da “varinha mágica” configura um layout de duas páginas para edição do programa, coloca por extenso e também converte para maiúsculas os comandos Logo abreviados no documento do Writer. Altere o idioma do documento (Ferramentas » Opções » Configurações de idioma » Idiomas » Ocidental) e clique neste ícone para traduzir o programa Logo para o idioma selecionado.

Linha de comandos

Pressione Enter na linha de comandos para executar o seu conteúdo. Para interromper o programa, use o ícone “PARAR”.

Mantenha a tecla Enter pressionada para repetir a linha de comandos, por exemplo, na seguinte sequência de comandos:

PARAFRENTE 200 PARAESQUERDA 89

Para reiniciar a linha de comandos, clique nela três vezes, ou pressione Ctrl+A para selecionar os comandos anteriores, e digite os novos comandos.

Interface gráfica do usuário para as configurações básicas da tartaruga

A tartaruga do LibreLogo é um objeto de desenho com tamanho fixo. Você pode posicioná-la e girá-la da forma convencional, também, utilizando o mouse e o ícone Girar na barra de ferramentas Desenho. Mude as configurações Largura da Linha, Cor da Linha e Cor da Área da tartaruga para definir os atributos dos comandos do LibreLogo MUDARESPESSURADOLÁPIS, MUDARCORDOLÁPIS e MUDARCORDAPINTURA.

Edição do programa

Os desenhos e programas do LibreLogo usam o mesmo documento Writer. A tela do LibreLogo está sobre a primeira página do documento. Você pode inserir uma quebra de página antes dos programas LibreLogo e configurar o zoom utilizando o ícone da “varinha mágica” na barra de ferramentas Logo; também pode alterar o tamanho da letra para um layout de duas páginas que seja confortável para a programação com o LibreLogo: a página esquerda (a primeira) é a tela, e a página da direita (a segunda) é para o editor de programas do LibreLogo.

LibreLogo é uma linguagem ao estilo do Logo facilmente traduzível, traduzida para diversos idiomas por comunidades nativas de cada língua. Possui compatibilidade retroativa com sistemas Logo mais antigos, no caso de programas Logo simples utilizados em educação, por exemplo.

APRENDER triangulo :tamanho
REPETIR 3 [
PARAFRENTE :tamanho
PARAESQUERDA 120
]
FIM

triangulo 10 triangulo 100 triangulo 200

  • Os membros das listas são separados por vírgula: POSICIONAR [0, 0]
  • Blocos de programa e listas são coisas diferentes:
    • Blocos de programa necessitam de espaço ou de nova linha ao lado dos colchetes: REPETIR 10 [ PARAFRENTE 10 PARAESQUERDA 36 ]
  • Listas necessitam de colchetes sem espaçamento: POSICIONAR [0, 0], em vez de POSICIONAR [ 0, 0 ]


  • Declarações de funções em uma só linha não são suportadas (APRENDER e FIM necessitam de novas linhas ao final).

  • O sinal de dois pontos é opcional antes do nome das variáveis.

    APRENDER triangulo tamanho
    REPETIR 3 [ PARAFRENTE tamanho PARAESQUERDA 120 ]
    FIM

  • A notação de cadeias de caracteres também possui suporte à sintaxe e ortografia da linguagem Python.

    ESCREVER "palavra ; sintaxe original do Logo
    ESCREVER “Texto arbitrário.” ; ortografia do Writer
    ESCREVER 'Texto arbitrário.' ; sintaxe do Python

  • Manipulação de cadeias e listas do Python

    ESCREVER “texto”[2] ; escrever “x”
    ESCREVER “texto”[1:3] ; escreve “ex”

  • Laço PARA ao estilo do Python
  • Declaração de variáveis ao estilo do Python:

    x = 15
    ESCREVER x

  • Não há funções extra de consulta:

    ESCREVER MUDARCORDAPINTURA
    p = POSICIONAR
    ESCREVER p
    REPETIR 10 [ POSICIONAR QUALQUER POSICIONAR p ]

  • Sintaxe alternativa nas chamadas de funções com parâmetros

    APRENDER estrela tamanho cor
    MUDARCORDAPINTURA cor
    REPETIR 5 [ PARAESQUERDA 72 PARAFRENTE tamanho PARADIREITA 144 PARAFRENTE tamanho ]
    PINTAR
    FIM

    estrela 100 “VERMELHO”
    PARAFRENTE 10
    estrela (100, “VERDE”)
    PARAFRENTE 10
    estrela(100, “AZUL”)

Sintaxe básica

Distinção entre maiúsculas e minúsculas

Os comandos e as constantes de cores não diferenciam minúsculas de maiúsculas:

ESCREVER “Olá, Mundo!”
escrever “Olá, Mundo, novamente!”

Já os nomes das variáveis diferenciam minúsculas de maiúsculas:

a = 5
A = 7
ESCREVER a ; valor 5
ESCREVER A ; valor 7

Linhas do programa

As linhas de um programa LibreLogo são parágrafos no documento do Writer. Uma linha de programa pode conter múltiplos comandos:

ESCREVER “Olá, Mundo!” ESCREVER “LibreLogo”

Comentários

Linhas - ou partes delas - são consideradas como comentários a partir do sinal de ponto e vírgula até o final da linha (parágrafo):

; algum comentário
ESCREVER 5 * 5 ; algum comentário

Quebra de linhas do programa em múltiplos parágrafos

É possível quebrar uma linha do programa em vários parágrafos usando o caractere til no final da linha:

ESCREVER “Esta é uma mensagem de aviso ” + ~
“muito extensa”

Movimentação da tartaruga

PARAFRENTE (pf)

PARAFRENTE 10 ; move para a frente em 10pt (1pt = 1/72 polegadas)
PARAFRENTE 10pt ; ver acima
PARAFRENTE 0.5pol ; move para a frente em 0.5 polegadas (1 polegada = 2.54 cm)
PARAFRENTE 1" ; ver acima
PF 1mm
PF 1cm

PARATRÁS (pt)

PARATRÁS 10 ; move para trás 10pt

PARAESQUERDA (pe)

PARAESQUERDA 90 ; gira 90 graus para a esquerda
PARAESQUERDA 90° ; ver acima
PE 3h ; ver acima (posição do relógio)
PE QUALQUER ; gira aleatoriamente

PARADIREITA (pd)

PARADIREITA 90 ; gira 90 graus para a direita

USARNADA (un)

USARNADA ; a tartaruga se movimenta sem desenhar

USARLÁPIS (ul)

USARLÁPIS ; a tartaruga se movimenta desenhando

POSICIONAR (pos)

POSICIONAR [0, 0] ; gira e move a tartaruga para o canto superior esquerdo
POSICIONAR TAMANHODAPÁGINA ; gira e move a tartaruga para o canto inferior direito
POSICIONAR [TAMANHODAPÁGINA[0], 0] ; gira e move a tartaruga para o canto superior direito
POSICIONAR QUALQUER ; gira e move a tartaruga aleatoriamente

MUDARDIREÇÃO (mdir)

MUDARDIREÇÃO 0 ; gira para o norte
MUDARDIREÇÃO 12h ; ver acima
MUDARDIREÇÃO [0, 0] ; gira para o canto superior esquerdo
MUDARDIREÇÃO QUALQUER ; gira para uma direção aleatória

Outros comandos da tartaruga

DESAPARECERTAT (dt)

DESAPARECERTAT ; oculta a tartaruga (até que se utilize o comando aparecertat)

APARECERTAT (at)

APARECERTAT ; mostra a tartaruga

PARACENTRO (pc)

PARACENTRO ; reinicia as configurações iniciais e a posição da tartaruga

TARTARUGA (tat)

TARTARUGA ; remove os objetos de desenho do documento

PINTAR e FECHAR

PINTAR ; fecha e pinta a forma de linha atual
FECHAR ; fecha a forma de linha atual ou une os pontos

Exemplo: pintar um triângulo regular:

PARAFRENTE 50 PARAESQUERDA 120 PARAFRENTE 50 PINTAR

Exemplo: desenhar um triângulo regular:

PARAFRENTE 50 PARAESQUERDA 120 PARAFRENTE 50 FECHAR

Configurações do lápis

MUDARESPESSURADOLÁPIS (mespla)

MUDARESPESSURADOLÁPIS 100 ; a largura da linha é 100 pontos
MUDARESPESSURADOLÁPIS QUALQUER ; equivalente a MUDARESPESSURADOLÁPIS ALEATÓRIO 10

MUDARCORDOLÁPIS (mcorla)

MUDARCORDOLÁPIS “vermelho” ; define a cor vermelha (pelo nome da cor; consulte constantes de cor)
MUDARCORDOLÁPIS [255, 255, 0] ; define a cor amarela (lista RGB)
MUDARCORDOLÁPIS 0xffff00 ; define a cor amarela (hexadecimal)
MUDARCORDOLÁPIS 0 ; define a cor preto (0x000000)
MUDARCORDOLÁPIS QUALQUER ; define aleatoriamente a cor
MUDARCORDOLÁPIS [5] ; define a cor vermelha (por identificador; consulte constantes de cor)
MUDARCORDOLÁPIS “invisível” ; define a cor transparente para formas sem contornos
MUDARCORDOLÁPIS “~vermelho” ; define um vermelho aleatório

MUDARTRANSPARÊNCIADOLÁPIS (mtrala)

MUDARTRANSPARÊNCIADOLÁPIS 80 ; define a transparência da cor do lápis corrente para 80%

MUDARPONTADOLÁPIS (mponla)

MUDARPONTADOLÁPIS “nenhum” ; sem ponta de linha extra (padrão)
MUDARPONTADOLÁPIS “arredondado” ; ponta de linha arredondada
MUDARPONTADOLÁPIS “quadrado” ; ponta de linha quadrada

MUDARCANTODALINHA (mcanli)

MUDARCANTODALINHA “arredondado” ; canto de linha arredondado (padrão)
MUDARCANTODALINHA “pontudo” ; canto de linha pontudo
MUDARCANTODALINHA “cortado” ; canto de linha cortado
MUDARCANTODALINHA “nenhum” ; sem canto de linha

MUDARESTILODOLÁPIS (mestla)

MUDARESTILODOLÁPIS “sólido” ; linha sólida (padrão)
MUDARESTILODOLÁPIS “pontilhado” ; linha pontilhada
MUDARESTILODOLÁPIS “tracejado” ; linha tracejada

 ; personalizar o padrão de acordo com seguintes argumentos:
 ; – número de pontos próximos
 ; – tamanho do ponto
 ; – número de traços próximos
 ; – 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 à espessura do lápis)

MUDARESTILODOLÁPIS [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––

Configurações de pintura

MUDARCORDAPINTURA (mcorpi)

MUDARCORDAPINTURA “azul” ; pinta com a cor azul - ver também MUDARCORDOLÁPIS
MUDARCORDAPINTURA “invisível” CÍRCULO 10 ; círculo sem pintura
MUDARCORDAPINTURA [“azul”, “vermelho”] ; gradiente entre vermelho e azul
MUDARCORDAPINTURA [[255, 255, 255], [255, 128, 0]] ; entre branco e laranja
MUDARCORDAPINTURA [“azul”, “vermelho”, 1, 0, 0] ; configura gradiente axial (com as configurações de rotação e borda requeridas), valores possíveis: 0-5 = gradientes linear, axial, radial, elíptico, quadrado e retangular
MUDARCORDAPINTURA [“vermelho”, “azul”, 0, 90, 20] ; linear com 20% de borda, rotacionado com 90 graus da direção atual da tartaruga
MUDARCORDAPINTURA [“vermelho”, “azul”, 0, 90, 20, 0, 0, 200, 50] ; intensidade de 200% a 50%
MUDARCORDAPINTURA [QUALQUER, QUALQUER, 2, 0, 0, 50, 50] ; gradiente radial com cores aleatórias e 50-50% de posições verticais e horizontais do centro

MUDARTRANSPARÊNCIADAPINTURA (mtrapi)

MUDARTRANSPARÊNCIADAPINTURA 80 ; define a transparência da cor de pintura atual para 80%
MUDARTRANSPARÊNCIADAPINTURA [80] ; define gradiente de transparência linear de 80% a 0%
MUDARTRANSPARÊNCIADAPINTURA [80, 20] ; define gradiente de transparência linear de 80% a 20%
MUDARTRANSPARÊNCIADAPINTURA [80, 20, 1, 90] ; define gradiente de transparência axial rotacionado 90 graus da direção atual da tartaruga
MUDARTRANSPARÊNCIADAPINTURA [80, 20, 2, 0, 20, 50, 50] ; define gradiente de transparência radial de transparência 80% externa para 20% interna com 20% de borda e com 50-50% de posições horizontal e vertical do centro

MUDARESTILODAPINTURA (mestpi)

MUDARESTILODAPINTURA 0 ; preencher sem hachurados (padrão)
MUDARESTILODAPINTURA 1 ; hachurados simples negros (horizontais)
MUDARESTILODAPINTURA 2 ; hachurados simples negros (45 graus)
MUDARESTILODAPINTURA 3 ; hachurados simples negros (-45 graus)
MUDARESTILODAPINTURA 4 ; hachurados simples negros (verticais)
MUDARESTILODAPINTURA 5 ; hachurados cruzados vermelhos (45 graus)
MUDARESTILODAPINTURA 6 ; hachurados cruzados vermelhos (0 graus)
MUDARESTILODAPINTURA 7 ; hachurados cruzados azuis (45 graus)
MUDARESTILODAPINTURA 8 ; hachurados cruzados azuis (0 graus)
MUDARESTILODAPINTURA 9 ; cruzado triplo azul
MUDARESTILODAPINTURA 10 ; hachurados simples negros e largos (45 graus)

 ; personalizar por uma lista com os seguintes argumentos:
 ; – estilo (1 = simples, 2 = duplo, 3 = hachurado triplo)
 ; – cor
 ; – distância
 ; – grau

MUDARESTILODAPINTURA [2, “verde”, 3pt, 15°] ; hachurados cruzados verdes (15 graus)

Desenho de objetos

CÍRCULO

CÍRCULO 100 ; desenha um círculo (diâmetro = 100pt)

ELIPSE

ELIPSE [50, 100] ; desenha uma elipse com diâmetro 50x100
ELIPSE [50, 100, 2h, 12h] ; desenha um setor elíptico (no sentido horário de 2h até 12h)
ELIPSE [50, 100, 2h, 12h, 2]  ; desenha um segmento elíptico
ELIPSE [50, 100, 2h, 12h, 3]  ; desenha um arco elíptico

QUADRADO

QUADRADO 100 ; desenha um quadrado (tamanho = 100pt)

RETÂNGULO

RETÂNGULO [50, 100] ; desenha um retângulo (50×100pt)
RETÂNGULO [50, 100, 10] ; desenha um retângulo com cantos arredondados

PONTO

PONTO ; desenha um ponto com o tamanho e a cor do lápis

FECHAR pode unir os últimos pontos, e PINTAR pode pintar a forma definida pelos pontos. Por exemplo, é fácil desenhar uma estrela simples a partir do seu centro:

USARNADA
REPETIR 5 [
PARAFRENTE 80
PONTO
PARATRÁS 80
PARADIREITA 36
PARAFRENTE 50
PONTO
PARATRÁS 50
PARADIREITA 120
] PINTAR

ROTULAR

ROTULAR “texto” ; insere texto na posição da tartaruga
ROTULAR 'texto' ; ver acima
ROTULAR "texto ; ver acima (somente para palavras únicas)

TEXTO

CÍRCULO 10 TEXTO “texto” ; define o texto contido no objeto de desenho atual

Configurações do tipo de letra

MUDARCORDALETRA (mcorle)

MUDARCORDALETRA “verde” ; define a cor da letra

MUDARTIPODALETRA (mtiple)

MUDARTIPODALETRA “Linux Libertine G” ; define o tipo de letra (família)
MUDARTIPODALETRA “Linux Libertine G:smcp=1” ; define também o tipo de capitalização (versaletes)
MUDARTIPODALETRA “Linux Libertine G:smcp=1&onum=1” ; versaletes + figuras antigas

MUDARTAMANHODALETRA (mtamle)

MUDARTAMANHODALETRA 12 ; define 12pt

MUDARESPESSURADALETRA (mesple)

MUDARESPESSURADALETRA “negrito” ; define a letra como negrito
MUDARESPESSURADALETRA “normal” ; define a letra como normal

MUDARESTILODALETRA (mestle)

MUDARESTILODALETRA “itálico” ; define o texto como itálico
MUDARESTILODALETRA “normal” ; define o texto como normal

AGRUPAR (FIGURA, grp)

AGRUPAR serve para:

  • agrupar formas;
  • iniciar a construção de novas formas de linha;
  • salvar imagens SVG e animações SVG/SMIL;
  • manter a consistência das posições e formas de linha na borda esquerda.

Agrupamento de formas

; AGRUPAR [ Comandos_LibreLogo ]
AGRUPAR [ PARAFRENTE 100 CÍRCULO 100 ] ; agrupa em forma de árvore

Pesquise também “Grupos” na ajuda do LibreOffice Writer.

APRENDER arvore localizacao
USARNADA POSICIONAR localizacao MUDARDIREÇÃO 0 USARLÁPIS
AGRUPAR [ PARAFRENTE 100 CÍRCULO 100 ] ; agrupa na forma de árvore
FIM

AGRUPAR [ arvore [30, 50] arvore [100, 50] ] ; formas agrupadas em outra forma agrupada

Iniciar novas formas de linha

AGRUPAR ; inicia uma nova forma de linha
PARAFRENTE 10 AGRUPAR PARAFRENTE 10 ; duas formas de linha

Salvar imagens SVG

AGRUPAR “exemplo.svg” [ CÍRCULO 5 ] ; salva figura como um arquivo de imagem SVG na pasta do usuário
AGRUPAR “Desktop/exemplo.svg” [ PARAFRENTE 100 CÍRCULO 5 ] ; como acima, com caminho relativo
AGRUPAR “/home/user/exemplo.svg” [ CÍRCULO 5 ] ; caminho absoluto para Unix/Linux
AGRUPAR “C:/exemplo.svg” [ CÍRCULO 5 ] ; caminho absoluto para Windows

Salvar animações SVG/SMIL (desenhos com comandos ESPERAR)

AGRUPAR “anima.svg” [ CÍRCULO 5 ESPERAR 1000 CÍRCULO 99 ] ; salva como uma animação SVG/SMIL (ver também ESPERAR)
AGRUPAR “anima2.svg” [ CÍRCULO 5 ESPERAR 1000 CÍRCULO 99 ESPERAR 2000 ] ; como acima, mas utilizar ESPERAR após último objeto resulta em um laço: após 2 segundos a animação SVG reinicia em navegadores compatíveis com SMIL

Consistência na margem esquerda

Use AGRUPAR para manter a consistência de posições e formas de linhas na margem esquerda do Writer:

AGRUPAR [ CÍRCULO 20 POSICIONAR [-100, 100] CÍRCULO 20 ]

Laços

REPETIR

; REPETIR número [ comandos ]

REPETIR 10 [ PARAFRENTE 10 PARAESQUERDA 45 CÍRCULO 10 ] ; repete 10 vezes

; número é opcional

REPETIR [ POSICIONAR QUALQUER ] ; laço infinito

CONTVEZES

Variável de laço (também presente nos laços PARA e ENQUANTO).

REPETIR 100 [ PARAFRENTE CONTVEZES PARAESQUERDA 90 ]

PARA EM

Laço para os elementos de lista:

PARA i EM [1, 5, 7, 9, 11] [
PARAFRENTE i
PARAESQUERDA 90
]

Laço para caracteres de uma sequência de caracteres:

PARA i EM “texto” [
ROTULAR i
PARAFRENTE 10
]

ENQUANTO

ENQUANTO VERDADEIRO [ POSICIONE QUALQUER ] ; laço sem fim
ENQUANTO CONTVEZES <= 10 [ PARAFRENTE 50 PARAESQUERDA 36 ] ; igual a REPEAT 10 [ ... ]

INTERROMPER

Interrompe o laço.

REPETIR [ ; laço sem fim
POSICIONAR QUALQUER
SE CONTVEZES = 100 [ INTERROMPER ]  ; equivalente a REPETIR 100 [ ... ]
]

CONTINUAR

Salta para a próxima iteração do laço.

REPETIR 100 [
POSICIONAR QUALQUER
SE CONTVEZES % 2 == 0 [ CONTINUAR ]
CÍRCULO 10 ; desenha círculos a cada 2ª posição
]

Condições

SE

; SE condição [ bloco verdadeiro ]
 ; SE condição [ bloco verdadeiro ] [ bloco falso ]

SE a < 10 [ ESCREVER “Pequeno” ]
SE a < 10 [ ESCREVER “Pequeno” ] [ ESCREVER “Grande” ]

E, OU, NÃO

Operadores lógicos.

SE a < 10 E NÃO a = 5 [ ESCREVER “0, 1, 2, 3, 4, 6, 7, 8 ou 9” ]
SE a < 10 E a != 5 [ ESCREVER “0, 1, 2, 3, 4, 6, 7, 8 ou 9” ] ; como acima

Sub-rotinas

APRENDER, FIM

Nova palavra (ou procedimento).

APRENDER triangulo
REPETIR 3 [ PARAFRENTE 100 PARADIREITA 120 ] PINTAR
FIM

REPETIR 10 [ triangulo USARNADA POSICIONAR QUALQUER USARLÁPIS ]

RETORNAR

Devolve/retorna o valor da função.

APRENDER letraqualquer
RETORNAR ALEATÓRIO “qwertzuiopasdfghjklyxcvbnm”
FIM

ESCREVER letraqualquer + letraqualquer + letraqualquer ; imprime aleatoriamente 3 letras da sequência

PARAR

Sair do procedimento.

APRENDER exemplo numero
SE numero < 0 [ PARAR ]
ESCREVER RAIZ numero ; imprime a raiz quadrada
]

exemplo 100
exemplo -1 ; sem resultados nem erros
exemplo 25

Variáveis padrão

QUALQUER

Valor aleatório padrão para cores etc.

MUDARCORDOLÁPIS QUALQUER ; cor aleatória do lápis

VERDADEIRO

Valor lógico.

ENQUANTO VERDADEIRO [ POSICIONAR QUALQUER ] ; laço infinito
ESCREVER VERDADEIRO ; imprime verdadeiro

FALSO

Valor lógico.

ENQUANTO NÃO FALSO [ POSICIONAR QUALQUER ] ; laço infinito
ESCREVER FALSO ; imprime falso

TAMANHODAPÁGINA (tampág)

ESCREVER TAMANHODAPÁGINA ; imprime lista com tamanho da página em pontos, por ex. [595.30, 841.89]

PI/π

ESCREVER PI ; imprime 3.14159265359

Entrada/Saída

ESCREVER (esc)

ESCREVER “texto” ; imprime “texto” em uma caixa de diálogo
ESCREVER 5 + 10 ; imprime 15

LER

ESCREVER LER “Valor de entrada?” ; solicita e imprime uma cadeia de caracteres em uma caixa de diálogo
ESCREVER REAL (LER “Primeiro número?”) + REAL (LER “Segundo número?”) ; calculadora básica

ESPERAR

ESPERAR 1000 ; espera 1000 ms (1 segundo)

GLOBAL

Definir variáveis globais usadas em procedimentos.

GLOBAL sobre
sobre = “LibreLogo”

APRENDER exemplo
ESCREVER sobre
GLOBAL sobre ; se quisermos usar e adicionar um novo valor
sobre = “novo valor da variável global”
FIM

exemplo
ESCREVER sobre

Funções

ALEATÓRIO

ESCREVER ALEATÓRIO 100 ; número real aleatório (0 <= x < 100)
ESCREVER ALEATÓRIO “texto” ; letra aleatória de “texto”
ESCREVER ALEATÓRIO [1, 2] ; elemento aleatório da lista (1 ou 2)

INT

ESCREVER INT 3.8 ; imprime 3 (parte inteira de 3.8)
ESCREVER INT ALEATÓRIO 100 ; número inteiro aleatório (0 <= x < 100)
ESCREVER INT “7” ; converte o parâmetro da cadeia para inteiro

REAL

; converte o parâmetro da cadeia de texto num número real
ESCREVER 2 * REAL “5.5” ; imprime 11.0

STR

; converte o parâmetro numérico numa cadeia de texto
ESCREVER “Resultado: ” + STR 5 ; imprime “Resultado: 5”
ESCREVER 10 * STR 5 ; imprime 5555555555

RAIZ

ESCREVER RAIZ 100 ; imprime 10, a raiz quadrada de 100

SEN

ESCREVER SEN 90 * PI/180 ; imprime 1.0 (o seno de 90° em radianos)

COS

ESCREVER COS 0 * PI/180 ; imprime 1.0 (o cosseno de 0° em radianos)

LOG10

ESCREVER LOG10 100 ; imprime 2.0 (logaritmo de 100 na base 10)

ARRED

ESCREVER ARRED 3.8 ; imprime 4 (arredondamento de 3.8)
ESCREVER ARRED ALEATÓRIO 100 ; número inteiro aleatório (0 <= x <= 100)

ABS

ESCREVER ABS -10 ; imprime 10, o valor absoluto de -10

CONTAGEM

ESCREVER CONTAGEM “texto” ; imprime 5, o número de caracteres em “texto”
ESCREVER CONTAGEM [1, 2, 3] ; imprime 3, o tamanho da lista

CONJUNTO

; Converte a lista para um conjunto Python
ESCREVER CONJUNTO [4, 5, 6, 6] ; imprime {4, 5, 6}
ESCREVER CONJUNTO [4, 5, 6, 6] | CONJUNTO [4, 1, 9] ; imprime {1, 4, 5, 6, 9}, união
ESCREVER CONJUNTO [4, 5, 6, 6] & CONJUNTO [4, 1, 9] ; imprime {4}, interseção
ESCREVER CONJUNTO ([4, 5, 6, 6]) - CONJUNTO [4, 1, 9] ; imprime {5, 6}, diferença
ESCREVER CONJUNTO [4, 5, 6, 6] ^ CONJUNTO [4, 1, 9] ; imprime {1, 5, 6, 9}, diferença simétrica

INTERVALO

; geração de listas ao estilo do Python
ESCREVER INTERVALO 10 ; imprime [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ESCREVER INTERVALO 3 10 ; imprime [3, 4, 5, 6, 7, 8, 9]
ESCREVER INTERVALO 3 10 3 ; imprime [3, 6, 9]

PARA i EM INTERVALO 10 50 10 [ ; laço para [10, 20, 30, 40]
PARAFRENTE i
PARAESQUERDA 90
]

LISTA

; remover os elementos repetidos de uma lista utilizando conversão de conjunto e de lista
ESCREVER LISTA (CONJUNTO [1, 3, 5, 5, 2, 1]) ; imprime [1, 3, 5, 2]

TUPLA

Conversão para tupla do Python (lista não-modificável)

ESCREVER TUPLA [4, 5]

ORDENADO

Retorna uma lista ordenada.

ESCREVER ORDENADO [5, 1, 3, 4] ; imprime [1, 3, 4, 5]

SUBST

Substituir sequências de caracteres usando padrões regex (expressões regulares).

ESCREVER SUBST (“t”, “T”, “texto”) ; imprime “Texto”, substituindo “t” por “T”
ESCREVER SUBST (“(.)”, “\\1\\1”, “texto”) ; imprime “tteexxttoo”, duplicando todos os caracteres

PESQUISA

Procurar padrões de sequências de caracteres usando padrões regex.

SE PESQUISA (“\w”, word) [ ESCREVER “Letra na palavra.” ]

LOCALIZATUDO

Localizar todas as sequências de caracteres no texto de entrada, coincidentes com o padrão regex dado.

ESCREVER LOCALIZATUDO(“\w+”, “Cães, gatos.”) ; imprime [“Cães”, “gatos”], a lista das palavras.

MÍNIMO

ESCREVER MÍNIMO [1, 2, 3] ; imprime 1, o menor elemento da lista

MÁXIMO

ESCREVER MÁXIMO [1, 2, 3] ; imprime 3, o maior elemento da lista

Constantes de cor

MUDARCORDOLÁPIS “PRATA” ; define a cor pelo nome
MUDARCORDOLÁPIS [1] ; define a cor por identificador
MUDARCORDOLÁPIS “~PRATA” ; escolhe uma cor prateada aleatória

Identificador Nome
0 PRETO
1 PRATA
2 CINZA
3 BRANCO
4 CASTANHO
5 VERMELHO
6 ROXO
7 MAGENTA
8 VERDE
9 LIMA
10 OLIVA
11 AMARELO
12 MARINHO
13 AZUL
14 TURQUESA
15 CIANO
16 ROSA
17 TOMATE
18 LARANJA
19 OURO
20 VIOLETA
21 CELESTE
22 CHOCOLATE
23 MARROM
24 INVISÍVEL