Programmeermethoden 1999
Eerste programmeeropgave - Kalender

De eerste programmeeropgave van het vak Programmeermethoden in het najaar van 1999 heet Kalender; zie ook het eerste en tweede werkcollege.
Spreekuur in zalen 301 en 302/304: Elk programma moet aan het begin op het beeldscherm laten zien wie de makers zijn, wat hun jaar van aankomst is, welke opgave het is, wat de gebruiker te wachten en te doen staat, de datum waarop het programma gemaakt is, enzovoorts. Dit noemen we het "infoblokje". Probeer dit er een beetje aardig uit te laten zien: maak er een kader omheen of iets dergelijks.

Om het millennium-probleem op te lossen schrijven we een C++-programma dat bij gegeven datum tussen 1 januari 1900 en 31 december 2100 de bijbehorende dag uitrekent. Zo valt 14 december 2000 op een donderdag. Allereerst moet de gebruiker het jaar invoeren, en daarna de maand: de eerste letter van de maand, en zonodig een tweede en zelfs een derde (juni/juli). Vervolgens voert hij/zij de dag in: een getal tussen 1 en 31. Het programma drukt op het beeldscherm de betreffende dag van de week (zondag/maandag/.../zaterdag) af. Als de gebruiker een niet bestaande maand invoert, bijvoorbeeld x, stopt het programma met de mededeling dat dit niet kan. Evenzo voor een niet bestaande dag, bijvoorbeeld 31 april of 42 december. We nemen aan dat de gebruiker zo vriendelijk is verder geen fouten te maken bij het invoeren van gegevens. Hij/zij voert cijfers of letters in als het moet, etcetera. Vanzelfsprekend worden hem/haar wel duidelijke vragen gepresenteerd.

Denk aan het gebruik van lege regels, commentaar, constanten, enzovoorts. Bovenaan het programma dient ook commentaar over het programma te staan, speciaal bestemd voor andere programmeurs, bijvoorbeeld welke compiler gebruikt is: gebruikers van het programma vinden dat niet interessant. Het infoblokje moet tijdens het "runnen" van het programma op het scherm komen, en is bestemd voor gebruikers van het programma. Er hoeft geen gebruik van functies, arrays en het while-statement gemaakt te worden. Alleen de headerfile iostream.h mag gebruikt worden. Ruwe indicatie voor de lengte van het C++-programma: ruim 100 regels.

Uiterste inleverdatum: voor voltijdstudenten: vrijdag 24 september 1999, 17.00 uur; voor deeltijdstudenten: dinsdag 28 september 1999. In te leveren: schijfje met het programma (of het programma per email aan de nakijker (dagstudenten: hoen@liacs.nl; avondstudenten: kosters@liacs.nl) sturen) en listing op papier; beide in de bak in de metalen boekenkast achterin de gang bij de Indyzaal. Overal duidelijk de datum en de namen van de makers vermelden. Te gebruiken compiler: als het maar C++ is. Normering: (consequente) layout 2; commentaar 2; infoblokje 2; werking 4. Eventuele aanvullingen en verbeteringen: lees deze WWW-bladzijde.


Vragen en/of opmerkingen kunnen worden gestuurd naar: kosters@liacs.nl.

7 september 1999 - http://www.liacs.nl/home/kosters/pm/op1pm99.html