EuraStudy
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 Vaardigheden
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 · Regelafstand: Compact
Media altijd laden: uit
4 Onderdelen8 kernzinnen0 formules8 valkuilen
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.
Oefen met passende opgaven8 vragen over dit onderwerp
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.
Oefen met passende opgaven8 vragen over dit onderwerp
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].
Oefen met passende opgaven8 vragen over dit onderwerp
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.
Oefen met passende opgaven8 vragen over dit onderwerp
Actief ophalen
Haal de kernpunten op — onthul ze daarna.
Bronnen: Examenprogramma informatica vwo — domein D (testen en debuggen) (CvTE / Examenblad)
Volledige versie via de diepteregelaar — zelfde plek, zelfde ankers
Referenties en bronnen
CvTE / Examenblad