VWO Informatica study materials
VWO Informatica study resources

VWO Informatica practice questions

One question at a time. Build your VWO Informatica understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Informatica (vwo bovenbouw)

In een relationele database wil je dat elke rij in de tabel Leerling uniek identificeerbaar is en dat de database zelf dubbele waarden weigert. Welk middel gebruik je daarvoor?

  1. Een primaire sleutel op het leerlingnummer Correct answer.
  2. Een index die geen unieke waarden afdwingt
  3. Een view die de tabel Leerling filtert
  4. Een foreign key naar de tabel Klas

Explanation

Een primaire sleutel legt uniekheid en niet-null af en wordt door het DBMS zelf gehandhaafd bij elke insert of update. Daarmee is elke rij identificeerbaar zonder dat de applicatie hoeft te controleren.

Question 2Informatica (vwo bovenbouw)

Een tabel Bestelling heeft een kolom klant_id die verwijst naar klant_id in de tabel Klant. Wat gebeurt er standaard als je een Bestelling probeert op te slaan met een klant_id dat niet in Klant bestaat?

  1. De database maakt automatisch een nieuwe klant aan
  2. De kolom klant_id wordt automatisch null
  3. De foreign key-beperking weigert de invoer Correct answer.
  4. De rij wordt opgeslagen met een lege verwijzing

Explanation

Een foreign key is een integriteitsbeperking: het DBMS controleert of de waarde in de referentietabel bestaat en weigert anders de bewerking. Automatisch aanmaken of null maken gebeurt niet zonder expliciete regel of trigger.

Question 3Informatica (vwo bovenbouw)

Welke SQL-opdracht hoort bij de DDL en verandert de structuur van een tabel, bijvoorbeeld door een kolom toe te voegen?

  1. UPDATE
  2. SELECT
  3. ALTER TABLE Correct answer.
  4. INSERT

Explanation

DDL (Data Definition Language) beschrijft en wijzigt het datamodel zelf, met opdrachten als CREATE, ALTER en DROP. ALTER TABLE voegt kolommen toe of wijzigt definities, terwijl de andere genoemde opdrachten met gegevens werken.

Question 4Informatica (vwo bovenbouw)

Een query gebruikt SELECT ... FROM Leerling WHERE klas = '4A' ORDER BY achternaam. Wat is het effect van ORDER BY in deze query?

  1. Het groepeert rijen met dezelfde achternaam
  2. Het filtert rijen waarvan achternaam leeg is
  3. Het verwijdert dubbele achternamen
  4. Het sorteert de resultaatset op achternaam Correct answer.

Explanation

ORDER BY bepaalt de volgorde van de rijen in het resultaat en verandert de inhoud van de resultaatset niet. Filteren gebeurt met WHERE en groeperen met GROUP BY.

Question 5Informatica (vwo bovenbouw)

Je wilt in een query het aantal bestellingen per klant berekenen. Welke combinatie van SQL-elementen is daarvoor nodig?

  1. GROUP BY klant_id met COUNT(*) Correct answer.
  2. ORDER BY klant_id met COUNT(*)
  3. WHERE COUNT(*) > 1
  4. DISTINCT klant_id met SUM(*)

Explanation

Met GROUP BY klant_id worden rijen per klant samengevoegd, waarna een aggregatiefunctie zoals COUNT(*) per groep telt. Zonder GROUP BY levert COUNT(*) één totaal voor de hele tabel.

Question 6Informatica (vwo bovenbouw)

Een tabel bevat een kolom met herhaalde groepen, bijvoorbeeld per leerling meerdere telefoonnummers in één veld. Welk probleem levert dit op bij het relationele model?

  1. De foreign key werkt niet meer
  2. De tabel voldoet niet aan de eerste normaalvorm Correct answer.
  3. De tabel heeft geen primaire sleutel meer
  4. De tabel kan niet meer worden geïndexeerd

Explanation

De eerste normaalvorm eist dat elk veld atomair is, dus één waarde per cel. Meerdere telefoonnummers in één veld maken het veld niet-atomair en bemoeilijken zoeken en updaten.

Question 7Informatica (vwo bovenbouw)

Een tabel Orderregel bevat order_id, artikel_id, aantal en de artikelnaam. De artikelnaam hangt alleen af van artikel_id, niet van de hele sleutel (order_id, artikel_id). Welke normaalvorm wordt hierdoor geschonden?

  1. De eerste normaalvorm
  2. De Boyce-Codd-normaalvorm door een meerwaardige afhankelijkheid
  3. De tweede normaalvorm Correct answer.
  4. De derde normaalvorm

Explanation

De tweede normaalvorm verbiedt partiële afhankelijkheden: een niet-sleutelattribuut mag niet alleen van een deel van een samengestelde sleutel afhangen. Artikelnaam hangt alleen van artikel_id af en schendt daarmee de 2NF.

Question 8Informatica (vwo bovenbouw)

In een UML-klassendiagram heeft klasse Docent een attribuut en een methode, en klasse Vak erft daarvan. Wat geldt voor de klasse Vak?

  1. Vak kan niet meer dan één attribuut toevoegen
  2. Vak moet alle methoden van Docent overschrijven
  3. Vak bezit de attributen en methoden van Docent Correct answer.
  4. Vak mag alleen attributen van Docent overnemen

Explanation

Overerving betekent dat de subklasse de attributen en methoden van de superklasse erft en daar eigen kenmerken aan toevoegt. Overschrijven is toegestaan maar niet verplicht.

Question 9Informatica (vwo bovenbouw)

Een informatiesysteem kent een klasse Persoon met subklassen Leerling en Docent. Welke relatie teken je tussen Persoon en Leerling in een UML-klassendiagram?

  1. Een associatie met multipliciteit 1..*
  2. Een afhankelijkheid met een streeppijl
  3. Een compositie met een gevulde ruit bij Persoon
  4. Een generalisatie met een open pijl naar Persoon Correct answer.

Explanation

Een is-een-relatie tussen superklasse en subklasse wordt als generalisatie getekend: een open driehoekige pijl wijst naar de superklasse. Een Leerling is immers een Persoon.

Question 10Informatica (vwo bovenbouw)

Een algoritme met een lijst van n elementen doorloopt de lijst één keer en doet per element een vaste hoeveelheid werk. Wat is de tijdcomplexiteit in grote O-notatie?

  1. O(n²)
  2. O(log n)
  3. O(n) Correct answer.
  4. O(1)

Explanation

Als het aantal bewerkingen recht evenredig groeit met het aantal elementen, is de complexiteit lineair: O(n). O(1) zou betekenen dat de looptijd niet van n afhangt.

Question 11Informatica (vwo bovenbouw)

Je zoekt een waarde in een gesorteerde lijst van 1000 elementen met binair zoeken. Hoeveel vergelijkingen zijn in het slechtste geval ongeveer nodig?

  1. Ongeveer 500
  2. Ongeveer 100
  3. Ongeveer 1000
  4. Ongeveer 10 Correct answer.

Explanation

Binair zoeken halveert de zoekruimte per stap, dus het aantal stappen is ongeveer log₂(1000), wat dicht bij 10 ligt. Lineair zoeken zou in het slechtste geval 1000 vergelijkingen kosten.

Question 12Informatica (vwo bovenbouw)

Een sorteeralgoritme vergelijkt steeds aangrenzende paren en wisselt ze om tot de lijst op volgorde staat. Welk algoritme is dit?

  1. Hashing
  2. Bubble sort Correct answer.
  3. Binair zoeken
  4. Depth-first search

Explanation

Bubble sort werkt door herhaald aangrenzende elementen te vergelijken en te verwisselen; de grootste waarden 'bubbelen' naar het einde. De andere genoemden zijn geen sorteeralgoritmen.

Question 13Informatica (vwo bovenbouw)

Een programma moet de faculteit van n berekenen met fac(n) = n * fac(n-1) en fac(0) = 1. Welk onderdeel van deze definitie voorkomt dat de berekening oneindig doorgaat?

  1. De return-waarde van de functie
  2. De basisgeval fac(0) = 1 Correct answer.
  3. De parameter n
  4. De vermenigvuldiging met n

Explanation

Een recursieve functie heeft een basisgeval nodig dat zonder verdere recursie een waarde teruggeeft. Zonder fac(0) = 1 blijft de functie zichzelf aanroepen met steeds negatievere waarden.

Question 14Informatica (vwo bovenbouw)

Een docent wil dat een leerling een getal tussen 1 en 10 invoert en blijft herhalen tot de invoer geldig is. Welk programmeerconstructie past daarbij het beste?

  1. Een if-statement zonder lus
  2. Een for-lus met een vaste teller
  3. Een while-lus met een invoervalidatie Correct answer.
  4. Een functie zonder parameters

Explanation

Een while-lus herhaalt zolang de voorwaarde geldt, dus tot de invoer geldig is; dat past bij een onbekend aantal pogingen. Een for-lus met vaste teller gaat uit van een bekend aantal herhalingen.

Question 15Informatica (vwo bovenbouw)

In Python staat de lijst cijfers = [4, 7, 9, 2]. Wat is de waarde van cijfers[1]?

  1. 4
  2. 2
  3. 9
  4. 7 Correct answer.

Explanation

Python indexeert lijsten vanaf 0, dus cijfers[0] is 4 en cijfers[1] is het tweede element, 7. De waarde 2 hoort bij index 3.

Question 16Informatica (vwo bovenbouw)

Een functie in Python begint met def gemiddelde(a, b): en retourneert (a + b) / 2. Wat gebeurt er als je gemiddelde(4, 8) aanroept?

  1. De functie geeft een foutmelding omdat a en b ontbreken
  2. De functie retourneert 4
  3. De functie retourneert 6 Correct answer.
  4. De functie retourneert 12

Explanation

De argumenten 4 en 8 worden aan de parameters a en b toegekend, waarna (4 + 8) / 2 = 6 wordt geretourneerd. Delen door 2 hoort bij de berekening van het gemiddelde.

Question 17Informatica (vwo bovenbouw)

Een leerling schrijft een lineair zoekalgoritme dat per element vergelijkt. Bij welke invoer is het aantal vergelijkingen in het slechtste geval het grootst?

  1. Als de lijst leeg is
  2. Als de lijst uit één element bestaat
  3. Als het gezochte element vooraan staat
  4. Als het gezochte element achteraan staat Correct answer.

Explanation

Bij lineair zoeken moeten alle elementen worden bekeken als het doel achteraan staat of ontbreekt. Staat het element vooraan, dan is één vergelijking genoeg.

Question 18Informatica (vwo bovenbouw)

Twee computers in hetzelfde netwerk hebben respectievelijk IP-adres 192.168.1.10 en 192.168.1.11 met subnetmasker 255.255.255.0. Hoe bepaalt een router of ze in hetzelfde subnet zitten?

  1. Door de MAC-adressen van beide netwerkkaarten te vergelijken
  2. Door het IP-adres met het subnetmasker logisch te vermenigvuldigen
  3. Door de IP-adressen bitsgewijs AND met het subnetmasker te combineren Correct answer.
  4. Door de hostnaam van beide computers te vergelijken

Explanation

Het netwerkadres ontstaat door het IP-adres bitsgewijs AND te combineren met het subnetmasker. Beide adressen leveren dan 192.168.1.0 op, dus ze zitten in hetzelfde subnet.

Question 19Informatica (vwo bovenbouw)

Een gebruiker opent een website. Welk protocol zorgt ervoor dat de inhoud van de webpagina versleuteld wordt uitgewisseld tussen browser en webserver?

  1. DHCP
  2. HTTPS met TLS Correct answer.
  3. DNS
  4. HTTP zonder meer

Explanation

HTTPS is HTTP over TLS, waarbij de verbinding wordt versleuteld en de server wordt geauthenticeerd met een certificaat. Gewone HTTP verstuurt gegevens onversleuteld.

Question 20Informatica (vwo bovenbouw)

Een school wil dat leerlingen alleen via het schoolnetwerk bij een intern systeem kunnen, en dat het verkeer tussen leerling en systeem niet meeleesbaar is op het netwerk. Welke combinatie van maatregelen past het beste?

  1. Een sterk wachtwoord plus een langere sessieduur
  2. Een load balancer plus een statische IP-configuratie
  3. Een publieke DNS-server plus een caching-proxy
  4. Een firewall die extern verkeer blokkeert plus TLS voor het verkeer Correct answer.

Explanation

Een firewall beperkt de toegang tot het schoolnetwerk en TLS versleutelt het verkeer zodat het niet meeleesbaar is. Samen dekken ze zowel de toegangsbeperking als de vertrouwelijkheid.

Question 21Informatica (vwo bovenbouw)

Een website slaat wachtwoorden op. Welke aanpak beschermt de wachtwoorden het beste als de database uitlekt?

  1. Wachtwoorden hashen met een salt en een traag hash-algoritme Correct answer.
  2. Wachtwoorden in platte tekst opslaan
  3. Wachtwoorden opslaan als Base64-gecodeerde tekst
  4. Wachtwoorden versleutelen met een vaste sleutel in de code

Explanation

Een salt maakt regenboogtabellen onbruikbaar en een traag hash-algoritme zoals bcrypt of Argon2 maakt brute force kostbaar. Hashen is eenrichtingsverkeer, dus het originele wachtwoord is niet terug te halen.

Question 22Informatica (vwo bovenbouw)

Een leerling krijgt een e-mail die namens de helpdesk om het wachtwoord vraagt via een link naar een nagemaakte inlogpagina. Van welke aanval is hier sprake?

  1. Phishing Correct answer.
  2. DDoS-aanval
  3. Ransomware
  4. SQL-injectie

Explanation

Phishing misleidt gebruikers met een nagemaakte boodschap om inloggegevens of andere vertrouwelijke informatie af te geven. De link naar een vervalste pagina is een klassiek kenmerk.

Question 23Informatica (vwo bovenbouw)

Een webformulier stuurt invoer naar een databasequery die met stringconcatenatie wordt opgebouwd. Een aanvaller voert in het naamveld in: ' OR '1'='1. Wat is de beste structurele maatregel hiertegen?

  1. De invoer beperken tot maximaal tien tekens
  2. De databasegebruiker volledige rechten geven
  3. De query opbouwen met geparametriseerde statements Correct answer.
  4. Alle aanhalingstekens uit de invoer verwijderen

Explanation

Geparametriseerde statements scheiden de querystructuur van de ingevoerde waarden, zodat invoer nooit als SQL-code wordt uitgevoerd. Filteren op tekens is fragiel en dekt niet alle varianten.

Question 24Informatica (vwo bovenbouw)

Een leerling wil controleren of een bewering over de werking van een programma klopt. Welke aanpak levert het sterkste bewijs?

  1. De uitvoer van één testrun bekijken
  2. De mening van de programmeur vragen
  3. Systematisch randgevallen en normale gevallen testen en de resultaten vergelijken Correct answer.
  4. De code sneller laten compileren

Explanation

Systematisch testen met zowel normale als randgevallen laat zien of het programma zich in verschillende situaties correct gedraagt. Eén testrun of een mening levert geen betrouwbaar bewijs.

Question 25Informatica (vwo bovenbouw)

Een database bevat een tabel met 1 miljoen rijen en queries filteren vaak op de kolom achternaam. Welke maatregel versnelt deze queries het meest zonder de resultaten te veranderen?

  1. Het aantal kolommen in de tabel verdubbelen
  2. Een index aanmaken op de kolom achternaam Correct answer.
  3. De tabel dupliceren zonder de kolom achternaam
  4. Bij elke query alle rijen in de applicatie filteren

Explanation

Een index op achternaam laat het DBMS snel de relevante rijen vinden zonder de hele tabel te scannen. De resultaatset blijft gelijk; alleen de zoekstrategie verandert.

Question 26Informatica (vwo bovenbouw)

Een leerling schrijft een SQL-query om alle klanten met woonplaats 'Utrecht' op te halen. Welk onderdeel van de query zorgt voor de selectie op woonplaats?

  1. De SELECT-component met de kolomnamen die getoond worden
  2. De FROM-component met de naam van de tabel
  3. De WHERE-component met de voorwaarde woonplaats = 'Utrecht' Correct answer.
  4. De ORDER BY-component die de rijen sorteert

Explanation

In SQL bepaalt de WHERE-component welke rijen worden opgenomen door een filtervoorwaarde toe te passen. SELECT bepaalt alleen welke kolommen verschijnen en FROM welke tabel gebruikt wordt. Filteren op een kolomwaarde hoort dus altijd in de WHERE-component.

Question 27Informatica (vwo bovenbouw)

Een leerling wil in Python herhaaldelijk een blok code uitvoeren zolang een teller kleiner is dan 10. Welke constructie past hij het beste toe?

  1. Een while-lus met de voorwaarde teller < 10 Correct answer.
  2. Een try/except-blok om fouten af te vangen
  3. Een if-statement met de voorwaarde teller < 10
  4. Een functiedefinitie met def en return

Explanation

Een while-lus herhaalt de code zolang de opgegeven voorwaarde waar blijft, wat precies past bij herhaling tot een teller een grens bereikt. Een if-statement voert de code hooguit één keer uit. Functiedefinities en foutafhandeling regelen geen herhaling op basis van een teller.

Question 28Informatica (vwo bovenbouw)

Een organisatie wil dat medewerkers thuis veilig verbinding maken met het interne bedrijfsnetwerk via het publieke internet. Welke voorziening is hiervoor bedoeld?

  1. Een load balancer die verkeer over servers verdeelt
  2. Een VPN-verbinding met versleutelde tunnel naar het bedrijfsnetwerk Correct answer.
  3. Een DNS-server die interne hostnamen vertaalt
  4. Een firewall die inkomend verkeer op poort 80 blokkeert

Explanation

Een VPN bouwt een versleutelde tunnel over het publieke internet, waardoor de verbinding zich gedraagt alsof de gebruiker in het interne netwerk zit. DNS vertaalt alleen namen naar adressen en beveiligt niets. Firewalls en load balancers regelen respectievelijk filtering en verdeling van verkeer, geen veilige externe toegang.

Question 29Informatica (vwo bovenbouw)

Een database bevat een tabel Leerling met een kolom leerling_id als primaire sleutel. Een andere tabel Inschrijving verwijst met de kolom leerling_id naar die tabel. Welke functie heeft leerling_id in de tabel Inschrijving?

  1. Het is een foreign key die verwijst naar de primaire sleutel van Leerling Correct answer.
  2. Het is een samengestelde sleutel over meerdere kolommen
  3. Het is een index die zoeken op achternaam versnelt
  4. Het is een primaire sleutel die elke inschrijving uniek identificeert

Explanation

Een foreign key is een kolom die verwijst naar de primaire sleutel van een andere tabel en zo de relatie tussen beide tabellen legt. In Inschrijving identificeert leerling_id niet elke inschrijving uniek, want een leerling kan meerdere inschrijvingen hebben. Daarom is het daar een foreign key en geen primaire sleutel.

Question 30Informatica (vwo bovenbouw)

Een leerling wil in Python de lengte van een lijst namen opvragen. Welke uitdrukking geeft het aantal elementen in de lijst?

  1. namen.size
  2. len(namen) Correct answer.
  3. count(namen)
  4. namen.length

Explanation

In Python geeft de ingebouwde functie len() het aantal elementen van een lijst of ander sequentietype terug. Attributen zoals length of size bestaan niet op een Python-lijst. De losse functie count() werkt anders en is geen vervanging voor len().

Question 31Informatica (vwo bovenbouw)

Een website gebruikt HTTPS. Welk voordeel biedt dit ten opzichte van HTTP voor de gebruiker?

  1. Het verkeer tussen browser en server is versleuteld en niet leesbaar voor meelezers Correct answer.
  2. De website verschijnt automatisch bovenaan in zoekresultaten
  3. De webpagina laadt altijd sneller door compressie van afbeeldingen
  4. De server kan geen cookies meer plaatsen bij de browser

Explanation

HTTPS combineert HTTP met TLS, waardoor de inhoud van het verkeer versleuteld is en derden het niet kunnen meelezen of aanpassen. Snelheid, cookiewerking en zoekpositie worden hierdoor niet op die manier bepaald. Het kernvoordeel is vertrouwelijkheid en integriteit van de verbinding.

Question 32Informatica (vwo bovenbouw)

Een leerling maakt een UML-klassendiagram van een bibliotheek. Een klasse Boek heeft een attribuut isbn en een methode toonTitel(). Wat stelt het attribuut isbn in dit diagram voor?

  1. Een pakket dat meerdere klassen groepeert
  2. Een bewerking die objecten van de klasse kunnen uitvoeren
  3. Een eigenschap die elk object van de klasse Boek bezit Correct answer.
  4. Een relatie tussen twee klassen onderling

Explanation

In een klassendiagram beschrijft een attribuut een eigenschap of gegeven dat elk object van die klasse heeft. Methoden beschrijven gedrag, relaties verbinden klassen en pakketten groeperen klassen. isbn is dus een eigenschap van elk Boek-object.

Question 33Informatica (vwo bovenbouw)

Een leerling gebruikt een spreadsheet met de formule =SOM(B2:B5). Wat berekent deze formule?

  1. De grootste waarde in de cellen B2 tot en met B5
  2. De som van de waarden in de cellen B2 tot en met B5 Correct answer.
  3. Het aantal gevulde cellen in de kolom B
  4. Het gemiddelde van de waarden in de cellen B2 tot en met B5

Explanation

De functie SOM telt de waarden in het opgegeven bereik bij elkaar op, en B2:B5 omvat de cellen B2, B3, B4 en B5. Gemiddelde, aantal en maximum worden met andere functies berekend. De dubbele punt geeft een aaneengesloten bereik aan.

Question 34Informatica (vwo bovenbouw)

Een leerling heeft een lijst getallen en wil de kleinste waarde vinden zonder de lijst te sorteren. Welke aanpak werkt gegarandeerd correct?

  1. Begin met het eerste element als minimum en vervang dit telkens als een volgend element kleiner is Correct answer.
  2. Bereken het gemiddelde van alle elementen en gebruik dat als minimum
  3. Tel alle elementen op en deel door het aantal elementen
  4. Neem altijd het laatste element van de lijst als minimum

Explanation

Door één keer door de lijst te lopen en het minimum bij te werken bij elk kleiner element, vind je gegarandeerd de kleinste waarde. Het gemiddelde of de som zegt niets over de kleinste waarde. Het laatste element is willekeurig en hoeft niet het minimum te zijn.

Question 35Informatica (vwo bovenbouw)

Een programma leest een geheel getal in en moet bij een negatieve waarde een foutmelding geven en stoppen. Welke constructie is hiervoor het meest geschikt?

  1. Een if-statement dat de foutmelding toont en daarna het programma beëindigt Correct answer.
  2. Een for-lus die alle invoer doorloopt
  3. Een while-lus die blijft wachten op nieuwe invoer
  4. Een functie die de invoer omzet naar een tekstwaarde

Explanation

Een controle op één voorwaarde met een directe reactie vraagt om een if-statement, gecombineerd met beëindiging van het programma. Een for-lus of while-lus is bedoeld voor herhaling en past niet bij een eenmalige controle. Het omzetten naar tekst lost de foutdetectie niet op.

Question 36Informatica (vwo bovenbouw)

Een schoolnetwerk gebruikt het subnetmasker 255.255.255.0 voor het netwerk 192.168.10.0. Hoeveel bruikbare hostadressen zijn er in dit subnet?

  1. 256
  2. 254 Correct answer.
  3. 512
  4. 255

Explanation

Een masker van 255.255.255.0 laat 8 bits over voor hostadressen, wat 256 adressen oplevert. Daarvan zijn het netwerkadres en het broadcastadres niet bruikbaar, dus blijven 254 hosts over. Het aantal van 256 is het totaal inclusief deze twee gereserveerde adressen.

Question 37Informatica (vwo bovenbouw)

Een leerling wil controleren of een wachtwoord in de database is opgeslagen met een veilige methode. Welk kenmerk wijst op een juiste opslag?

  1. Het wachtwoord staat als leesbare tekst in de kolom
  2. Het wachtwoord is met Base64 gecodeerd opgeslagen
  3. Er is een salt per gebruiker toegepast en het resultaat is met een langzame hashfunctie berekend Correct answer.
  4. Het wachtwoord is versleuteld met een vaste sleutel die in de code staat

Explanation

Een salt per gebruiker voorkomt dat identieke wachtwoorden dezelfde hash opleveren, en een langzame hashfunctie maakt het raden kostbaar. Versleuteling met een sleutel in de code is kwetsbaar omdat de sleutel uitlekt. Leesbare tekst en Base64 bieden geen echte bescherming.

Question 38Informatica (vwo bovenbouw)

Een leerling schrijft een query met stringconcatenatie en voegt invoer van een gebruiker direct toe. Een aanvaller voert invoer in waardoor de query andere rijen teruggeeft. Welke maatregel voorkomt dit het beste?

  1. Beperk de lengte van de invoer tot tien tekens
  2. Vervang alle spaties in de invoer door een liggend streepje
  3. Zet de database achter een firewall
  4. Gebruik geparametriseerde queries waarbij invoer als aparte waarde wordt doorgegeven Correct answer.

Explanation

Geparametriseerde queries scheiden de structuur van de query van de ingevoerde waarden, waardoor invoer nooit als SQL-code wordt uitgevoerd. Filteren op spaties of lengte laat andere aanvalsvormen toe. Een firewall beschermt het netwerk maar niet tegen kwaadaardige query's via een toegestane verbinding.

Question 39Informatica (vwo bovenbouw)

Een leerling wil twee tabellen koppelen en alleen de rijen tonen waarvoor in beide tabellen een overeenkomstige waarde bestaat. Welke SQL-bewerking gebruikt hij?

  1. Een UNION die beide tabellen onder elkaar plaatst
  2. Een INNER JOIN tussen beide tabellen op de gemeenschappelijke kolom Correct answer.
  3. Een ORDER BY op de gemeenschappelijke kolom
  4. Een GROUP BY op de gemeenschappelijke kolom

Explanation

Een INNER JOIN levert alleen combinaties van rijen waarbij de joinvoorwaarde in beide tabellen geldt. UNION plaatst rijen onder elkaar zonder te koppelen op een sleutel. GROUP BY en ORDER BY groeperen of sorteren het resultaat maar selecteren geen overeenkomende paren.

Question 40Informatica (vwo bovenbouw)

Een leerling vergelijkt twee algoritmen die hetzelfde probleem oplossen. Algoritme A doet ongeveer n² stappen, algoritme B ongeveer n log n stappen voor n invoerwaarden. Wat volgt hieruit voor grote n?

  1. Beide algoritmen doen bij grote n evenveel stappen
  2. Algoritme B groeit langzamer en is bij grote n in het voordeel Correct answer.
  3. Algoritme A is in het voordeel omdat n² kleiner is dan n log n
  4. Algoritme A is altijd sneller omdat n² eenvoudiger te berekenen is

Explanation

Voor grote n groeit n log n veel langzamer dan n², waardoor algoritme B bij grote invoer aanzienlijk minder stappen nodig heeft. Dat n² eenvoudiger is, zegt niets over het aantal stappen. Bij grote n is n² juist groter dan n log n.

Question 41Informatica (vwo bovenbouw)

Een informatiesysteem bewaart van elke leerling het adres. Een leerling kan in de loop van het jaar verhuizen en het oude adres moet bewaard blijven voor de administratie. Welke oplossing past het beste bij dit vereiste?

  1. Het oude adres verwijderen zodra het nieuwe adres bekend is
  2. Een aparte tabel Adres met een begindatum en einddatum, gekoppeld aan de leerling Correct answer.
  3. Het adres in de tabel Leerling opnemen en bij verhuizing een nieuwe leerling aanmaken
  4. Het adres als één tekstveld in de tabel Leerling opnemen en overschrijven

Explanation

Door adressen in een aparte tabel met begindatum en einddatum op te slaan, blijft de historie bewaard en hoort elk adres bij een periode. Overschrijven of verwijderen gaat juist ten koste van de historie. Een nieuwe leerling aanmaken voor een verhuizing vervuilt de gegevens.

Question 42Informatica (vwo bovenbouw)

Een leerling wil aantonen dat een bewering over de werking van een programma klopt. Hij voert het programma uit met één vaste invoer en ziet het verwachte resultaat. Wat is de sterkte van deze aanpak?

  1. Eén geslaagde test bewijst dat het programma voor alle invoer correct is
  2. Eén geslaagde test toont aan dat het algoritme optimaal is
  3. Eén geslaagde test sluit fouten bij andere invoer niet uit Correct answer.
  4. Eén geslaagde test bewijst dat er geen syntaxfouten in de code staan

Explanation

Een test met één invoer controleert alleen dat geval en zegt niets over andere invoerwaarden of randgevallen. Om een bewering te onderbouwen zijn meerdere tests nodig, bij voorkeur met randgevallen. Een geslaagde test is dus een aanwijzing, geen bewijs van algemene correctheid.

Question 43Informatica (vwo bovenbouw)

Een leerling wil in een programma een verzameling unieke waarden bijhouden waarbij hij snel wil controleren of een waarde al aanwezig is. Welk datatype past hier het beste bij?

  1. Een string, omdat tekens achter elkaar staan
  2. Een tuple, omdat deze niet gewijzigd kan worden
  3. Een lijst, omdat deze de volgorde van invoer bewaart
  4. Een set, omdat deze dubbele waarden voorkomt en snel lidmaatschap controleert Correct answer.

Explanation

Een set slaat unieke elementen op en gebruikt een hashstructuur waardoor controle op aanwezigheid gemiddeld snel verloopt. Een lijst staat wel volgorde toe maar kan dubbele waarden bevatten en is trager bij lidmaatschapscontrole. Tuples en strings zijn hier niet bedoeld voor een wijzigbare verzameling unieke waarden.

Question 44Informatica (vwo bovenbouw)

Een leerling wil in een relationele database voorkomen dat een inschrijving verwijst naar een leerling die niet bestaat. Welke maatregel legt de database dit het beste op?

  1. Een CHECK-constraint op de kolom cijfer
  2. Een foreign key met referentiële integriteit tussen Inschrijving en Leerling Correct answer.
  3. Een index op de kolom leerling_id in Inschrijving
  4. Een trigger die dagelijks alle tabellen kopieert

Explanation

Referentiële integriteit via een foreign key zorgt ervoor dat een verwijzing alleen mag bestaan als de bijbehorende rij in de andere tabel aanwezig is. Een index versnelt zoeken maar handhaaft geen verwijzingen. Een CHECK op cijfer en een dagelijkse kopie raken deze koppeling niet.

Question 45Informatica (vwo bovenbouw)

Een leerling ontvangt een e-mail die lijkt te komen van de helpdesk en vraagt via een link naar een nagemaakte inlogpagina om inloggegevens. Welke eigenschap van de e-mail wijst het sterkst op phishing?

  1. De link verwijst naar een ander domein dan het officiële domein van de school Correct answer.
  2. De e-mail is buiten kantooruren verzonden
  3. De e-mail bevat een bijlage met een PDF-bestand
  4. De e-mail is ondertekend met de naam van de helpdesk

Explanation

Bij phishing verwijst de link vaak naar een domein dat op het echte lijkt maar het niet is, zodat inloggegevens bij de aanvaller terechtkomen. Een ondertekende naam zegt niets over echtheid en is eenvoudig na te maken. Een PDF-bijlage of het tijdstip van verzenden zijn op zichzelf geen betrouwbare aanwijzingen.

Question 46Informatica (vwo bovenbouw)

Een leerling moet in een programma een lijst van namen alfabetisch sorteren. Hij wil gebruikmaken van een bestaande sorteermethode in de taal in plaats van zelf een algoritme te schrijven. Welke afweging is hierbij het meest terecht?

  1. De ingebouwde sorteermethode is doorgaans goed getest en efficiënt, wat fouten en werk bespaart Correct answer.
  2. Sorteren is alleen mogelijk als de lijst al bijna op volgorde staat
  3. Een ingebouwde methode kan geen tekstwaarden sorteren
  4. Een zelfgeschreven sorteeralgoritme is altijd sneller dan een ingebouwde methode

Explanation

Ingebouwde sorteermethoden zijn uitgebreid getest en gebruiken efficiënte algoritmen, waardoor zelf schrijven vooral foutgevoelig en tijdrovend is. Dat een zelfgeschreven algoritme altijd sneller is, klopt niet. Ook tekstwaarden en willekeurige lijsten kunnen worden gesorteerd.

Question 47Informatica (vwo bovenbouw)

Een leerling schrijft een recursieve functie zonder stopconditie. Wat gebeurt er bij uitvoering?

  1. De functie keert direct terug zonder iets te doen
  2. De functie stopt automatisch na tien aanroepen
  3. De compiler voegt zelf een stopconditie toe
  4. De functie blijft zichzelf aanroepen tot de beschikbare stackruimte op is en het programma vastloopt Correct answer.

Explanation

Een recursieve functie heeft een basisgeval nodig om te stoppen. Zonder stopconditie blijft elke aanroep een nieuwe aanroep op de stack plaatsen tot de stackruimte uitgeput is, wat tot een fout of vastlopen leidt. Er is geen automatische limiet van tien en de compiler vult geen stopconditie in.

Question 48Informatica (vwo bovenbouw)

Een leerling analyseert een database met een tabel Orderregel met de kolommen order_id, artikel_id, aantal en artikelprijs. De artikelprijs hangt alleen af van artikel_id. Wat is het gevolg voor het ontwerp?

  1. De artikelprijs moet juist in Orderregel blijven om historie te bewaren
  2. De artikelprijs hoort in een aparte artikeltabel en niet in Orderregel Correct answer.
  3. De tabel moet een extra primaire sleutel op aantal krijgen
  4. De kolom aantal moet worden gesplitst in twee kolommen

Explanation

Als artikelprijs alleen afhangt van artikel_id en niet van de volledige sleutel van Orderregel, is er sprake van een gedeeltelijke afhankelijkheid. Normalisatie plaatst zulke gegevens in een aparte artikeltabel. Een prijshistorie vraagt om een eigen tabel met geldigheidsperiode, niet om opslag in elke orderregel.

Question 49Informatica (vwo bovenbouw)

Een leerling implementeert binair zoeken maar past dit toe op een ongesorteerde lijst. Wat is het gevolg?

  1. Het algoritme sorteert de lijst eerst automatisch
  2. Het algoritme werkt alleen bij een lijst met een even aantal elementen
  3. Het algoritme kan een aanwezige waarde ten onrechte als afwezig rapporteren Correct answer.
  4. Het algoritme werkt correct maar doet altijd n vergelijkingen

Explanation

Binair zoeken halveert het zoekgebied op basis van de aanname dat de lijst gesorteerd is. Bij een ongesorteerde lijst kan de gezochte waarde in het weggegooide deel liggen, waardoor het algoritme een onjuiste uitkomst geeft. Er is geen automatische sortering en de pariteit van het aantal elementen is niet bepalend.

Question 50Informatica (vwo bovenbouw)

Een school wil dat alleen geautoriseerde docenten cijfers kunnen wijzigen, terwijl leerlingen ze wel mogen inzien. Welk beginsel uit informatiebeveiliging wordt hiermee vooral ingevuld?

  1. Toegangscontrole op basis van rollen met het principe van minimale rechten Correct answer.
  2. Integriteit door cijfers dagelijks automatisch aan te passen
  3. Beschikbaarheid door het systeem 24 uur per dag online te houden
  4. Vertrouwelijkheid door alle cijfers voor iedereen te verbergen

Explanation

Rollen met minimale rechten zorgen ervoor dat gebruikers alleen de acties kunnen uitvoeren die bij hun taak horen: docenten wijzigen, leerlingen lezen. Beschikbaarheid gaat over bereikbaarheid van het systeem en vertrouwelijkheid over wie gegevens mag zien. Integriteit betreft juistheid van gegevens, niet het toekennen van rechten.