Programmeren is het omzetten van een bedacht algoritme in code die een computer uitvoert. Domein D behandelt het imperatieve paradigma (variabelen, datatypes, control flow, functies) en het objectgeoriënteerde paradigma (klassen, objecten, encapsulatie, overerving), het werken met datastructuren in code, en het volledige ontwikkelproces: van specificatie via implementatie naar systematisch testen en debuggen. De voorbeelden staan in taalonafhankelijke pseudocode; het draait om de begrippen, niet om één specifieke taal.
4 Onderdelen~13 min leestijd4 VaardighedenNiveau Basis 1 · Standaard 3
basisniveau
Imperatief programmeren met de drie controlestructuren en functies is de kern; die beheersing toon je in programmeeropdrachten.
verhoogd niveau
Objectgeoriënteerd ontwerp, het onderbouwd kiezen van datastructuren en systematisch testen horen bij de verdieping en het profielwerkstuk.
Leesdiepte: Verdieping
Tekstgrootte: Standaard
Primitieve datatypes
Speel `som(4)` na: som ← 0; voor i van 1 t/m 4: som ← som + i. Wat is de teruggegeven waarde?
som = 0 voordat de lus begint.
som wordt 0 + 1 = 1, daarna 1 + 2 = 3.
som wordt 3 + 3 = 6, daarna 6 + 4 = 10. Daarna stopt de lus (i > 4).
Resultaat: `som(4)` geeft 10 terug — de som 1 + 2 + 3 + 4.
Veelgemaakte fouten
Actieve herhaling
Schrijf in pseudocode een functie `som(n)` die met een lus de som 1 + 2 + … + n teruggeeft. Speel de functie na voor n = 4 en noteer de waarde van de teller en de somvariabele na elke ronde.
Actief ophalen
Haal de kernpunten op — onthul ze daarna.
Bronnen: Examenprogramma informatica vwo — domein D (imperatief programmeren) (CvTE / Examenblad)
Overervingshiërarchie van Voertuig
Ontwerp de klasse `Rekening` zodat het saldo alleen via methoden verandert en nooit negatief wordt.
Maak saldo een privé-attribuut; buiten de klasse is het niet direct te wijzigen.
Methode storten(bedrag): controleer bedrag > 0 en verhoog saldo met bedrag.
Methode opnemen(bedrag): alleen als bedrag ≤ saldo, verlaag saldo; anders weiger en geef een melding.
Resultaat: Door het saldo te encapsuleren kan geen enkele buitenstaander het ongecontroleerd wijzigen; de klasse bewaakt zelf dat het saldo geldig blijft.
Veelgemaakte fouten
Actieve herhaling
Ontwerp een klasse `Rekening` met een privé-attribuut saldo en de methoden `storten(bedrag)` en `opnemen(bedrag)`. Zorg dat `opnemen` niet meer laat opnemen dan het saldo, en leg uit welke rol encapsulatie hier speelt.
Actief ophalen
Haal de kernpunten op — onthul ze daarna.
Bronnen: Examenprogramma informatica vwo — domein D (objectgeoriënteerd programmeren) (CvTE / Examenblad)
Objectdiagram: een klas met leerlingen
Vind het grootste getal in de array [6, 9, 4, 8] met het accumulatorpatroon.
max ← rij[0] = 6. Begin met het eerste element als voorlopig maximum.
rij[1] = 9 > 6 → max ← 9. rij[2] = 4 < 9 → max blijft 9.
rij[3] = 8 < 9 → max blijft 9. Array op.
Resultaat: Na één keer door de array is max = 9, het grootste getal — in n − 1 vergelijkingen.
Veelgemaakte fouten
Actieve herhaling
Gegeven een array `cijfers` van lengte n. Schrijf in pseudocode een lus die het hoogste cijfer vindt, en speel je algoritme na op [6, 9, 4, 8].
Actief ophalen
Haal de kernpunten op — onthul ze daarna.
Bronnen: Examenprogramma informatica vwo — domein D (datastructuren in code) (CvTE / Examenblad)
Testtabel voor isGeldigCijfer
Een functie die het gemiddelde van een array berekent, geeft steeds een te lage uitkomst. De code deelt de som door de arraylengte + 1. Beschrijf hoe je de fout vindt en herstelt.
Test met [10, 20]: verwacht 15, maar de functie geeft 30/3 = 10 — dus een logische fout.
Print de deler: die is 3 terwijl de array lengte 2 heeft. De deling gebruikt lengte + 1.
Deel door de lengte (2), niet lengte + 1. Test opnieuw: 30/2 = 15, correct.
Resultaat: De logische fout zat in de deler; door met een klein geval te reproduceren en de tussenwaarden te volgen is hij gelokaliseerd en hersteld.
Veelgemaakte fouten
Actieve herhaling
Een functie `isGeldigCijfer(c)` moet waar teruggeven voor gehele cijfers 1 t/m 10 en anders onwaar. Stel een testtabel op met minstens vijf gevallen, inclusief de randgevallen, met per geval de verwachte uitvoer.
Actief ophalen
Haal de kernpunten op — onthul ze daarna.
Bronnen: Examenprogramma informatica vwo — domein D (testen en debuggen) (CvTE / Examenblad)
Referenties en bronnen
CvTE / Examenblad