Programmeren 1 - Java - 2002
Eerste programmeeropgave - Kalender

De eerste programmeeropgave van het vak Programmeren 1 - Java in het najaar van 2002 heet Kalender.
Elk programma moet 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.

Er moet een Java-programma geschreven worden dat bij gegeven datum tussen 1 januari 1900 en 31 december 2100 de bijbehorende dag uitrekent. Zo valt 9 september 2002 op een maandag.
Probeer eerst te bedenken hoe je zelf met pen en papier dit op zou lossen.

Er moeten twee "versies" gemaakt worden.

De eerste versie is als volgt. Deze versie draait in een DOS-achtig scherm, zonder grafisch spektakel. De gebruiker roept het programma aan met als parameters de datum, bijvoorbeeld java prog 9 9 2002 (als prog het door javac gecompileerde Java-programma is). Het programma geeft dan de gevraagde output. Als de gebruiker een niet bestaande maand invoert, bijvoorbeeld 0, of een jaartal als 4242, geeft het programma de mededeling dat dit niet kan. Evenzo voor een niet bestaande dag, bijvoorbeeld 31 april of 42 december.
Naast de betreffende dag worden ook afgedrukt: de hoeveelste dag in het jaar het is (voor 9 september 2002: de 252-ste) en eventueel (voor de liefhebbers) de hoeveelste week (de 37-ste).

In de tweede versie moet de gebruiker jaar, maand en dagnummer invoeren in een grafisch scherm. Dag en maand worden met behulp van scrollbars (schuifbalken) ingevoerd, het jaar met een tekstveld. Het eigenlijke rekenwerk is in zekere zin precies hetzelfde als bij de eerste versie. Inspiratie: Bell/Parr hoofdstukken 3, 6 en 7.

Denk aan het gebruik van lege regels, commentaar, 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 het while-statement gemaakt te worden. Ruwe indicatie voor de lengte van het Java-programma: ruim 100 regels, zowel voor eerste als tweede versie.

Uiterste inleverdatum: vrijdag 27 september 2002, 17.00 uur. Hoe in te leveren? Stuur het programma per email aan grosenga@liacs.nl, haring@liacs.nl en kosters@liacs.nl . Overal datum en namen van de makers vermelden.
Normering: (consequente) layout 2; commentaar 2; graphics 2; werking 4. Eventuele aanvullingen en verbeteringen: lees deze WWW-bladzijde.


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

29 augustus 2002 - http://www.liacs.nl/home/kosters/java/op1.html