Stellingen — toets je begrip
Leerdoel: je toetst of je het idee van meerdere accumulators in één pass snapt.
Stelling 1
"Eerst het maximum vinden en daarna het minimum is sneller dan beide tegelijk."
Antwoord
Onjuist. Twee aparte passes lezen elk element twee keer — dat is meer werk. Eén pass leest elk element één keer, met twee vergelijkingen per element. In totaal minder werk.
(Je doet wel ongeveer hetzelfde aantal vergelijkingen — 2n in beide
gevallen. Het winstpunt zit in de leestijd — bij grote data scheelt dat.)
Stelling 2
"Voor het max-én-min-algoritme heb je twee aparte for-lussen nodig."
Antwoord
Onjuist. Dat is juist het hele punt: één for-lus, twee accumulators. Twee lussen → twee passes → terug bij aanpak A.
Stelling 3
"Beide accumulators moeten dezelfde startwaarde hebben."
Antwoord
Juist. Allebei beginnen op lijst[0]. Hierdoor weten we zeker dat
beide startwaardes echt voorkomen in de lijst — geen negatieve-getal-bug.
Bij klein = lijst[0] en groot = lijst[0] zijn de eerste paar
vergelijkingen meteen geldig.
Stelling 4
"Bij een lijst van één element zijn klein en groot gelijk."
Antwoord
Juist. Beide beginnen op lijst[0]. De for-lus doet één iteratie en
vergelijkt lijst[0] met zichzelf — niet groter, niet kleiner → geen
update. Resultaat: klein == groot == lijst[0].
Stelling 5
"Als je if … elif … gebruikt in plaats van twee aparte if's, kun je
soms een waarde missen die kleiner én groter is."
Antwoord
Onjuist. Eén getal kan niet tegelijk groter zijn dan de huidige
groot én kleiner dan de huidige klein. Want: groot >= klein (na
initialisatie), dus als x > groot dan zeker x > klein (en dus niet
x < klein). De elif is dus veilig.
Het scheelt zelfs een vergelijking per element: na een geslaagde
update-groot slaan we de check-klein over.
Stelling 6
"Tuples zoals (klein, groot) kun je niet uit een functie returnen."
Antwoord
Onjuist. Python ondersteunt meerdere return-waarden als tuple:
return klein, groot # of: return (klein, groot)
Aan de andere kant uitpakken:
k, g = max_en_min(lijst)
Door naar stap 3: we bouwen het op →