Skip to main content

2017 januari examen

9 Januari (Lector: M. Lens)

Het examen bestond uit 3 vragen:

1. Maak aan de hand van volgende informatie 4 klassen:

Het is de bedoeling om kooklogboeken bij te houden. Elk kooklogboek heeft een naam die moet beginnen met "Kooklogboek van " met daarna de naam van de eigenaar. Een kooklogboek bevat ook etentjes. Je moet ook het totaal aantal nagerechten in een kooklogboek kunnen krijgen en de totale gemiddelde score.

Een etentje bevat een gastlijst (= een lijst bestaande uit gasten), gerechten en een score. Gasten mogen niet toegevoegd worden als er al gerechten zijn toegevoegd aan het etentje. Wanneer er min. 1 vegetarische gast op de gastlijst staat en er een niet-vegetarisch gerecht wordt toegevoegd, dat mag niet. Gasten en gerechten worden pas na de aanmaak van een etentje toegevoegd, wordt dus niet meegegeven met de constructor. Je moet ook alle gerechten van een etentje kunnen krijgen en de gastlijst. Ook moet je gerechten, gasten en scores toevoegen. (score is de som van alle scores die gegeven zijn aan het etentje, dus bij addScore(4) en daarna addScore(5) wordt score 9. Score mag ook negatief zijn/worden.)

Een gerecht heeft een naam (mag niet leeg zijn) en is vegetarisch of niet. Het heeft ook een soort die hoofdgerecht, voorgerecht of nagerecht is. Het mag ingegeven worden als " HooFdGerEcht", maar moet worden opgeslagen met kleine letters. De naam van een gerecht mag later aangepast kunnen worden, ofdat het vegetarisch is mag niet kunnen aangepast worden. Naam en ofdat het vegetarisch is moet ook opgevraagd kunnen worden.

Een gast heeft een naam (geen checks voor nodig) en is vegetarisch of niet. De naam mag niet kunnen veranderd worden, ofdat de gast vegetarisch is wel. De naam en ofdat de gast vegetarisch is moet opgevraagd kunnen worden.


2. Maak aan de hand van deze klassen een KookLogboekApp:
Maak 2 etentjes met gasten en gerechten en voeg deze toe aan een kooklogboek. Laat daarna het kooklogboek zien in de console. Maak daarna een derde etentje aan met een fout erin. Laat de foutmelding zien in een dialoogbox (= JOption Messagebox).
Het aangemaakte kooklogboek is van Elke met volgende etentjes:

Etentje1:
Gast Stijn en Elke (beide vegetarisch). Eten vegetarische lasagne (hoofdgerecht) en chocomousse (nagerecht). Scores worden gegeven van 8 en 10.

Etentje2:
Gast Jan en Mieke (beide niet-vegetarisch). Eten tomatensoep (voorgerecht) en pasta (hoofdgerecht) en pudding (nagerecht). Scores worden gegeven van 8 en -1.

Etentje3:
Gast Elke en Mieke (veg. en niet-veg.). Eten biefstuk (hoofdgerecht).

In de console:

Kooklogboek van Elke

Etentje 1
Gerechten:
hoofdgerecht: Vegetarische Lasagne - V
nagerecht: Chocomousse - V
Gasten:
Stijn - vegetarisch
Elke - vegetarisch

Etentje 2
Gerechten:
voorgerecht: tomatensoep - V
hoofdgerecht: pasta
nagerecht: pudding - V
Gasten:
Jan
Mieke

Het aantal nagerechten is: 2
De gemiddelde score is: 6,25

 

3. Teken het geheugen (Stack & Heap) van de KookLogboekApp na het uitvoeren van de laatste lijn code op papier.