Sturen van het programma

De programmastuuropdrachten maken het mogelijk, —zoals de naam al zegt— het verloop van een programma te sturen.

Opdrachten die het programmaverloop sturen worden geaccentueerd met donkergroen in een vet lettertype. De accolades worden meestal samen met de programmastuuropdrachten gebruikt en worden geaccentueerd met zwart.

De schildpad laten wachten

Als je al wat hebt geprogrammeerd in KTurtle, dan heb je vast gemerkt dat de schildpad erg snel tekent. Dit commando laat de schildpad steeds een opgegeven tijdsduur te wachten.

wacht
wacht X

wacht X laat de schildpad X seconden wachten.

herhaal 36{
 vooruit 5
 draairechts 10
 wacht 0.5           # Denk erom: een punt
}

Deze programmacode tekent een cirkel, maar de schildpad zal na elke stap een halve seconde wachten. Hier door lijkt het net of de schildpad kruipt.

Uitvoeren indien

als
als boolean { ... }

De programmacode tussen de accolades wordt alleen uitgevoerd als de booleaanse waarde de waarde waar krijgt.

$x = 6
als $x > 5 {
  druk "$x is groter dan 5!"
}

Op de eerste regel krijgt $x de waarde 6. Op de tweede regel wordt een vergelijkingsbewerking gebruikt om de waarde van $x > 5 te bepalen. Omdat die waar is, 6 is groter dan 5, zal het programmastuurcommando als de programmacode tussen de accolades laten uitvoeren.

Als niet, of in andere woorden: anders

anders
als booleaanse waarde { ... } anders { ... }

anders kan worden gebruikt bij het programmastuurcommando als. De programmacode tussen de accolades na anders wordt alleen uitgevoerd als de booleaanse waarde de waarde onwaar heeft.

alsnieuw
 $x = 4
als $x > 5 {
  druk "x is groter dan vijf!"
}
anders
{
  druk "x is kleiner dan zes!"
}

De vergelijkingsbewerking bepaalt de waarde van $x > 5. Omdat 4 niet groter is dan 5 is die waarde onwaar. Dit betekent dat de programmacode tussen de accolades na anders wordt uitgevoerd.

De terwijl-lus

terwijl
terwijl booleaanse bewerking { ... }

Het programmastuurcommando terwijl lijkt veel op als. Het verschil is dat terwijl de programmacode tussen de accolades blijft herhalen totdat de booleaanse waarde onwaar is geworden.

$x = 1
terwijl $x < 8 {
  vooruit 10
  wacht 1
  $x = $x + 1
}

Op de eerste regel krijgt $x de waarde 1. Op de tweede regel wordt de waarde bepaald van$x < 8. Omdat die waarde waar is, start het programmastuurcommandoterwijl het uitvoeren van de code tussen de accolades totdat de waarde van $x < 8 onwaar is geworden. In dit voorbeeld wordt de code tussen de accolades 7 keer uitgevoerd, omdat telkens als de vijfde regel wordt uitgevoerd de waarde $x met 1 wordt vermeerderd.

De herhaal-loop

herhaal
Herhaal getal { ... }

Het programmastuurcommando herhaal lijkt veel op terwijl. Het verschil is dat herhaal de programmacode tussen de accolades het in het getal opgegeven aantal keren blijft herhalen

De voor-lus, een tellende lus

voor
voor variabele = getal tot getal { ... }

De lus voor is een tellende lus, en telt dus voor jou.

voor $x = 1 tot 10 {
 druk $x * 7
 vooruit 15
}

Telkens als de programmacode tussen de accolades wordt uitgevoerd wordt de waarde $x met 1 vermeerderd (dit gaat dus van zelf), totdat $x de waarde 10 heeft bereikt. De programmacode tussen de accolades schrijft de waarde van $x (op het scherm), vermenigvuldigd met 7. Nadat deze opdrachten zijn uitgevoerd zie je de tafel van 7 op het canvas staan.

De standaard stapgrootte in een lus is 1, maar een andere waarde kan worden ingesteld met

voor variabele = getal tot getal  stap getal { ... }

Een lus verlaten

kap
kap

Stopt onmiddellijk met het uitvoeren van de huidige lus en ga verder met het uitvoeren van de programmaregel direct na de lus.

Het uitvoeren van je programma stoppen

afsluiten
afsluiten

Beëindigt het uitvoeren van je programma.

Invoer testen

test
test boolean { ... }

Kan worden gebruikt voor het beredeneren van de juistheid van het programma of van de invoer.

$in = ask "In welk jaar ben je geboren?"
# het jaartal moet positief zijn
test $in 
> 0