Een lijst van (reële) getallen heet unimodulair als het eerste gedeelte van die lijst een stijgende rij vormt, en het tweede gedeelte een dalende rij. De volgende rijen zijn bijvoorbeeld unimodulair:
-3.0 -1.0 0.5 1.5 1.3 1.1 0.2 -0.7
1.0 1.1 1.2 1.1 1.0
0.5 1.0 2.0 4.0 8.0.16.0 32.0 64.0
De volgende rij is niet unimodulair:
1.0 1.5 1.2 1.7 0.3
Een volledig stijgende of dalende rij noemen we ook unimodulair. Een lege lijst is ook unimodulair.
Maak een klasse Unimodulair met daarin de volgende methoden:
Een methode randomLijst()
die een lijst van willekeurige getallen
retourneert, met een willekeurige lengte (max 10). Elk getal bevindt zich in
het domein \([-5.0, 5.0[\).
Een methode randomUnimodulaireLijst()
die een unimodulaire lijst van
willekeurige getallen teruggeeft (retourneert). Zorg dat ook de
‘randgevallen’ kunnen voorkomen (enkel stijgend, enkel dalend, 0
elementen, 1 element). Je lijst heeft een willekeurige lengte (max
10), maar er is geen beperking op de grootte van de getallen.
Een methode isUnimodulair(List<Double> lijst)
die kijkt of een lijst
unimodulair is (en afhankelijk daarvan true of false teruggeeft).
Gebruik de random-methoden om je methode isUnimodulair
uitvoerig te testen.
De geautomatiseerde testen gaan enkel na of isUnimodulair
werkt en of de
andere methoden aan het domein voldoen. Of jouw random-methoden echt
willekeurig zijn controleer je zelf.