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