Hoofdstuk 4. Programmeren met TurtleScript

Dit is het overzicht van TurtleScript van KTurtle. In het eerste deel van dit hoofdstuk kijken we naar enkele aspecten van de grammatica van TurtleScript-programma's. Het tweede deel behandelt uitsluitend rekenkundige bewerkingen, booleaanse (waar/onwaar) bewerkingen en vergelijkingsbewerkingen. Het derde deel is eigenlijk een lange lijst van alle opdrachten, die een voor een worden uitgelegd. In deel vier wordt uitgelegd hoe waarden kunnen worden toegekend (gegeven) aan variabelen. Tenslotte leggen we uit hoe de uitvoering van de opdrachten kan worden gestuurd met programmastuuropdrachten in deel vijf en hoe zelf opdrachten te maken met leer in deel zes.

De grammatica van TurtleScript

Zoals elke taal heeft ook TurtleScript verschillende soorten woorden en tekens. In het Nederlands kennen we werkwoorden (zoals 'lopen' of 'zingen') en zelfstandige naamwoorden (zoals 'zuster' of 'huis'), zij worden verschillend gebruikt. TurtleScript is een programmeertaal, en wordt gebruikt om KTurtle te vertellen wat er moet gebeuren.

In dit deel worden de verschillende soorten woorden en tekens in TurtleScript kort uitgelegd. We leggen uit wat commentaar is, opdrachten en de drie verschillende soorten van waarden: getallen, tekenreeksen en booleaanse (waar/onwaar) waarden.

Commentaar

Een programma bestaat uit instructies die worden uitgevoerd als het programma loopt, én zogenoemd commentaar. Commentaar wordt niet uitgevoerd, maar wordt door KTurtle domweg genegeerd bij het uitvoeren van het programma. Commentaar dient om andere programmeurs (en je zelf, op een later tijdstip) je programma beter te laten begrijpen. Alles dat op een regel volgt na een hekje (#), wordt in TurtleScript opgevat als commentaar.

# Dit kleine programma bevat alleen commentaar en doet dus helemaal niets!

. Het is wat nutteloos, maar geeft een en ander goed weer.

Commentaar is erg nuttig wanneer een programma wat ingewikkelder gaat worden. Hierin kan aan andere programmeurs iets worden verteld. In het volgende programma zie je hoe commentaar wordt gebruikt bij het commando druk.

# dit programma werd gemaakt door Cies Breijs.
druk "deze tekst wordt op het canvas afgedrukt"
# de vorige regel was geen commentaar,maar de volgende wel:
# druk "deze tekst wordt niet afgedrukt!"

. De eerste regel geeft wat toelichting bij het programma. De tweede wordt door KTurtle uitgevoerd, en drukt deze tekst wordt op het canvas afgedrukt af op het canvas. De derde regel bevat commentaar. En de vierde regel bevat commentaar meteen stukje TurtleScript. Als het teken # dat ervoor staat wordt weggehaald, zal KTurtle ook deze regel uitvoeren, maar met het hekje ervoor niet. Door een hekje ervoor wordt een programmaregel dus uitgeschakeld.

Commentaarregels worden geaccentueerd met lichtgrijs in de codebewerker.

Opdrachten

Met opdrachten kun je de schildpad of KTurtle opdragen iets te doen. Bij sommige opdrachten is invoer nodig, en andere geven uitvoer.

# vooruit is een commando dat invoer nodig heeft, in dit geval het getal 100:
vooruit 100

De eerste regel is commentaar. De tweede bevat het commando vooruit, en de invoer is het getal 100. Het getal wordt niet beschouwd als een deel van het commando, maar als invoer.

Voor sommige opdrachten bijv. ganaar zijn meerdere invoerwaarden nodig. Deze moeten door een , (komma) worden gescheiden.

Meer informatie over alle opdrachten die KTurtle van huis uit kent vind je hier. Deze ingebouwde opdrachten worden met donkerblauw geaccentueerd

Getallen

Getallen ken je vast wel. De manier waarop getallen worden gebruikt in KTurtle is niet veel anders dan in een spreektaal, of bij het rekenen. Maar er is wel een verschil: ze worden niet met komma's, maar met punten geschreven. Dit is omdat met een komma twee getallen van elkaar worden gescheiden, zodat 2,5 twee getallen, 2 en 5, zijn. Je moet dus 2.5 schrijven, als je maar één getal bedoelt.

Er zijn ook de natuurlijke getallen: 0, 1, 2, 3, 4, 5, etc. De negatieve getallen: -1, -2, -3, etc.. En de kommagetallen zoals: 0,1, 3,14, 33,3333, -5,05, -1,0. De . punt is het scheidingsteken voor decimalen: de cijfers achter de komma.

Getallen kunnen worden gebruikt in rekenkundige bewerkingen en vergelijkingsbewerkingen. Ze kunnen ook worden bewaard in variabelen. Getallen worden geaccentueerd in donkerrood.

Tekenreeksen

Eerst een voorbeeld:

druk "Hallo, ik ben een tekenreeks."

In dit voorbeeld is druk een commando en "Hallo, ik ben een tekenreeks" een tekenreeks. Een tekenreeks begint en eindigt met het teken ". Hierdoor weet KTurtle dat dit een tekenreeks is.

Tekenreeksen kunnen in variabelen worden bewaard, net zoals getallen. Maar, anders dan getallen, kunnen tekenreeksen niet in berekeningen of vergelijkingsbewerkingen worden gebruikt. Tekenreeksen worden met rood geaccentueerd.

Booleaanse waarden (waar/onwaar)

Er zijn maar twee booleaanse waarden: waar en onwaar. Ze worden ook wel genoemd: aan en uit, ja en nee, een en nul. Maar in TurtleScript worden zij altijd , waar en onwaar genoemd. Bekijk dit stukje TurtleScript:

$a = waar

In de Inspector kun je zien dat de variabele $a de waarde waar heeft, en booleaans is.

Vaak zijn booleaanse waarden het resultaat van vergelijkingsbewerkingen, zoals in het volgende stukje TurtleScript:

$antwoord = 10 > 3

De variabele $antwoord krijgt de waarde waar omdat 10 inderdaad groter is dan 3.

Booleaanse waarden, waar en onwaar, worden met donkerrood geaccentueerd.