Stappen van probleemoplossen
- Analyseer het probleem: begrijp wat gegeven is (invoer), wat gevraagd wordt (uitvoer) en wat de regels zijn.
- Maak een algoritme: schrijf de oplossing op als duidelijke stappen in de juiste volgorde.
- Code: zet het algoritme om in een programma in een taal zoals Python.
- Test: voer het uit met veel soorten invoer, ook randgevallen (0, negatieve getallen, heel grote waarden).
- Debug: zoek en herstel fouten en test daarna opnieuw.
Een algoritme heeft: duidelijke invoer en uitvoer, een eindig aantal stappen (het moet stoppen), nauwkeurige stappen zonder dubbele betekenis, en het moet het juiste resultaat geven.
Stroomdiagrammen
Een stroomdiagram is een plaatje van een algoritme met standaardsymbolen die met pijlen verbonden zijn.
- Ovaal (begin/eind): Start / Stop.
- Parallellogram: Invoer / Uitvoer.
- Rechthoek: Bewerking (een berekening of toewijzing).
- Ruit: Beslissing; één ingang, twee uitgangen (Ja/Nee).
- Pijl: richting van de stroom.
Stroomdiagrammen zijn makkelijk te begrijpen, maar worden groot bij grote problemen.
Pseudocode
Pseudocode schrijft een algoritme op met eenvoudige zinnen en sleutelwoorden zoals INPUT, COMPUTE, PRINT, IF…ELSE, WHILE. Het is geen echte programmeertaal, dus de precieze schrijfregels (syntaxis) doen er niet toe.
INPUT A, B
IF A > B THEN
PRINT A
ELSE
PRINT BAlgoritmen kunnen opeenvolging hebben (stappen na elkaar), selectie (IF-beslissingen) en herhaling (lussen).
Decompositie
Decompositie betekent dat je een ingewikkeld probleem opdeelt in kleinere, eenvoudigere deelproblemen. Elk deel wordt apart opgelost (vaak door een andere persoon of functie) en daarna samengevoegd.
Voorbeeld: een systeem om treinkaartjes te reserveren valt uiteen in: treinen zoeken, plaatsen controleren, kaartje boeken, betalen en kaartje printen.
Voordelen: het is makkelijker te begrijpen, het werk kan gedeeld worden, fouten zijn sneller te vinden en onderdelen kun je opnieuw gebruiken.
Wat komt er in het examen?
Verwacht opdrachten als: een stroomdiagram tekenen of pseudocode schrijven voor eenvoudige taken (grootste van getallen, som van de eerste n getallen, even/oneven, cijfer uit punten), symbolen benoemen, de stappen van probleemoplossen opsommen en decompositie uitleggen met een voorbeeld.
Belangrijke formules en begrippen
- Probleemoplossen: Analyseren → Algoritme → Code → Test → Debug
- Algoritme = eindige, nauwkeurige stappen in volgorde met invoer en uitvoer
- Ovaal = start/stop; Parallellogram = in/uit; Rechthoek = bewerking; Ruit = beslissing
- Bouwstenen: opeenvolging, selectie, herhaling
Uitgewerkte voorbeelden
1. Schrijf een algoritme om de oppervlakte van een rechthoek te vinden.
1. Start. 2. Voer lengte L en breedte B in. 3. Oppervlakte = L × B. 4. Print de oppervlakte. 5. Stop.
2. Schrijf pseudocode om te controleren of een getal even of oneven is.
INPUT N IF N MOD 2 = 0 THEN PRINT "Even" ELSE PRINT "Oneven"
3. Beschrijf een stroomdiagram dat de som van de getallen van 1 tot 10 print.
Start → bewerking: som = 0, i = 1 → beslissing: i <= 10? → Ja: bewerking som = som + i, i = i + 1, pijl terug naar de beslissing → Nee: uitvoer som → Stop.
4. Verdeel 'een sportdag op school organiseren' in deelproblemen.
Deelproblemen: onderdelen kiezen, leerlingen inschrijven, terrein en materiaal regelen, een schema maken, uitslagen beoordelen en noteren, prijzen uitreiken. Elk deel kan een groepje doen en daarna voegen we ze samen.
5. Volg het stroomdiagram voor het grootste getal bij A = 5, B = 12.
Start → invoer A = 5, B = 12 → is 5 > 12? Nee → print B = 12 → Stop.
6. Schrijf pseudocode die het cijfer print: punten ≥ 90 → A, ≥ 75 → B, anders C.
INPUT M IF M >= 90 THEN PRINT "A" ELSE IF M >= 75 THEN PRINT "B" ELSE PRINT "C"
Veelgemaakte fouten
- Een rechthoek gebruiken voor een beslissing. Een beslissing is altijd een ruit met Ja/Nee-uitgangen.
- Een algoritme schrijven dat nooit stopt. Een algoritme moet eindig zijn.
- Niet testen met ongewone invoer zoals 0 of negatieve getallen.
- Invoer/uitvoer (parallellogram) verwarren met een bewerking (rechthoek).