Studenten en Docenten

  1. Schrijf een klasse Persoon die een naam en leeftijd bijhoudt. De defaultconstructor vult als naam Geen naam in, en als leeftijd 0. De representatie van een persoon geeft de naam, gevolgd door een spatie, en de leeftijd tussen haakjes. Het defaultobject wordt dus weergegeven als Geen naam (0).
  2. Schrijf een klasse Docent die afgeleid is van de klasse Persoon. Een docent heeft sowieso een naam en leeftijd, en eventueel ook een domein waarin hij gespecialiseerd is. Dit wordt dan als derde parameter meegegeven in de constructor. In de representatie van een docent wordt het domein tussen vierkante haakjes toegevoegd, bijvoorbeeld Nel Nelissen (35) [Wiskunde en statistiek].
  3. Schrijf een klasse Student die afgeleid is van de klasse Persoon. Deze klasse bewaart een map met naam vakken. De keys zijn Wiskunde, Informatica en Sterkteleer; de bijhorende values zijn 0, 1 en 2. Elke student heeft naast naam en leeftijd een array van punten (voor Wiskunde, Informatica en Sterkteleer respectievelijk). Deze worden bij constructie meegegeven, en in de representatie voorgesteld tussen vierkante haakjes (getallen gescheiden door een komma).
    Schrijf een methode isGeslaagdVoor die meedeelt of een student geslaagd is voor een gegeven vak (dit wil zeggen: 10 of meer behaald heeft). Indien het vak niet gevonden wordt, is het antwoord false.
    Schrijf een methode geefProcent. Elk vak is gequoteerd op 20, en telt voor evenveel mee. Zorg ervoor dat het resultaat nog steeds juist is, indien de klassevariabele vakken meer dan 3 elementen zou bevatten.
  4. Schrijf een klasse Klas die geïnitialiseerd wordt aan de hand van een bestand, zoals bijvoorbeeld studentenEnDocenten.csv1. Elke klas heeft een lijst van personen: studenten en docenten door elkaar.
    Schrijf een methode aantalGeslaagdenVoor die het aantal geslaagden teruggeeft voor een bepaald vak.
    Schrijf een methode geefBesteStudent die de beste student teruggeeft, nl. die met het hoogste percentage.
    Schrijf een methode aantalDocenten die het aantal docenten teruggeeft.
    Schrijf een methode kiesPersoon die een willekeurige persoon teruggeeft.
    Schrijf een methode kiesDocent die een willekeurige docent teruggeeft.