BigMacIndex Deel 1
De Big Mac-index - een schepping van het Britse weekblad The Economist in 1986 - is een informele berekeningswijze van koopkrachtpariteit gebaseerd op de prijs van een Big Mac in een bepaald land. De index maakt een vergelijking tussen de verschillende valuta's ten opzichte van een gekozen basismunt. Door de koopkracht van deze basismunt te vergelijken met die van een andere munt, kan men zien hoeveel die munt 'eigenlijk' waard is en of de wisselkoers te hoog of te laag is.
Deel 1: Klasse BigMacIndex (4 punten)
- Elk BigMacIndex object heeft als instantievariabelen
- De naam van het land waarvoor de Big Mac Index wordt bepaald met als naam
naamLand
.
- De waarde voor de Big Mac Index als double met als naam
index
.
- Voeg een constructor toe. De constructor heeft als argument enkel de naam van het land die gebruikt wordt om de overeenkomstige instantievariabele te initialiseren. De waarde van de instantievariabele
index
wordt gelijkgesteld aan 0.
- Voeg accessor- en mutator-methodes toe voor alle instantievariabelen.
(2 punten)
- Voeg een methode berekenBigMacIndex toe met als argumenten de prijs van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen en de prijs van een Big Mac in het land waarmee je wenst te vergelijken. De methode zal vervolgens de waarde voor de instantievariabele index bepalen door de waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen te delen door de prijs van een Big Mac in het land waarmee je wenst te vergelijken.
(2 punten)
Hierbij nog wat uitleg over de Dodona-testen voor deze oefening:
- test00objectConcept: test of de ingediende klasse de verwachte de klasse definitie heeft (interface/abstracte klasse/klasse/enum/…).
- test01inheritance: test of de ingediende klasse de verwachte superklasse heeft en de verwachte interfaces implementeert.
- test02variables_presence: test of de ingediende klasse de verwachte instantievariabelen en statische variabelen definieert.
- test03variables_staticInitialValue: test of de statische variabelen van de klasse geinitialiseerd worden met de verwachte waarde (indien van toepassing).
- test04constructorsPresence: test of de ingediende klasse de verwachte constructor(en) definieert (= test geen effect!) (indien van toepassing).
- test05constructor: test of de constructor het gewenste effect heeft (indien van toepassing).
- test06methodsPresent: test of de verwachte methodes aanwezig zijn in de ingediende klasse en of de methode definities overeenkomen met de verwachte definities (= test geen effect!).
- test07accessorsMutators: test of de ingediende klasse de al dan niet verwachte accessor- en mutatormethodes definieert en of deze het verwachte effect hebben.
- test08berekenBigMacIndex: test de berekenBigMacIndex-methode. Indien de test succesvol is, scoor je de maximale punten voor deze methode.
- test09berekenBigMacIndex_return: test de berekenBigMacIndex-methode. Er worden ook oplossingen aanvaard die de ongevraagd de instantievariabele
index
retourneren.
- test10berekenBigMacIndex_switchedParams: test de berekenBigMacIndex-methode. Er worden ook oplossingen aanvaard die de berekening als volgt doen [prijs van een Big Mac in het land waarmee je wenst te vergelijken]/[waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen] in plaats van [waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen]/[prijs van een Big Mac in het land waarmee je wenst te vergelijken].
- test11berekenBigMacIndex_return_switchedParams: test de berekenBigMacIndex-methode. Er worden ook oplossingen aanvaard die de ongevraagd de instantievariabele
index
retourneren en die de berekening als volgt doen [prijs van een Big Mac in het land waarmee je wenst te vergelijken]/[waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen] in plaats van [waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen]/[prijs van een Big Mac in het land waarmee je wenst te vergelijken].
- test12berekenBigMacIndex_return_zonderSet: test de berekenBigMacIndex-methode. Er worden ook oplossingen aanvaard die het resultaat ongevraagd retourneren, maar niet opslagen als instantievariabele
index
.
- test13berekenBigMacIndex_return_zonderSet_switchedParams: test de berekenBigMacIndex-methode. Er worden ook oplossingen aanvaard die het resultaat ongevraagd retourneren, maar niet opslagen als instantievariabele
index
. Daarnaast is de berekening foutief als volgt gedaan [prijs van een Big Mac in het land waarmee je wenst te vergelijken]/[waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen] in plaats van [waarde van een Big Mac in het land waarvoor je de Big Mac Index wenst te berekenen]/[prijs van een Big Mac in het land waarmee je wenst te vergelijken].
Let op:
- Bij de beoordeling van het examen wordt niet enkel naar de resultaten van de tests gezien. Het is niet omdat een bepaalde test niet succesvol is, dat er automatisch punten afgetrokken worden. Bij het verbeteren wordt rekening gehouden met de resultaten van de testen, maar de beoordeling is nog altijd de code zelf (niet enkel het resultaat).
- Indien er niets over punten bij een test staat, zijn de resultaten louter indicatief. De resultaten van deze testen worden bij de beoordeling meegenomen, maar staan dus niet rechtstreeks voor een bepaald aantal punten.