Indice    Avanti    Indietro




14. Elenco delle istruzioni principali



AND

Congiunzione logica di due condizioni (E).

Sintassi: AND <condizione> <condizione>

Esempio:

MAKE "n RANDOM 10
PRINT :n
IF AND :n > 2 :n < 6 [ PRINT [Il numero è compreso tra 2 e 6] ]




BK

Fa indietreggiare la tartaruga di un numero di passi pari al valore in input, tenendo conto della posizione e dell'orientamento attuale.

Sintassi: BK <valore>

Esempio:

BK 100

Esempio:

MAKE "n 100
BK :n




BYE

Uscita dal Logo.



CLEAN

Come CS, ma lascia la tartaruga nello stato in cui si trova.

Esempio:

FD 100
CLEAN




CS

Pulisce lo schermo (mondo della tartaruga) cancellando tutto ciò che fosse stato tracciato. Viene inoltre riportata la tartaruga nello stato iniziale: al centro dello schermo e con orientamento verso nord (la tana).

Esempio:

FD 50
RT 90
CS




CT

Cancella tutto il testo presente nella finestra commander.

Esempio:

PRINT "Questo è un testo"
CT




FD

Fa avanzare la tartaruga di un numero di passi pari al valore in input, tenendo conto della posizione e dell'orientamento attuale.

Sintassi: FD <valore>

Esempio:

FD 100

Esempio:

MAKE "n 100
FD :n




FILL

Riempie di colore una figura chiusa. Il colore di riempimento è quello impostato con l'istruzione setfc. Per poter effettuare il riempimento la tartaruga deve essere portata all'interno della figura (senza lasciare la traccia).

Esempio:

TO quadrato
   CS
   REPEAT 4 [FD 100 RT 90]
   SETFC [255 0 0]
   PU
   RT 45
   FD 10
   FILL
   BK 10
   LT 45
   PD
END




FOR

Esegue ripetutamente un blocco di istruzioni con la variabile di controllo che varia tra il primo valore in input e il secondo valore in input (con incremento o decremento di una unità). Se presente un terzo valore in input, l'incremento (o decremento) è uguale a tale valore.

Sintassi:

FOR [<nome variabile di controllo> <valore> <valore>] [<blocco istruzioni>]

oppure

FOR [<nome variabile di controllo> <valore> <valore> <valore> ] [<blocco istruzioni>]

Esempio:

FOR [k 1 5] [PRINT :k]

Output:
1
2
3
4
5

Esempio:

FOR [k 5 1] [PRINT :k]

Output:
5
4
3
2
1

Esempio:

FOR [k 1 5 1.5] [PRINT :k]

Output:
1
2.5
4

Esempio:

FOR [k 5 1 -1.5] [PRINT :k]

Output:
5
3.5
2




HOME

Riporta la tartaruga nello stato iniziale (la tana) senza cancellare lo schermo.

Esempio:

CS
FD 50
RT 90
HOME




HT

Nasconde la tartaruga (hide turtle). Per rendere di nuovo visibile la tartaruga bisogna dare l'istruzione ST (show turtle).

Esempio:

CS
REPEAT 5 [HT WAIT 60 ST WAIT 60]




IF

Istruzione condizionale (SE... ALLORA...). Vengono eseguite le istruzioni comprese tra parentesi quadre (blocco di istruzioni) solo se la condizione è verificata.

Sintassi: IF <condizione> [<blocco istruzioni>]

Esempio:

MAKE "n RANDOM 10
PRINT :n
IF :N > 5 [ PRINT [ Il numero è maggiore di 5] STOP ]
PRINT [Il numero è minore o uguale a 5]




IFELSE

Istruzione condizionale (SE... ALLORA... ALTRIMENTI...). Se la condizione è verificata viene eseguito il primo blocco di istruzioni altrimenti viene eseguito il secondo blocco.

Sintassi:
IFELSE <condizione> [< primo blocco>] [< secondo blocco>]

Esempio:

MAKE "n RANDOM 10
PRINT :n
IFELSE :n > 5 [ PRINT [ Il numero è maggiore di 5] ] [ PRINT [ Il numero è minore o uguale a 5] ]




LIST

Genera una lista i cui elementi sono i valori in input.

Sintassi:

LIST <valore> <valore>

oppure

(LIST <valore> <valore> ... <valore>)

Esempio:

TO quadrato :rosso :verde :blu
   SETPC (LIST :rosso :verde :blu)
   REPEAT 4 [FD 100 RT 90]
END




LT

Fa ruotare la tartaruga su se stessa, alla sua sinistra, di un angolo pari al valore in input, tenendo conto dell'orientamento attuale.

Sintassi: LT <valore>

Esempio:

CS
FD 50
LT 90

Esempio:

CS
MAKE "angolo 45
LT :angolo

Esempio:

Per capire che la tartaruga ruota alla sua sinistra e non alla vostra sinistra date in modo diretto l'istruzione LT 180 e poi l'istruzione LT 90.




MAKE

Assegna a una variabile un determinato valore.

Sintassi: MAKE "<nome variabile> <valore>

Esempio:

MAKE "n 10
PRINT :n

Output: 10


Esempio:

MAKE "nome [Pippo]
PRINT :nome

Output: Pippo


Esempio:

MAKE "m 6
MAKE "n :m
PRINT :n

Output: 6


Esempio:

MAKE "n 10
MAKE "n :n + 1
PRINT :n

Output: 11


Esempio:

MAKE "n 10
PRINT :n + 1
PRINT :n

Output:
11
10




NOT

Negazione logica di una condizione (NON).

Sintassi: NOT <condizione>

Esempio:

MAKE "n RANDOM 10
PRINT :n
IF NOT :n > 5 [ PRINT [Il numero è minore o uguale a 5] ]




OR

Disgiunzione logica di due condizioni (OPPURE).

Sintassi: OR <condizione> <condizione>

Esempio:

MAKE "n RANDOM 10
PRINT :n
IF OR :n > 8 :n < 4 [ PRINT [Il numero è maggiore di 8 o minore di 4] ]




PD

Abbassa la penna (pen down). Dopo aver dato l'istruzione PU, la tartaruga, spostandosi, non lascia la traccia sullo schermo. Per fare in modo che la tartaruga riprenda a lasciare la traccia bisogna dare l'istruzione PD (pen down).

Esempio:

CS
REPEAT 5 [PU FD 10 PD FD 10]




PRINT

Visualizza nella finestra commander il valore in input. Ogni istruzione print termina con un invio a capo.

Sintassi: PRINT <valore>

Esempio:

CT
PRINT 10

Output: 10


Esempio:

CT
PRINT [Salve, come stai?]

Output: Salve, come stai?


Esempio:

CT
MAKE "N 5
PRINT :N

Output: 5


Esempio:

CT
MAKE "T [Salve, come stai?]
PRINT :T

Output: Salve, come stai?


Esempio:

PRINT [Salve,]
PRINT [come stai?]

Output:
Salve,
come stai?




PU

Alza la penna (pen up). Dopo aver dato l'istruzione PU, la tartaruga, spostandosi, non lascia la traccia sullo schermo. Per fare in modo che la tartaruga riprenda a lasciare la traccia bisogna dare l'istruzione PD (pen down).

Esempio:

CS
REPEAT 5 [PU FD 10 PD FD 10]




RANDOM

Fornisce un numero intero casuale maggiore o uguale a 0 e minore del valore in input.

Sintassi: RANDOM <valore>

Esempio:

REPEAT 5 [PRINT RANDOM 6]

Output:
1
5
1
0
2


Esempio:

Il comando seguente visualizza un numero casuale compreso tra 10 e 20 (estremi inclusi)
PRINT 10 + RANDOM 11




REMAINDER

Fornisce il resto della divisione del primo valore in input per il secondo valore in input. I due valori devono essere numeri interi.

Sintassi: REMAINDER <valore> <valore>

Esempio:

PRINT REMAINDER 7 2

Output: 1


Esempio:

PRINT REMAINDER 6 2

Output: 0




REPEAT

Ripete le istruzioni comprese tra le parentesi quadre (blocco di istruzioni) per un numero di volte pari al valore in input.

Sintassi: REPEAT <valore> [<blocco istruzioni>]

Esempio:

CS
REPEAT 3 [FD 100 RT 120]




RT

Fa ruotare la tartaruga su se stessa, alla sua destra, di un angolo pari al valore in input, tenendo conto dell'orientamento attuale.

Sintassi: RT <valore>

Esempio:

CS
FD 50
RT 90

Esempio:

CS
MAKE "angolo 45
RT :angolo

Esempio:

Per capire che la tartaruga ruota alla sua destra e non alla vostra destra date in modo diretto l'istruzione RT 180 e poi l'istruzione RT 90.




SETFC

Imposta il colore per il riempimento delle figure. In input una lista di tre numeri interi compresi tra 0 e 255. I tre numeri della lista rappresentano nell'ordine la componente rossa, la componente verde e la componente blu del colore.

Sintassi: SETFC <lista componenti colore>

Esempio:

TO quadrato
   CS
   REPEAT 4 [FD 100 RT 90]
   SETFC [255 0 0]
   PU
   RT 45
   FD 10
   FILL
   BK 10
   LT 45
   PD
END




SETPC

Imposta il colore per la traccia della tartaruga (il colore della penna). In input una lista di tre numeri interi compresi tra 0 e 255. I tre numeri della lista rappresentano nell'ordine la componente rossa, la componente verde e la componente blu del colore.

Sintassi: SETPC <lista componenti colore>

Esempio:

CS
SETPC [255 0 0]
FD 100




SETSC

Imposta il colore per lo sfondo del mondo della tartaruga. In input una lista di tre numeri interi compresi tra 0 e 255. I tre numeri della lista rappresentano nell'ordine la componente rossa, la componente verde e la componente blu del colore.

Sintassi: SETSC <lista componenti colore>

Esempio:

SETSC [0 0 255]
CS




SETX

Porta la tartaruga nel punto che ha per ascissa il valore in input e per ordinata l'ordinata della posizione attuale. Il sistema di riferimento è assoluto (l'origine è nella tana).

Sintassi: SETX <valore>

Esempio:

CS
FD 30
SETX -40




SETY

Porta la tartaruga nel punto che ha per ordinata il valore in input e per ascissa l'ascissa della posizione attuale. Il sistema di riferimento è assoluto (l'origine è nella tana).

Sintassi: SETY <valore>

Esempio:

CS
RT 90 FD 30
SETY -40




SOUND

Emette un suono (o una sequenza di suoni). In input una lista di coppie di numeri interi: il primo numero di ogni coppia è la frequenza, il secondo la durata del suono.

Esempio:

SOUND [1000 100]


Esempio:

SOUND [500 100 600 100 700 100 800 100 900 100 1000 100]




ST

Mostra la tartaruga (show turtle). Serve per rendere di nuovo visibile la tartaruga dopo averla resa invisibile con il comando HT.

Esempio:

CS
REPEAT 5 [HT WAIT 60 ST WAIT 60]




STOP

Interrompe l'esecuzione della procedura in cui si trova. Il controllo ritorna al contesto in cui la procedura ove è presente stop è stata chiamata.

Esempio:

TO conta
   MAKE "k 0
   PRINT [inizio]
   esegui
   PRINT [fine]
END

TO esegui
   MAKE "k :k + 1
   PRINT :k
   IF :k = 5 [STOP]
   esegui
END

Output:
inizio
1
2
3
4
5
fine




WAIT

Crea una pausa prima dell'esecuzione dell'istruzione successiva di un numero di sessantesimi di secondo pari al valore in input.

Sintassi: WAIT <valore>

Esempio:

CS
FD 50
WAIT 60
FD 50




WHILE

Esegue ripetutamente un blocco di istruzioni fino a quando una certa condizione rimane vera.

Sintassi: WHILE [ <condizione> ] [ <blocco istruzioni> ]

Esempio:

make "i 0
while [:i < 3] [make "i :i + 1 print :i]

Output:
1
2
3


Esempio:

make "i 3
while [:i < 3] [make "i :i + 1 print :i]

Output:




XCOR

Fornisce l'ascissa della posizione attuale della tartaruga. L'origine del sistema di riferimento è nella tana.

Esempio:

CS
PRINT XCOR

Output: 0


Esempio:

CS
RT 90
FD 45
PRINT XCOR

Output: 45




YCOR

Fornisce l'ordinata della posizione attuale della tartaruga. L'origine del sistema di riferimento è nella tana.

Esempio:

CS
PRINT YCOR

Output: 0


Esempio:

CS
FD 45
PRINT YCOR

Output: 45