De teller lussen (for-loops) zijn een zeer belangrijk onderwerp in de informatica. Ze worden niet alleen veel gebruikt, het leerproces voor deze lussen verbetert ook het leren van andere belangrijke concepten (zoals variabelen en parameters). De leerlingen zullen veel oefenen om kritisch na te denken over problemen door de begin-, eind- en de stapinterval voor elk interval lus te bepalen.
"Verzamel de nectar van elke bloem met zo min mogelijk blokken.
Schrijf de code om de bij te helpen alle nectar te verzamelen.
Je hebt veel blokken nodig voor deze uitdaging, maar we zullen het in de volgende puzzel op een gemakkelijkere manier leren doen.
Hier is een nieuwe manier om dezelfde code te schrijven.
Deze code gebruikt een teller lus (for-loop).
Kijk goed en kijk of je erachter kunt komen hoe het lijkt op of verschilt van de code die je eerder hebt geschreven.
Je kunt zelfs de nieuwe code hieronder of de oude code omwisselen het werkt op precies dezelfde manier!
Het gebruik van de teller lus maakt deze puzzel een stuk makkelijker!
Lees de onderstaande algoritme.
Wat gebeurt er als je op "Start" klikt?
A. De bij gaat vooruit en verzamelt alle nectar van elke bloem.
B. De bij gaat vooruit en verzamelt alle nectar van elke bloem, behalve één.
C. De bij gaat vooruit en verzamelt van elke bloem één nectar.
D. De bij gaat vooruit en verzamelt één nectar van bloemen nummer 1 en nummer 4.
Help de bij om alle nectar te verzamelen.
Je kunt ook een teller lus gebruiken om terug te tellen.
Probeer deze nectar te verzamelen door van 5 naar 1 voor 1 af te tellen.
Het laatste getal in je teller lus wordt de ("increment")(stapinterval) genoemd.
Elke keer dat de lus wordt uitgevoerd, verandert de 'teller'(counter) variabel met de waarde van het increment.
Probeer deze bloemen te verzamelen met een stapinterval van 2.
Je hebt dit!
Hoeveel moet er de stapinterval zijn om 3, 6, 9, 12 en 15 stuks nectar te verzamelen?
Als je lus aan het aftellen is, wordt de toename elke keer afgetrokken van de 'teller' variabel.
Wat moet de afname zijn om 15, dan 12, dan 9, 6, 3 nectar te verzamelen? (De stapinterval kan ook een negatieve waarde hebben)
Gebruik de 'teller' variabel twee keer om deze puzzel te kunnen oplossen.
Laten we nu de 'teller' variabel combineren met een wiskundeblok!
Hoe kun je de 'teller' variabel gebruiken om met zo min mogelijk blokken door deze tuin te navigeren?
Uitdaging: Neem wat je tot nu toe hebt geleerd over de teller lussen en probeer dit probleem op te lossen.
Onthou: het kan zijn dat je meerdere keren moet doorlopen (uitproberen) voordat je alle stappen hebt doorgenomen.