Een klasse voor rationale getallen.
Een rationaal getal is een getal dat kan worden geschreven als een breuk t/n, met t de teller en n de noemer, welke natuurlijk niet 0 mag zijn. De teller zowel als de noemer zijn gehele getallen. De breuk 1/2 is b.v. een rationaal getal, maar 3/6 en -15/-30 zijn even grote rationale getallen. De laatste twee zijn tot de eerste te herleiden door zowel de teller als de noemer te delen door hun ggd (grootste gemeenschappelijke deler, 3 resp. 15).
Gegeven het UML klassendiagram van de klasse Rationaal
waarmee een rationaal getal kan worden gerepresenteerd. Een Rationaal-object heeft twee int
attributen, teller en noemer.
De klasse heeft één constructor met twee parameters t
en n. Kies zelf geschikte default-waarden voor de parameters.

Bij het maken van een Rationaal-object wordt er altijd voor gezorgd dat de waarden van de attributen teller en noemer zo klein mogelijk worden en dat de waarde van noemer altijd positief is. Gebruik daarvoor een methode reduceer(), waarin het algoritme van Euclides wordt gebruikt. Zie boek blz 144 (opgave 4.7) of gebruik Google om dit algoritme te vinde, b.v. Wikkipedia: Euclidean algorithm.