Twee prompts bij deze proef. Met Coach krijg je hulp terwijl je de proef maakt, zonder code. Met Quoteer laat je je afgewerkte code streng verbeteren, volgens de puntenverdeling en het boeteblad.
Let op: de quoteerprompt is recent gemaakt en werd niet gebruikt bij de originele proef. De score die je ermee krijgt, zegt dus niets over de scores van toen. Had de proef geen puntenverdeling, dan is die achteraf toegevoegd.
Oefening 1 – Lampoplosser (5 punten)
Info
Ga ervan uit dat de gebruiker géén foute invoer doet.
Opgave
Gegeven volgende flowchart die een lamp-technieker gebruikt:

Schrijf een applicatie die met de gebruiker de flowchart overloopt om te bepalen wat er met de lamp moet gebeuren. De gebruiker dient telkens met yes of no te antwoorden. Wanneer een van de 3 groene eindpunten wordt bereikt wordt de oplossing in rode tekst getoond en dan vraagt de applicatie aan de gebruiker of deze nogmaals wil starten. Bij “no” sluit het programma af. ## Voorbeeld uitvoer
Tekst die start met “>” is invoer van de gebruiker.
Lamp doesn't work.
Lamp plugged in?
>no
Plug in lamp.
Restart?
>yes
Lamp doesn't work.
Lamp plugged in?
>yes
Bulb burned out?
>yes
Replace bulb.
Restart?
>no
Oefening 2 – Roulette (7 punten)
Info
Ga ervan uit dat de gebruiker géén foute invoer doet.
Opgave
Methode Casino
Maak een methode Casino. De methode aanvaart een double en een int als parameter en geeft een double terug. De methode zal een casino simuleren en geeft op het einde terug hoeveel geld de speler nog overheeft. De double die wordt meegegeven is het startkapitaal. De int is het aantal simulaties n. De methode zal n roulette-rondes simuleren als volgt en telkens het kapitaal aanpassen.
Iedere van de n simulaties gebeurt het volgende:
- De computer kiest een willekeurig getal van 0 tot 60 (60 niet inbegrepen). Dit is zogezegd de keuze van de speler bij roulette.
- De computer kiest een willekeurig getal van 0 tot 60 (60 niet inbegrepen). Dit is zogezegd het getal waar de roulette op belandt.
- Indien beide getallen overeenkomen zal het kapitaal van de speler met 1 verhogen. Indien het getal niet gelijk was wordt er 0.1 van het kapitaal afgehouden.
Finaal geeft de methode terug hoeveel geld er nog overblijft.
Applicatie
Maak een applicatie die aan de gebruiker een startkapitaal vraagt. Vervolgens gebruik je de Casino methode om aan de speler te tonen hoeveel er van zijn kapitaal zou overblijven als hij: * 10 keer het roulettespel speelt * 100 keer * 10 000 * 1 000 000 keer
Toon telkens ook hoeveel verlies (of winst) dit is ten opzichte van het startkapitaal. Bij winst wordt dit verschil in groene letters getoond, bij verlies in rode letters.
Voorbeeld uitvoer
Tekst die start met “>” is invoer van de gebruiker. De getallen hangen van het toeval af: bij jou zullen ze anders zijn.
Wat is je startkapitaal?
>1000
Gegeven deze informatie krijg ik volgende resultaten
Als je 10 keer roulette speelt zou je eindkapitaal 999 zijn, dat is een verschil van -1.
Als je 100 keer roulette speelt zou je eindkapitaal 992,2 zijn, dat is een verschil van -7,8.
Als je 10000 keer roulette speelt zou je eindkapitaal 178,2 zijn, dat is een verschil van -821,8.
Als je 1000000 keer roulette speelt zou je eindkapitaal -80747,7 zijn, dat is een verschil van -81747,7.
Oefening 3 – Conferentie (8 punten)
Info
Ga ervan uit dat de gebruiker géén foute invoer doet.
Opgave
De opleiding organiseert een conferentie. Om dit in goede banen te leiden is besloten om de deelnemers via een applicatie te registeren. De applicatie zal twee arrays bijhouden, 1 met de achternamen (type string), 1 met de leeftijd van die persoon. De applicatie bestaat uit 3 fases:
- Fase 1 Registratie: nieuwe deelnemers kunnen wordt toegevoegd, samen met hun leeftijd.
- Fase 2 Statistieken: Statistieken van de conferentie.
- Fase 3 Informatie opvragen: de gebruiker kan de leeftijd van een gebruiker opzoeken.
Fase 1:
De gebruiker kan deelnemers toevoegen.
De applicatie vraagt telkens de naam, en dan de leeftijd. Indien als naam “stop” wordt gegeven stopt deze fase. De ingevoerde naam en leeftijd wordt in de respectievelijke array geplaatst (op dezelfde index). Er kunnen maximum 50 mensen deelnemen aan de conferentie.
Fase 2:
Vervolgens worden de volgende statistieken van de deelnemers getoond: * Aantal deelnemers * Gemiddelde leeftijd van de deelnemers * Aantal deelnemers met een leeftijd onder het gemiddelde, inclusief hun namen * Aantal deelnemers met een leeftijd boven of gelijk aan het gemiddelde, inclusief hun namen
Fase 3:
De gebruiker kan nu éénmalig de leeftijd van één deelnemer opzoeken. De gebruiker dient hiervoor de naam in te voeren. Indien de naam gevonden wordt, dan zal de leeftijd getoond worden. Zo niet dan verschijnt de boodschap “niet gevonden”. ## Voorbeeld uitvoer
Tekst die start met “>” is invoer van de gebruiker.
Geef deelnemers ("stop" om te stoppen)
>jos
Geef leeftijd van jos
>24
Geef deelnemers ("stop" om te stoppen)
>frans
Geef leeftijd van frans
>88
Geef deelnemers ("stop" om te stoppen)
>marie
Geef leeftijd van marie
>32
Geef deelnemers ("stop" om te stoppen)
>stop
Fase 2 - Statistieken van de deelnemers
Er zijn 3 deelnemers
Gemiddelde leeftijd is 48
Er zijn 2 deelnemers onder het gemiddelde namelijk jos, marie
Er zijn 1 deelnemers boven of op het gemiddelde namelijk frans
Fase 3 - Welke deelnemer zoekt u?
>frans
Deze heeft leeftijd 88
Deze oplossing is afgeschermd.
Studenten krijgen de sleutel van hun lesgever. Heb je de sleutel al eens op dit toestel
gebruikt, dan verschijnt de oplossing hier vanzelf.