Rechtsaf ?

Les 5

Om de kosten van onze robot laag te houden heeft Guido's fabrikant alleen de mogelijkheden ingebouwd om Guido rechtdoor en linksaf te laten gaan. Nu is dit wel voldoende om overal te komen, om bijvoorbeeld rechtsaf te gaan kun je ook drie keer linksaf gaan. Jij als programmeur moet dat alleen nog wel aan Guido duidelijk maken.

We gaan dit doen door een nieuwe instructie genaamd rechtsaf te maken. Deze instructie bestaat uit een aantal andere instructies, meer specifiek, drie linksaf instructies.

De functie ziet er zo uit:

definieer rechtsaf:
    linksaf
    linksaf
    linksaf
Dit is een voorbeeld van een samengestelde instructie (compound statement), dit betekent dat het bestaat uit twee delen. Het eerste deel bestaat uit definieer gevolgd door de naam van de instructie en een dubbele punt (:). Het tweede deel bestaat uit een of meerdere instructies die met een gelijk aantal spaties inspringen.
Wat denk je dat het volgende programma zal doen?
definieer rechtsaf:
    linksaf
    linksaf
    linksaf
beweeg
rechtsaf
beweeg
rechtsaf
beweeg
rechtsaf
zetuit

Opdracht:
Wanneer je een nieuwe instructie hebt gedefinieerd kun je het gebruiken alsof het deel uitmaakt van de GvR taal. Definieer een nieuwe instructie genaamd, "terug". Deze instructie moet Guido een stap terug zetten waarbij hij weer dezelfde richting op staat. Gebruik vervolgens "terug" in een compleet programma dat Guido laat beginnen op de kruising van de 3e laan en 2e straat, drie stappen Noord, een stap terug, rechtsaf, en twee stappen Oost.
Tip:
Test eerst je nieuwe instructie, ook wel functie genoemd, in een programma venster voordat je het in een programma gebruikt. Op die manier weet je dat die stukken in je programma goed zullen werken.

Erkenning

Deze serie Guido van Robot lessen zijn geschreven door Roger Frank.
Commentaar and suggesties over deze lessen kunnen gestuurd worden naar Stas Zytkiewicz die de lessen vertaalde naar het Nederlands.
De orginele lessen zijn te vinden op de Guido van Robot website.


Vorige | Index | Volgende

Copyright
© 2003 Jeffrey Elkner.
© 2007 Stas Zytkiewicz.