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