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 di verde scuro con un tipo di 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 devi 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ò da' l'impressione di una tartaruga che si muove lentamente.

Eseguire "se"

se
se booleano { ... }

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

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

Nella prima riga $x è impostato a 6. Nella seconda riga è 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 venga eseguito il codice tra le parentesi.

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 è 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 viene eseguito il codice tra le parentesi dopo altrimenti.

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 riga 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 da' «falso» come risultato. In questo caso il codice tra le parentesi sarà eseguito 4 volte, dato che ogni volta che viene eseguita la quinta riga $x è 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 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 il ciclo corrente immediatamente e trasferisce il controllo all'istruzione che segue subito dopo quel ciclo.

Interrompere l'esecuzione dei programmi

esci
esci

Termina l'esecuzione del programma.

Controllare 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