Terug naar de inhoudsopgave

Les 6 – Functies

Oefeningen

Schrijf eerst een unit test en daarna pas de functie. Schrijf je functie zo, dat de unit test slaagt, maar loop niet op de zaken vooruit. Pas als alle unit tests geschreven zijn, hoeft de functie af te zijn.

Middelen

1. Schrijf een functie die twee getallen als parameters meekrijgt en het gemiddelde van die twee getallen als return value teruggeeft. Gebruik hiervoor gebroken getallen. Schrijf unit tests voor de volgende situaties:

Test tenslotte een specifiek geval.

Dag

Deze opdracht bestaat uit drie stappen. Samen leveren deze stappen n programma op dat je als geheel in moet leveren.

2. Schrijf een functie die als parameter meekrijgt hoeveel dagen er verstreken zijn sinds maandag 1 januari 1900 en als return value de naam geeft van de opgegeven dag (maandag, dinsdag, woendag enz.). Schrijf unit tests voor de volgende situaties:

Test tenslotte een specifiek geval; bijvoorbeeld, na 999 dagen is het een zaterdag.

3. Schrijf een functie die als parameters de dag, de maand en het jaar meekrijgt en als return value het aantal dagen geeft dat is verstreken sinds 1 januari 1900. Je hoeft geen rekening te houden met data vr 1 januari 1900 of met niet bestaande data. Voorbeeld: als de invoer 30, 1, 1900 is, dan is het antwoord 29.

Houd rekening met schrikkeljaren. Voor elk schrikkeljaar moet je een extra dag optellen bij het aantal verstreken dagen. Een schrikkeljaar doet zich iedere vier jaar voor, behalve als het jaartal deelbaar is door honderd. Echter, als het jaartal deelbaar is door vierhonderd, dan is het weer wel een schrikkeljaar. Dus, 1900 is geen schrikkeljaar, maar 1904 en 2000 wel.

Schrijf unit tests voor de volgende situaties:

4. Zorg ervoor dat de gebruiker een datum in kan voeren en dat het programma teruggeeft op wat voor dag die datum valt.

(Met dank aan Stefan Holdermans.)

Bij de les