[ Dit is een voorbeeld bij Leren Programmeren in Python, Deel 1 ]
Beschouw het Python programma gepast0.py:
# Een bedrag gepast betalen met zo min mogelijk euromunten bedrag = input ( 'Geef bedrag tussen 0 en 500 eurocent: ' ) for munt in 200, 100, 50, 20, 10, 5, 2, 1 : aantal = 0 while bedrag >= munt : aantal = aantal + 1 bedrag = bedrag - munt if aantal > 0 : print aantal, 'x', munt
Hieronder volgt een tabel met het toestandsverloop bij uitvoering met invoer 96. Een '?' staat voor een ongedefinieerde waarde. Een groene achtergrondskleur duidt op een nieuw berekende waarde.
Invoer en Uitvoer | bedrag | munt | aantal | Conditie | Toelichting |
---|---|---|---|---|---|
Geef bedrag ... | ? | ? | ? | ... input ( 'Geef bedrag ...' ) | |
96 | ? | ? | ? | ingetikt door gebruiker | |
96 | ? | ? | bedrag = ... | ||
96 | 200 | ? | for munt in 200, ... : | ||
96 | 200 | 0 | aantal = 0 | ||
96 | 200 | 0 | False | while bedrag >= munt : | |
96 | 200 | 0 | False | if aantal > 0 : | |
96 | 100 | 0 | for munt in ..., 100, ... : | ||
96 | 100 | 0 | aantal = 0 | ||
96 | 100 | 0 | False | while bedrag >= munt : | |
96 | 100 | 0 | False | if aantal > 0 : | |
96 | 50 | 0 | for munt in ..., 50, ... : | ||
96 | 50 | 0 | aantal = 0 | ||
96 | 50 | 0 | True | while bedrag >= munt : | |
96 | 50 | 1 | aantal = aantal + 1 | ||
46 | 50 | 1 | bedrag = bedrag - munt | ||
46 | 50 | 1 | False | while bedrag >= munt : | |
46 | 50 | 1 | True | if aantal > 0 : | |
1 x 50 | 46 | 50 | 1 | print aantal, 'x', munt | |
46 | 20 | 1 | for munt in ..., 20, ... : | ||
46 | 20 | 0 | aantal = 0 | ||
46 | 20 | 0 | True | while bedrag >= munt : | |
46 | 20 | 1 | aantal = aantal + 1 | ||
26 | 20 | 1 | bedrag = bedrag - munt | ||
26 | 20 | 1 | True | while bedrag >= munt : | |
26 | 20 | 2 | aantal = aantal + 1 | ||
6 | 20 | 2 | bedrag = bedrag - munt | ||
6 | 20 | 2 | False | while bedrag >= munt : | |
6 | 20 | 2 | True | if aantal > 0 : | |
2 x 20 | 6 | 20 | 2 | print aantal, 'x', munt | |
6 | 10 | 2 | for munt in ..., 10, ... : | ||
6 | 10 | 0 | aantal = 0 | ||
6 | 10 | 0 | False | while bedrag >= munt : | |
6 | 10 | 0 | False | if aantal > 0 : | |
6 | 5 | 0 | for munt in ..., 5, ... : | ||
6 | 5 | 0 | aantal = 0 | ||
6 | 5 | 0 | True | while bedrag >= munt : | |
6 | 5 | 1 | aantal = aantal + 1 | ||
1 | 5 | 1 | bedrag = bedrag - munt | ||
1 | 5 | 1 | False | while bedrag >= munt : | |
1 | 5 | 1 | True | if aantal > 0 : | |
1 x 5 | 1 | 5 | 1 | print aantal, 'x', munt | |
1 | 2 | 1 | for munt in ..., 2, ... : | ||
1 | 2 | 0 | aantal = 0 | ||
1 | 2 | 0 | False | while bedrag >= munt : | |
1 | 2 | 0 | False | if aantal > 0 : | |
1 | 1 | 0 | for munt in ..., 1 : | ||
1 | 1 | 0 | aantal = 0 | ||
1 | 1 | 0 | True | while bedrag >= munt : | |
1 | 1 | 1 | aantal = aantal + 1 | ||
0 | 1 | 1 | bedrag = bedrag - munt | ||
0 | 1 | 1 | False | while bedrag >= munt : | |
0 | 1 | 1 | True | if aantal > 0 : | |
1 x 1 | 0 | 1 | 1 | print aantal, 'x', munt |