Una sequenza di istruzioni, delimitata da parentesi graffe, può essere eseguita più volte tramite le seguenti strutture di controllo
repeat(n) { … }
Ripeti n volte le istruzioni delimitate dalle parentesi graffe.
Esempio
1 2 3 4 5 |
repeat(4) # per 4 volte { forward(2) # vai avanti di 2 passi right # gira a destra } |
Disegna un quadrato…
repeat { … }
Ripeti per sempre le istruzioni delimitate dalle parentesi graffe.
Esempio
Vai avanti per sempre
1 2 3 4 |
repeat { forward(1) } |
Ma se incontra un ostacolo si ferma…
repeatWhile(…) { … }
Ripeti le istruzioni delimitate dalle parentesi graffe finchè la condizione è vera.
La condizione sarà, per esempio, la chiamata di una delle funzioni che osservano.
Esempio
1 2 3 4 |
repeatWhile(frontIsClear) # finché davanti è libero { forward(1) # fai un passo } |
break
All’interno di un’istruzione repeat(), permette di interrompere l’esecuzione della sequenza.
L’esecuzione riprende con la prima istruzione dopo la parentesi graffa di chiusura del ciclo.
Esempio
1 2 3 4 5 6 7 8 9 10 11 |
repeat # ripeti per sempre { if(frontIsObstacle) # se davanti c'è un ostacolo { break # interrompi } else # altrimenti { forward(1) # fai un passo } } |
end
Provoca l’interruzione dell’esecuzione del programma.
Esempio
1 2 3 4 5 6 7 8 |
repeat() # ripeti per sempre { forward(1) # fai un passo if(rightIsBeacon) # se a destra c'è il faro { end # smetti } } |