Controllare l'esecuzione

I comandi di controllo dell'esecuzione ti permettono — come dicono il loro nomi — di controllare l'esecuzione.

I comandi di controllo dell'esecuzione sono evidenziati in verde scuro, e con un carattere grassetto. Le parentesi sono usate principalmente con i comandi di controllo dell'esecuzione, e sono evidenziate di nero.

Far aspettare la tartaruga

Se hai programmato in KTurtle, potresti aver notato che la tartaruga può essere molto veloce a disegnare. Questo comando fa sì che la tartaruga attenda per un tempo specificato.

aspetta
aspetta X

aspetta fa sì che la tartaruga attenda X secondi.

ripeti 36 {
  avanti 5
  destra 10
  aspetta 0.5
}

Questo codice disegna un cerchio, ma la tartaruga attenderà mezzo secondo dopo ogni passo. Ciò dà l'impressione che la tartaruga si muova lentamente.

Esegui «se»

se
se booleano { ... }

Il codice che si trova tra le parentesi sarà eseguito solo se il valore booleano dà come risultato «vero».

$x = 6
se $x > 5 {
  scrivi "x è più grande di cinque!"
}

Nella prima riga, $x è impostato a 6. Nella seconda viene usato un operatore di confronto per produrre il risultato di $x > 5. Dato che è «vero» (6 è più grande di 5), il comando di controllo dell'esecuzione se permetterà che il codice tra le parentesi venga eseguito.

Se no, in altre parole: «altrimenti»

altrimenti
se booleano { ... } altrimenti { ... }

altrimenti può essere usato in aggiunta al comando di controllo dell'esecuzione se. Il codice tra le parentesi dopo altrimenti viene eseguito solo se il valore booleano vale «falso».

ricomincia
$x = 4
se $x > 5 {
  scrivi "x è più grande di cinque!"
} altrimenti {
  scrivi "x è più piccolo di cinque!"
}

L'operatore di confronto valuta l'espressione $x > 5. Dato che 4 non è maggiore di 5, l'espressione vale «falso». Ciò significa che il codice tra le parentesi dopo altrimenti viene eseguito.

Il ciclo «mentre»

mentre
mentre booleano { ... }

Il comando di controllo dell'esecuzione mentre è molto simile a se. La differenza è che mentre continua a ripetere (in modo ciclico) il codice tra le parentesi fino a quando il valore booleano è «falso».

$x = 1
mentre $x < 5 {
  avanti 10
  aspetta 1
  $x = $x + 1
}

Nella prima riga, x è impostato a 1. Nella seconda viene valutato x < 5. Dato che la risposta a questa domanda è «vero», il comando di controllo dell'esecuzione mentre inizia ad eseguire il codice tra le parentesi fino a quando $x < 5 dà come risultato «falso». In questo caso il codice tra le parentesi verrà eseguito 4 volte, dato che ogni volta che viene eseguita la quinta riga $x viene incrementato di 1.

Il ciclo «ripeti»

ripeti
ripeti numero { ... }

Il comando di controllo dell'esecuzione ripeti è molto simile a mentre. La differenza è che ripeti continua a ripetere (iterare) il codice tra le parentesi per il numero di volte specificato.

Il ciclo «per», un ciclo contato

per
per variabile = numero finoa numero { ... }

Il ciclo per è un «ciclo contato», cioè conta per te. Il primo numero imposta nel primo ciclo la variabile al valore. Ad ogni ciclo il numero è incrementato fino a quando diventa uguale al secondo numero.

per $x = 1 finoa 10 {
  scrivi $x * 7
  avanti 15
}

Ogni volta che viene eseguito il codice tra le parentesi, $x viene incrementato di 1, fino a quando $x raggiunge il valore di 10. Il codice tra le parentesi scrive il valore di $x moltiplicato per 7. Alla fine dell'esecuzione di questo programma vedrai scritta sull'area di disegno la tabellina del 7.

Il passo predefinito di un ciclo è 1, puoi usare un altro valore con

per variabile = numero finoa numero passo numero { ... }

Lasciare un ciclo

interrompi
interrompi

Interrompe immediatamente il ciclo corrente, e trasferisce il controllo all'istruzione che si trova subito a dopo quel ciclo.

Interrompere l'esecuzione dei programmi

esci
esci

Termina l'esecuzione del programma.

Controllare le asserzioni durante l'esecuzione

asserisci
asserisci booleano

Può essere usato per assicurarsi della validità del programma o dei dati inseriti.

$in = chiedi "Qual è il tuo anno di nascita?"
# l'anno deve essere un valore maggiore di zero
asserisci $in 
> 0