13. De 'for' lus
In de vorige les hebben we geleerd om de repeat lus te gebruiken. Nu gaan we een andere lus leren. De for(voor) lus.
Maak het scherm schoon
De definitie van de for lus is als volgt: for [VAR_NAAM VAR_BEGIN_WAARDE VAR_EIND_WAARDE INCREMENT] [OPDRACHTEN LIJST].
Laten we beginnen met een voorbeeld.
for [i 1 10 1][print :i]. DE VAR_NAAM (naam van de variabele) is hier i, met als begin waarde 1. We zeggen eigenlijk dat de lijst van opdrachten herhaald moet worden zolang de waarde van i kleiner is dan 10. Voor iedere herhaling wordt de waarde van i met 1 (de INCREMENT) opgehoogd. De eerste keer i=1 schrijven we deze waarde dus wordt er 1 geschreven. De tweede keer i=2 (waarom?).
Schrijf de opdracht for [i 1 10 1] [ print :i]
Nu gaan we proberen om met de for opdracht de even nummers van 0 tot en met 10 te schrijven. Hierbij moeten we dus denken aan de start waarde, de ophoging in iedere stap en de eindwaarde waarbij de lus moet stoppen.
Schrijf de even nummers (getallen deelbaar door 2) tussen 0-10. Noem de variabele in de for lus i.
Laten een een spiraal maken. Voor het maken van een spiraal gaan we 10 punten vooruit en draaien daarna naar rechts. Daarna gaan we 20 punten vooruit en draaien opnieuw naar rechts. Daarna 30 punten vooruit ... enzovoort .. totdat we 100 punten vooruit gaan.
Laten we een for lus gebruiken om een spiraal te maken. De beginwaarde van i is 10. Verhoog deze met stappen van 10 tot en met 100.
In de les over lussen hebben we geleerd hoe we een vierkant maken, repeat 4 [fd RIBBE lt 90].
Laten we nu een for lus gebruiken om 5 verschillende vierkanten te maken. Maak de ribbe van het eerste vierkant 20 punten lang, het tweede 40, de derde 60, de vierde 80 en de laatste 100. Maak de 5 vierkanten die in de uitleg gevraagd werden. Gebruik hiervoor een repeat lus binnen een for lus (met een draai naar links).
Laten we nu een for lus gebruiken om 5 verschillende vierkanten te maken. Maak de ribbe van het eerste vierkant 20 punten lang, het tweede 40, de derde 60, de vierde 80 en de laatste 100. Maak de 5 vierkanten die in de uitleg gevraagd werden. Gebruik hiervoor een repeat lus binnen een for lus (met een draai naar links).
Nu gaan we gewoon voor de lol wat tekenen. Geef gewoon de opdracht en probeer te begrijpen wat er gebeurt. Let op ... als er geen waarde wordt opgegeven voor de INCREMENT dan wordt de waarde 1 gebruikt voor het ophogen van de variabele.
Geef de volgende opdracht:
for [i 1 100] [fd :i*10 rt :i]
for [i 1 100] [fd :i*10 rt :i]