Een programma stap voor stap volgen

Programmeergidsen

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.

Verder leren

Toestand onthouden · Bugs opsporen · Gedeelde verzamelingen