LibreLogo
LibreLogo è un ambiente di programmazione semplice simile a Logo, con la grafica della tartaruga vettoriale, adatto all'insegnamento del computer (programmazione ed elaborazione testi), la tipografia digitale e il disegno grafico. Visitate http://www.numbertext.org/logo/librelogo.pdf.
Barra degli strumenti di LibreLogo
La barra degli strumenti di LibreLogo (
) contiene le icone per il movimento della tartaruga, per l'avvio e il blocco del programma, per inizializzare e pulire lo schermo e per l'evidenziazione/traduzione della sintassi, oltre a una barra di immissione (riga di comando).Icone di movimento tartaruga
Sono l'equivalente dei comandi Logo “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”. Se fate clic su una delle icone verrà scorsa la pagina e posizionato il fuoco alla posizione della tartaruga.
Eseguire un programma Logo
Fate clic sull'icona "Avvia un programma Logo" per eseguire il testo (o soltanto la parte selezionata) del documento Writer come un programma LibreLogo. In un documento vuoto viene scritto ed eseguito in un programma di esempio.
Fate clic sull'icona "Stop" per fermare l'esecuzione del programma.
Inizializza
Fate clic sull'icona “Inizializza” per inizializzare la posizione e le impostazioni della tartaruga.
Pulisci schermo
Fate clic sull'icona “Pulisci schermo” per rimuovere, dal documento, gli oggetti di disegnati.
Editor di programma/evidenziatore di sintassi/traduttore
La "bacchetta magica" estende e rende maiuscoli i comandi Logo nel documento Writer. Modificate la lingua del documento (
). Premete questa icona per tradurre il programma Logo nella lingua prescelta.Riga di comando
Premete Invio nella riga di comando per eseguire il suo contenuto. Per fermare il programma usate l'icona “Ferma".
Tenete premuto il tasto Invio per ripetere la riga di comando, per esempio, sulla sequenza di comando che segue:
FORWARD 200 LEFT 89
Per azzerare la riga di comando fate triplo clic al suo interno o premete Ctrl-A per selezionare i comandi precedenti, poi digitate i nuovi comandi.
Interfaccia utente grafica delle impostazioni di base della tartaruga
La figura della tartaruga di LibreLogo è un oggetto di disegno a dimensione normale fissa. Potete posizionarla e ruotarla normalmente, utilizzando il mouse e l'icona Ruota della barra degli strumenti delle proprietà degli oggetti di disegno. Potete modificare le impostazioni dello spessore linea, del colore linea e del colore area della tartaruga per impostare gli attributi PENSIZE, PENCOLOR e FILLCOLOR di LibreLogo.
Modifica del programma
I disegni e i programmi LibreLogo usano lo stesso documento Writer. La superficie dove LibreLogo disegna si trova nella prima pagina del documento Writer. Per ottenere un layout di programmazione a due pagine più comodo, potete inserire un'interruzione di pagina prima dei programmi LibreLogo e impostare la dimensione del carattere e dell'ingrandimento: la pagina sinistra (la prima) conterrà il disegno, la pagina destra (la seconda) sarà riservata ai programmi LibreLogo.
Linguaggio di programmazione LibreLogo
LibreLogo è un linguaggio di programmazione simile a Logo facilmente traducibile, localizzato in varie lingue dalle comunità di lingua LibreOffice. È compatibile con i vecchi sistemi Logo, per i casi di semplici programmi Logo utilizzati nel campo dell'educazione, per es.
TO triangolo :dimensione
REPEAT 3 [
FORWARD :dimensione
LEFT 120
]
END
triangolo 10 triangolo 100 triangolo 200
Differenze rispetto al linguaggio di programmazione Logo
-
Gli elementi delle liste sono separati da virgola: POSITION [0, 0]
-
Le liste e i blocchi del programma sono differenti
-
-
I blocchi del programma necessitano di uno spazio o una nuova riga dopo la parentesi: REPEAT 10 [ FORWARD 10 LEFT 36 ]
-
Le liste necessitano parentesi non separate da uno spazio: POSITION [0, 0] e non: POSITION [ 0, 0 ]
-
-
Le dichiarazioni di funzione in una sola riga non sono supportate (TO e END devono trovarsi su righe diverse).
Altre caratteristiche di LibreLogo
-
I due punti prima dei nomi di variabile sono facoltativi.
TO triangolo dimensione
REPEAT 3 [ FORWARD size LEFT 120 ]
END -
La notazione di stringa supporta anche l'ortografia e la sintassi Python.
PRINT "parola ; sintassi originale Logo
PRINT “Testo arbitrario.” ; ortografia, Writer
PRINT 'Testo arbitrario.' ; sintassi Python -
Gestione delle liste e delle stringhe Python
PRINT “testo”[2] ; stampa “s”
PRINT “testo”[1:3] ; stampa “es” -
Ciclo FOR tipo Python
-
Dichiarazione variabili tipo Python:
x = 15
PRINT x -
Non esistono funzioni di ricerca aggiuntive:
PRINT FILLCOLOR
p = POSITION
PRINT p
REPEAT 10 [ POSITION ANY POSITION p ] -
Parentesi opzionali nelle chiamate di funzioni
TO stella dimensione colore
FILLCOLOR colore
REPEAT 5 [ LEFT 72 FORWARD dimensione RIGHT 144 FORWARD dimensione ]
FILL
END
stella 100 “red”
stella (100, “green”)
stella(100, “blue”)
Comandi di LibreLogo
Sintassi di base
Maiuscole/minuscole
I comandi e le costanti di colore non distinguono tra maiuscole e minuscole:
PRINT “Hello, World!”
stampa “Hello, World, di nuovo!”
Le variabili dei nomi distinguono tra le maiuscole e le minuscole:
a = 5
A = 7
PRINT a
PRINT A
Linee di programma
Le linee di un programma LibreLogo corrispondono a paragrafi nel documento LibreOffice Writer. Una linea di programma può contenere più comandi:
PRINT “Hello, World!” PRINT “LibreLogo”
Commenti
Su una linea, tutto ciò che segue il punto e virgola è un commento:
; alcuni commenti
PRINT 5 * 5 ; alcuni commenti
Interrompere le righe del programma in più paragrafi
È possibile dividere una linea di programma in più paragrafi tramite l'uso del carattere "~" (tilde) alla fine della riga:
PRINT “Questo è un messaggio di avviso ” + ~
“molto lungo”
Movimento della tartaruga
FORWARD (fd)
FORWARD 10 ; sposta avanti di 10pt (1pt = 1/72 di pollice)
FORWARD 10pt ; vedere sopra
FORWARD 0.5poll ; sposta avanti di 0.5 pollici (1 pollice = 2.54 cm)
FORWARD 1" ; vedere sopra
FD 1mm
FD 1cm
BACK (bk)
BACK 10 ; sposta indietro di 10pt
LEFT (lt)
LEFT 90 ; ruota la tartaruga di 90 gradi in senso antiorario
LEFT 90° ; vedere sopra
LT 3h ; vedere sopra (posizione orologio)
LT any ; ruota in una posizione casuale
RIGHT (rt)
RIGHT 90 ; gira di 90 gradi in senso orario
PENUP (pu)
PENUP ; la tartaruga si sposterà senza disegnare
PENDOWN (pd)
PENDOWN ; la tartaruga si sposterà disegnando
POSITION (pos)
POSITION [0, 0] ; ruota la tartaruga e la sposta verso l'angolo superiore sinistro
POSITION PAGESIZE ; ruota e sposta verso l'angolo inferiore destro
POSITION [PAGESIZE[0], 0] ; ruota e sposta verso l'angolo superiore destro
POSITION ANY ; ruota e sposta in una posizione casuale
HEADING (seth)
HEADING 0 ; gira verso nord
HEADING 12h ; vedere sopra
HEADING [0, 0] ; gira verso l'angolo superiore sinistro
HEADING ANY ; gira in una posizione casuale
Altri comandi della tartaruga
HIDETURTLE (ht)
HIDETURTLE ; nasconde la tartaruga (fino al comando SHOWTURTLE)
SHOWTURTLE (st)
SHOWTURTLE ; mostra la tartaruga
HOME
HOME ; riporta la posizione della tartaruga alle condizioni iniziali
CLEARSCREEN (cs)
CLEARSCREEN ; rimuove gli oggetti di disegno dal documento
FILL e CLOSE
FILL ; chiude e riempie la forma della linea o dei punti attivi
CLOSE ; chiude la forma della linea attiva o unisce i punti attivi
Esempio: riempire un triangolo equilatero:
FORWARD 50 LEFT 120 FORWARD 50 FILL
Esempio: disegnare un triangolo equilatero:
FORWARD 50 LEFT 120 FORWARD 50 CLOSE
Impostazioni della penna
PENSIZE (ps)
PENSIZE 100 ; lo spessore linea è di 100 punti
PENSIZE ANY ; equivale a PENSIZE RANDOM 10
PENCOLOR/PENCOLOUR (pc)
PENCOLOR “red” ; imposta il colore della penna a rosso (per nome di colore, vedere le constanti di colore)
PENCOLOR [255, 255, 0] ; imposta il colore giallo (elenco RGB)
PENCOLOR 0xffff00 ; imposta il colore giallo (codice esadecimale)
PENCOLOR 0 ; imposta il colore nero (0x000000)
PENCOLOR ANY ; colore casuale
PENCOLOR [5] ; imposta il colore rosso (in base all'identificatore di colore, vedere le costanti di colore)
PENCOLOR “invisibile” ; colore penna invisibile per le forme senza contorno visibile
PENCOLOR “~rosso” ; imposta il colore rosso casuale
PENTRANSPARENCY
PENTRANSPARENCY 80 ; definisce la trasparenza del colore della penna attiva all'80%
PENCAP/LINECAP
PENCAP “none” ; senza estremità linea aggiuntiva (predefinito)
PENCAP “round” ; estremità linea arrotondata
PENCAP “square”; estremità linea quadrata
PENJOINT/LINEJOINT
PENJOINT "rounded" ; giunzione linea arrotondata (impostazione predefinita)
PENJOINT “miter” ; giunzione linea appuntita
PENJOINT “bevel” ; giunzione linea smussata
PENJOINT “none” ; senza linea di giunzione
PENSTYLE
PENSTYLE “solid” ; linea piena (impostazione predefinita)
PENSTYLE “dotted” ; linea a punti
PENSTYLE “dashed” ; linea tratteggiata
; modello personalizzato di punti–trattini specificato da una lista comprendente i seguenti argomenti:
; – numero dei punti contigui
; – lunghezza del punto
; – numero dei trattini contigui
; – lunghezza di un trattino
; – distanza dei punti/trattini
; – tipo (facoltativo):
; 0 = i punti sono rettangoli (impostazione predefinita)
; 2 = i punti sono quadrati (le lunghezze e le distanze sono relative alla dimensione della penna)
PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
Impostazioni di riempimento
FILLCOLOR/FILLCOLOUR (fc)
FILLCOLOR “blue” ; riempie col colore blu, vedere anche PENCOLOR
FILLCOLOR “invisible” CIRCLE 10 ; una circonferenza vuota
FILLCOLOR [“blue”, “red”] ; gradiente tra il rosso e il blu
FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; tra il bianco e l'arancione
FILLCOLOR [“blue”, “red”, 1, 0, 0] ; imposta un gradiente assiale (con la rotazione richiesta e l'impostazione dei bordi), valori possibili: 0-5 = gradienti: lineare, assiale, radiale, ellittico, quadrato e rettangolare
FILLCOLOR [“red”, “blue”, 0, 90, 20] ; lineare con il bordo del 20%, ruotato di 90 gradi dall'attuale direzione della tartaruga
FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; intensità dal 200% al 50% di intensità
FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; gradiente radiale tra due colori casuali e 50-50% orizzontale e verticale posizione del centro
FILLTRANSPARENCY
FILLTRANSPARENCY 80 ; imposta la trasparenza dell'attuale colore all'80%
FILLTRANSPARENCY [80] ; imposta il gradiente lineare di trasparenza da 80% a 0%
FILLTRANSPARENCY [80, 20] ; imposta il gradiente lineare di trasparenza da 80% a 20%
FILLTRANSPARENCY [80, 20, 1, 90] ; imposta il gradiente di trasparenza assiale ruotato di 90 gradi rispetto all'attuale direzione della tartaruga
FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; imposta il gradiente di trasparenza radiale dall'80% all'esterno al 20% all'interno con il 20% sui bordi e con 50-50% la posizione orizzontale e verticale del centro
FILLSTYLE
FILLSTYLE 0 ; riempie senza tratteggio (impostazione predefinita)
FILLSTYLE 1 ; tratteggio singolo nero (orizzontale)
FILLSTYLE 2 ; tratteggio singolo nero (45 gradi)
FILLSTYLE 3 ; tratteggio singolo nero (-45 gradi)
FILLSTYLE 4 ; tratteggio singolo nero (verticale)
FILLSTYLE 5 ; tratteggio incrociato rosso (45 gradi)
FILLSTYLE 6 ; tratteggio incrociato rosso (0 gradi)
FILLSTYLE 7 ; tratteggio incrociato blu (45 gradi)
FILLSTYLE 8 ; tratteggio incrociato blu (0 gradi)
FILLSTYLE 9 ; triplo tratteggio blu
FILLSTYLE 10 ; tratteggio singolo largo nero (45 gradi)
; tratteggio personalizzato in base a una lista con i seguenti argomenti:
; – stile (1 = singolo, 2 = doppio, 3 = triplo tratteggio)
; – colore
; – distanza
; – gradi
FILLSTYLE [2, “green”, 3pt, 15°] ; tratteggio incrociato verde (15 gradi)
Disegno di oggetti
CIRCLE
CIRCLE 100 ; disegna un cerchio (diametro = 100pt)
ELLIPSE
ELLIPSE [50, 100] ; disegna un'ellisse con assi di 50 e 100
ELLIPSE [50, 100, 2h, 12h] ; disegna un settore ellittico (dalla posizione delle ore 2 a quella delle ore 12)
ELLIPSE [50, 100, 2h, 12h, 2] ; disegna un segmento ellittico
ELLIPSE [50, 100, 2h, 12h, 3] ; disegna un arco ellittico
SQUARE
SQUARE 100 ; disegna un quadrato (dimensione = 100pt)
RECTANGLE
RECTANGLE [50, 100] ; disegna un rettangolo (50×100pt)
RECTANGLE [50, 100, 10] ; disegna un rettangolo con angoli arrotondati
POINT
POINT ; disegna un punto di dimensione e colore della penna
CLOSE può unire gli ultimi punti, FILL può riempire la forma definita dai punti. Per esempio, è facile disegnare una stella “semplice” partendo dal suo centro:
PENUP
REPEAT 5 [
FORWARD 80
POINT
BACK 80
RIGHT 36
FORWARD 50
POINT
BACK 50
RIGHT 120
] FILL
LABEL
LABEL “testo” ; stampa il testo alla posizione della tartaruga
LABEL 'testo' ; vedere sopra
LABEL "testo ; vedere sopra (solo per parole singole)
TEXT
CIRCLE 10 TEXT “testo” ; imposta il testo dell'oggetto di disegno corrente
Impostazioni carattere
FONTCOLOR/FONTCOLOUR
FONTCOLOR “green” ; imposta il colore del carattere
FONTFAMILY
FONTFAMILY “Linux Libertine G” ; imposta il carattere (famiglia)
FONTFAMILY “Linux Libertine G:smcp=1” ; imposta anche le caratteristiche del carattere (maiuscoletto)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; maiuscoletto + vecchio aspetto
FONTSIZE
FONTSIZE 12 ; imposta la dimensione dei caratteri a 12 punti
FONTWEIGHT
FONTWEIGHT “bold” ; imposta il carattere grassetto
FONTWEIGHT “normal” ; imposta lo spessore normale
FONTSTYLE
FONTSTYLE “italic” ; imposta la variante corsiva
FONTSTYLE “normal” ; imposta la variante normale
PICTURE (pic)
PICTURE è per
-
il raggruppamento delle forme;
-
l'inizio di forme di una nuova linea;
-
il salvataggio delle immagini SVG e le animazioni SVG/SMIL;
-
mantenendo il riferimento delle posizioni e delle forme delle linee al bordo sinistro.
Raggruppamento delle forme
; PICTURE [ comandi_LibreLogo ]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; forma raggruppata simile a un albero
Vedere anche “Gruppo” nella Guida di LibreOffice Writer.
TO albero posizione
PENUP POSITION posizione HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; forma raggruppata simile a un albero
END
PICTURE [ albero [230, 400] albero [300, 400] ] ; forme raggruppate in una forma raggruppata
Iniziare forme di una nuova linea
PICTURE ; inizia la forma di una nuova linea
FORWARD 10 PICTURE FORWARD 10 ; due forme di linea
Salvataggio di immagini SVG
PICTURE “esempio.svg” [ CIRCLE 5 ] ; salva il disegno come un'immagine SVG nella cartella utente
PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; vedere sopra, con un percorso relativo
PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; percorso assoluto per Unix/Linux
PICTURE “C:\example.svg” [ CIRCLE 5 ] ; percorso assoluto per Windows
Salvataggio di animazioni SVG/SMIL (disegni con comandi SLEEP)
PICTURE “animazione.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; salva come una animazione SVG/SMIL (vedere anche SLEEP)
PICTURE “animazione2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; come sopra, ma usando SLEEP dopo l'ultimo oggetto del ciclo: dopo 2 secondi l'animazione SVG riparte nei browser che supportano SMIL
Riferimento al bordo sinistro
Usate il comando PICTURE per mantenere il riferimento delle posizioni e delle forme di linea al bordo sinistro di Writer:
PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
Cicli
REPEAT
; REPEAT numero [ comandi ]
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; ripete 10 volte
; il numero è facoltativo
REPEAT [ POSITION ANY ] ; ciclo infinito
REPCOUNT
Variabile del ciclo (anche nei cicli FOR e WHILE).
REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
FOR IN
Ciclo per gli elementi delle liste:
FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
Ciclo per i caratteri di una stringa:
FOR i IN “text” [
LABEL i
FORWARD 10
]
WHILE
WHILE TRUE [ POSITION ANY ] ; ciclo infinito
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; come REPEAT 10 [ ... ]
BREAK
Ferma il ciclo.
REPEAT [ ; ciclo infinito
POSITION ANY
IF REPCOUNTARIP = 100 [ BREAK ] ; equivalente a REPEAT 100 [ ... ]
]
CONTINUE
Passa all'iterazione successiva del ciclo.
REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 = 0 [ CONTINUE ]
CIRCLE 10 ; disegna cerchi una posizione sì e una no
]
Condizioni
IF
; IF condizione [ blocco vero ]
; IF condizione [ blocco vero ] [ blocco falso ]
IF a < 10 [ PRINT “Piccolo” ]
IF a < 10 [ PRINT “Piccolo” ] [ PRINT “Grande” ]
AND, OR, NOT
Operatori logici.
IF a < 10 AND NOT a = 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 o 9” ]
IF a < 10 AND a != 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 o 9” ] ; vedere sopra
Funzioni
TO, END
Nuova parola (o funzione).
TO triangolo
REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangolo PENUP POSITION ANY PENDOWN ]
OUTPUT
Restituisce il valore della funzione.
TO letteracasuale
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END
PRINT letteracasuale + letteracasuale + letteracasuale ; stampa una stringa formata da tre caratteri casuali
STOP
Termina la procedura.
TO esempio numero
IF numero < 0 [ STOP ]
PRINT SQRT numero ; stampa radice quadrata
]
esempio 100
esempio -1 ; senza risultato ed errore
esempio 25
Variabili predefinite
ANY
Valori casuali predefiniti di colori, ecc.
PENCOLOR ANY ; colore casuale della penna
TRUE
Valore logico.
WHILE TRUE [ POSITION ANY ] ; ciclo infinito
PRINT TRUE ; stampa vero
FALSE
Valore logico.
WHILE NOT FALSE [ POSITION ANY ] ; ciclo infinito
PRINT FALSE ; stampa falso
PAGESIZE
PRINT PAGESIZE ; stampa una lista contenente le dimensioni di pagina in punti, per es. [595.30, 841.89]
PI/π
PRINT PI ; stampa 3.14159265359
Input/Output
PRINT “testo” ; stampa “testo” in una finestra di dialogo
PRINT 5 + 10 ; stampa 15
INPUT
PRINT INPUT “Input valore?” ; chiede e stampa una stringa da una finestra di dialogo
PRINT FLOAT (INPUT “Primo numero?”) + FLOAT (INPUT “Secondo numero?”) ; calcolatrice semplice
SLEEP
SLEEP 1000 ; attende per 1000 ms (1 sec)
GLOBAL
Imposta come globali le variabili usate nelle procedure.
GLOBAL informazioni
informazioni = “LibreLogo”
TO esempio
PRINT informazioni
GLOBAL informazioni ; quando vogliamo modificare il valore
informazioni = “nuovo valore per la variabile globale”
END
esempio
PRINT informazioni
Funzioni
RANDOM
PRINT RANDOM 100 ; numero in virgola mobile casuale (0 <= x < 100)
PRINT RANDOM “testo” ; lettera casuale del “testo”
PRINT RANDOM [1, 2] ; elemento casuale della lista (1 o 2)
INT
PRINT INT 3.8 ; stampa 3 (parte intera di 3.8)
PRINT INT RANDOM 100 ; numero intero casuale (0 <= x < 100)
PRINT INT “7” ; converte la stringa in numero intero
FLOAT
; converte la stringa in un numero con la virgola
PRINT 2 * FLOAT “5.5” ; stampa 11.0
STR
; converte in stringa il numero
PRINT “Risultato: ” + STR 5 ; stampa “Risultato: 5”
PRINT 10 * STR 5 ; stampa 5555555555
SQRT
PRINT SQRT 100 ; stampa 10, la radice quadrata di 100
SIN
PRINT SIN 90 * PI/180 ; stampa 1.0 (seno di 90° in radianti)
COS
PRINT COS 0 * PI/180 ; stampa 1.0 (coseno di 0° in radianti)
LOG10
PRINT LOG10 100 ; stampa 2.0 (che è il logaritmo in base 10 di 100)
ROUND
PRINT ROUND 3.8 ; stampa 4 (arrotondamento di 3.8)
PRINT ROUND RANDOM 100 ; numero intero casuale (0 <= x <= 100)
ABS
PRINT ABS -10 ; stampa 10, valore assoluto di -10
COUNT
PRINT COUNT “testo” ; stampa 5, il numero di caratteri di “testo”
PRINT COUNT [1, 2, 3] ; stampa 3, dimensione della lista
SET
; Converte la lista in un insieme Python
PRINT SET [4, 5, 6, 6] ; stampa {4, 5, 6}
PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; stampa {1, 4, 5, 6, 9}, unione
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; stampa {4}, intersezione
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; stampa {5, 6}, differenza
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; stampa {1, 5, 6, 9}, differenza simmetrica
RANGE
; generazione di una lista di numeri naturali in stile Python
PRINT RANGE 10 ; stampa [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 ; stampa [3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 3 ; stampa [3, 6, 9]
FOR num IN RANGE 10 50 10 [ ; ciclo per [10, 20, 30, 40]
FORWARD num
LEFT 90
]
LIST
; rimuove gli elementi ripetuti da una lista, tramite la conversione da lista a insieme e da insieme a lista
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; stampa [1, 3, 5, 2]
TUPLE
Conversione in ennupla Python (lista non modificabile)
PRINT TUPLE [4, 5]
SORTED
Restituisce un elenco ordinato.
PRINT SORTED [5, 1, 3, 4] ; stampa [1, 3, 4, 5]
SUB
Sostituisce le sequenze di caratteri utilizzando le espressioni regolari.
PRINT SUB (“t”, “T”, “testo”) ; stampa “TesTo”, rimpiazzando “t” con “T”
PRINT SUB (“(.)”, “\\1\\1”, “testo”) ; stampa “tteessttoo”, raddoppiando tutti i caratteri
SEARCH
Cerca le sequenze di caratteri tramite l'uso di espressioni regolari.
IF SEARCH (“\p”, "parola") [ PRINT “Lettera nella parola.” ]
FINDALL
Trova tutte le sequenze di caratteri nella stringa immessa che corrispondono all'espressione regolare data.
PRINT FINDALL(“\w+”, “Cani, gatti.”) ; stampa [“Cani”, “gatti”], l'elenco delle parole.
MIN
PRINT MIN [1, 2, 3] ; stampa 1, l'elemento minore della lista
MAX
PRINT MAX [1, 2, 3] ; stampa 3, l'elemento maggiore della lista
Costanti di colore
PENCOLOR “SILVER” ; imposta per nome
PENCOLOR [1] ; imposta per identificatori
PENCOLOR “~SILVER” ; colore argento casuale
Identificatore |
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 |