Een programma stap voor stap volgen
Een programma stap voor stap volgen betekent dat je elke opdracht bekijkt en bijhoudt wat er verandert. Je kunt dit met potlood en papier doen voordat je het programma start. Dat helpt wanneer een antwoord je verrast.
Houd een scoreblad bij
Stel dat je na elke ronde de score van een team opschrijft. Je streept de oude score door en noteert de nieuwe. Een volgtabel doet hetzelfde voor de variabelen van een programma.
Maak een kolom voor elke waarde die je wilt volgen. Voeg een rij toe wanneer een opdracht iets verandert. Een leeg vak betekent ‘nog niet aangemaakt’, niet nul.
Volg een paar munten
# taal: nl
laat munten = 3
zet munten = munten + 2
laat beloning = munten * 2
zet munten = 0
zeg beloning
zeg munten
Lees de rechterkant van een toekenning met de waarden die op dat moment bestaan. Bewaar daarna het resultaat aan de linkerkant.
| Na deze opdracht | munten |
beloning |
|---|---|---|
Maak munten |
3 | Nog niet aangemaakt |
| Tel 2 op | 5 | Nog niet aangemaakt |
Maak beloning |
5 | 10 |
Zet munten op nul |
0 | 10 |
Voorspel en probeer
Wordt de beloning ook nul wanneer de munten nul worden?
10
0
Nee. beloning is berekend met de eerdere waarde van munten. De variabele onthoudt het berekende getal, niet een formule die zichzelf steeds opnieuw uitrekent. Bij gedeelde lijsten en maps is meer uitleg nodig. Dit voorbeeld gebruikt alleen getallen.
Jouw uitdaging
Verplaats zet munten = 0 naar vlak vóór laat beloning = munten * 2. Maak een nieuwe volgtabel en voorspel beide uitvoerregels. Start daarna de gewijzigde versie om je voorspelling te controleren.
Een veelgemaakte fout
Als je een regel overslaat omdat die onbelangrijk lijkt, kun je de oorzaak van een bug missen. Neem elke toekenning in je tabel op. Raak je de tel kwijt in een lus? Volg dan eerst alleen de eerste twee rondes.
Je kunt ook tijdelijk opdrachten met zeg toevoegen om tussenstanden te tonen. Geef die berichten een duidelijk label, zodat je weet waar je naar kijkt.
