Programmeren 1 - Java - 2002
Tweede programmeeropgave - Menu

De tweede programmeeropgave van het vak Programmeren 1 - Java in het najaar van 2002 heet Menu.
NB De eerder aangekondigde derde programmeeropgave komt te vervallen.

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.
Inspiratie voor deze opgave: Bell/Parr hoofdstukken 6, 7, 8, 13, 14.

Het is de bedoeling een menu-programma (applet) te schrijven dat aan de gebruiker een aantal kleinere "opties" biedt. Hieronder staan de eerste, er worden er (wellicht) nog enkele aan toegevoegd. Tijdens de werkcolleges kan aan de opties gewerkt worden.
Reserveer bijvoorbeeld het bovenste gedeelte van de applet voor de menuknoppen, schuifbalken en dergelijke, en het onderste gedeelte voor de uitvoer van de verschillende onderdelen.

De opties zijn:

  1. Roulette
    Als op een speciale drukknop wordt gedrukt, wordt een willekeurig getal tussen 0 en 36 getoond. Als de gebruiker van te voren dit getal had geraden (in een tekstveld bijvoorbeeld), krijgt hij/zij een geeigende boodschap.
  2. Fibonacci
    Met behulp van een schuifbalk kan een waarde tussen 1 en 30 worden gekozen, zeg i. Vervolgens wordt het i-de Fibonaccigetal getoond. Fibonaccigetallen zijn: 1, 1, 2, 3, 5, 8, 13, 21, ... (elk getal is de som van de twee vorige). Het 7-de Fibonaccigetal is zo te zien 13. Gebruik een for-loop.
  3. Vermenigvuldigingstafel
    Met behulp van een schuifbalk kan een waarde tussen 1 en 12 worden gekozen, zeg i. Vervolgens worden de "vermenigvuldigingstafels" tot en met i getoond. Een voorbeeld met i gelijk aan 4:
        1
        2 4
        3 6 9
        4 8 12 16
    Gebruik een dubbele for-loop (en GEEN arrays).
  4. Gemiddelde
    Met behulp van een tekstveld kunnen één voor één getallen worden ingevoerd. Steeds worden het grootste, kleinste en gemiddelde tot dan toe getoond. Gebruik GEEN arrays.
    Liefhebbers: gebruik "exceptions" om foute invoer af te handelen (Hoofdstuk 16, p. 303 tot en met 308).
  5. Sorteren
    Maak een array met een n-tal getallen (bijvoorbeeld 20 stuks). Vul dit array random. Sorteer het array aflopend. Presenteer zowel originele als gesorteerde array.
  6. 2D-array
    Maak een 2-dimensionaal array met een m-bij-n-tal (bijvoorbeeld 5-bij-8) getallen. Vul dit array random. De gebruiker kan vragen wat het grootste en wat het kleinste getal uit het array is.

Denk aan het gebruik van lege regels, commentaar, enzovoorts. Gebruik (veel) geschikte functies. 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. Ruwe indicatie voor de lengte van het Java-programma: 300 regels.

Uiterste inleverdatum: maandag 28 oktober 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 1; commentaar 2; graphics 1; functies 2; werking 4. Eventuele aanvullingen en verbeteringen: lees deze WWW-bladzijde.


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

9 oktober 2002 - http://www.liacs.nl/home/kosters/java/op2.html