Il ProLOGO
Prolog
LOGO
Download
Relazione
Comandi
ProLOGO in Sourceforge.net
prologo.sourceforge.net (in English)
|
Comandi elementari
- forward n
- (fd, avanti, a) fa avanzare la tartaruga di n pixel.
- back n
- (bk, indietro, i) fa indietreggiare la tartaruga di n pixel.
- rightturn n
- (right, rt, destra, d) fa girare la tartaruga verso destra di n gradi
- leftturn n
- (left, lt, sinistra, s) fa girare la tartaruga verso sinistra di n gradi
- home
- (tana) Fa tornare la tartaruga al centro dello schermo (punto (0,0)) con la testa rivolta in alto.
- clearscreen
- (cs, puliscischermo, ps) Cancellla lo schermo grafico e porta la tartaruga in posizione home
- clean
- (pulisci) Pulisce lo schermo senza spostare la tartaruga
- cleartext
- (ct, puliscitesto, pt) Cancella lo schermo testuale
- print <valore>
- (pr, stampa) Visualizza sullo schermo testuale un valore
- make "var <valore>
- (assegna, as) Assegna a una variabile un valore. Questo comando è descritto in dettaglio nella sezione 8.2
- penup
- (pu, sulapenna, su) Sposta in su la penna. La tartaruga si sposterà senza lasciare traccia
- pendown
- (pd, giulapenna, giu) Sposta in giù la penna. La tartaruga lascerà traccia
- showturtle
- (st, mostarta, mt) Mostra la tartaruga
- hideturtle
- (ht, nastarta, nt) Nasconde la tartaruga
- setx x
- (vaix) Sposta la tartaruga alla x specificata (senza cambiare la y)
- sety y
- (vaiy) Sposta la tartaruga alla y specificata (senza cambiare la x)
- setxy x y, setpos lista
- (vaixy - vaipos) Sposta la tartaruga alla posizione indicata (per setpos la lista deve essere di due elementi)
- setheading n
- (seth, angolo) Determina la direzione della tartaruga: l'angolo è dato in gradi dalla verticale in senso orario.
- setpencolor 0-7 | "nomecolore
- (pencolor, setpc, color, colorepenna, colore) Setta il colore della penna. Il colore può essere un numero da 0 a 7, oppure un nome ad esempio "black oppure una descrizione esadecimale ad esempio "#000000
- setbgcolor 0-7 | "nomecolore
- (setbackgroundcolor, bgcolor, coloresfondo, sfondo) Setta il colore di sfondo
- defaultcolors
- (coloristandard) Imposta i colori standard (nero su bianco)
- printoutnames
- (pons, ponames, showvars, mostravar) Mostra su schermo testuale il contenuto di tutte le variabili
- eraseall
- (erall, cancellatutto) Cancella il contenuto della memoria
- label <word / lista>
- (etichetta) Scrive un testo sulla finestra grafica, nella posizione corrente della tartaruga
- load <lista>
- (carica) Carica lo script del quale è dato il percorso e lo esegue.
- about
- (informazioni) Visualizza le informazioni sul ProLOGO
Controllo
- repeat n [ istruzioni ]
- (ripeti) Ripete n volte il blocco di istruzioni
- if condizione [ istruzioni1 ] [ istruzioni2 ]
- (se) Se la condizione è vera esegue istruzioni1 se è falsa istruzioni2
- while condizione [ istruzioni ]
- (mentre) Ripete il blocco di istruzioni fintanto che la condizione è vera
Tipi di dato
I tipi di dato utilizzati sono gli interi, le liste, le word e i booleani.
Interi
Per gli interi sono presenti gli operatori +, -, *, / (divisione intera), % (modulo)
Sono espressioni intere anche:
- read
- (leggi). Questa funzione (che può prendere come parametro un messaggio da visualizzare), restituisce un intero specificato dall'utente. Esempio: make "x read [ inserisci un numero ]. Il costrutto read non esiste nel LOGO standard nel quale si possono leggere solo liste con la funzione readlist descritta in seguito.
- first <lista>
- (primo) Restituisce il primo elemento di una lista (se è un intero)
- last <lista>
- (ultimo) Restituisce l'ultimo elemento di una lista
- xcor
- Restituisce la coordinata x corrente della tartaruga
- ycor
- Restituisce la coordinata y corrente della tartaruga
- heading
- (direzione) Restituisce l'angolo formato dalla testa della tartaruga con la verticale. Gli angoli sono misurati seguendo il senso orario.
- length <lista>, length <word>
- (lunghezza, lungh) Restituisce la lunghezza di una lista o di una word.
Liste
Una lista ha una testa che è un elemento di un tipo base (intero, booleano, word) e una coda che è ricorsivamente una lista. Le liste sono specificate all'interno di parentesi quadre e i vari elementi sono separati da spazi.
L'operatore first restituisce l'elemento in testa alla lista, mentre butfirst restituisce la coda della lista. È presente anche l'operatore last che restituisce l'ultimo elemento.
Gli elementi dentro le liste non vengono in nessun modo interpretati. Per questo motivo la lista [1+2] è una lista contenente i tre elementi 1, + e 2 e non la lista formata dall'unico elemento 3.
Questa scelta non è un problema perché è possibile aggiungere un nuovo elemento (intero, word o booleano) in testa alle liste grazie all'operatore push (che prende un elemento e una lista e restituisce una lista) ed è possibile unire due liste con l'operatore concat che restituisce l'append di due liste.
Un'espressione di tipo lista può essere quindi una lista specificata tra parentesi quadre, una variabile contenente una lista, oppure una lista ottenuta dai seguenti operatori:
- readlist
- (leggilista) Questo operatore, che può prendere anche un parametro che specifica un messaggio da visualizzare, restituisce una lista introdotta dall'utente. Nel LOGO standard anche per leggere un intero o una word si deve utilizzare readlist in combinazione con first, ad esempio scrivendo make "x first readlist. Anche in ProLOGO è possibile utilizzare first readlist in alternativa a read (che però ha il vantaggio di garantire che l'utente inserisca proprio un intero).
- butfirst <lista>
- (coda) Restituisce la coda di una lista
- push <int/bool/word> <lista>
- (metti) Restituisce la lista ottenuta inserendo in testa alla lista passata come secondo argomento il primo argomento
- concat <lista1> <lista2>
- Restituisce la lista ottenuta concatenando i due argomenti
Word
In LOGO una word è, in pratica, una stringa che non contiene spazi. Le stringhe con spazi sono sostituite da liste.
Una word si indica aprendo i doppi apici ma senza chiuderli (es. "stringa). Questa notazione è possibile perché le stringhe non contengono spazi.
Sulle word è possibile usare gli operatori first, butfirst e last che operano sulla stringa vista come lista di caratteri. Inoltre è possibile ottenere una word usando gli operatori first e last su una lista, nel caso che l'elemento non sia un intero.
Booleani
Un'espressione booleana è data dai valori di verità true e false, dalle relazioni tra numeri interi
=,<,<=,>,>=,!=
, dall'operatore empty applicato a una lista. Le espressioni booleane si possono combinare con gli operatori and, or e not. Naturalmente sono presenti anche le forme italiane che sono rispettivamente vero, falso, vuota, e, o, non oltre alla variante emptyp per empty.
|