Faculteit der Exacte Wetenschappen Tentamen Inleiding Programmeren Vrije Universiteit 21 augustus 2002 ------------------------------------------------------------------------------- Opgave 1. a) 3 6 3 5 10 10 10 10 b) int aantalKwadraatDelers (int getal) { // getal > 0 int resultaat = 0, grondtal = 1, kwadraat = grondtal * grondtal; while (kwadraat <= getal) { if (getal % kwadraat == 0) { resultaat += 2; } grondtal += 1; kwadraat = grondtal * grondtal; } return resultaat; } c) int[] rijmaxima (int[][] m) { int[] resultaat = new int[m.length]; int maximum; for (int i = 0; i < m.length; i++) { maximum = m[i][0]; for (int j = 1; j < m[0].length; j++) { if (m[i][j] > maximum) { maximum = m[i][j]; } } resultaat[i] = maximum; } return resultaat; } d) 3 4 2 3 2 9 2 11 5 13 Opgave 2 a) class Huis { double grondoppervlak; int waarde; String gemeentenaam, Huis (double grondoppervlak, String gemeentenaam) { this.grondoppervlak = grondoppervlak; this.gemeentenaam = gemeentenaam; } void putWaarde (int huiswaarde) { waarde = huiswaarde; } } b) class Makelaar { static final int MAX_AANTAL_HUIZEN = 100; Huis[] huisArray; int aantalHuizen; Makelaar () { huisArray = new Huis[MAX_AANTAL_HUIZEN]; aantalHuizen = 0; } void voegToe (Huis huis) { huisArray[aantalHuizen] = huis; aantalHuizen += 1; } } c) voeg toe aan de class Huis boolean voldoet (int max, double min, String gemeente) { return waarde <= max && grondoppervlak >= min && gemeentenaam.equals(gemeente); } voeg toe aan de class Makelaar Makelaar zoek (int maximumprijs, double minimumoppervlakte, String gemeente) { Makelaar resultaat = new Makelaar(); for (int i = 0; i < aantalHuizen; i++) { if (huisArray[i].voldoet(maximumprijs, minimumoppervlakte, gemeentenaam)) { resultaat.voegToe(huisArray[i]); } } return resultaat; } Opgave 3 a) String buitensteVooraan (String s) { if (s.length() < 2) { return s; } return "" + s.charAt(0) + s.charAt(s.length()-1) + buitensteVooraan(s.substring(1, s.length()-1)); } b) void printAantalKeer (char c, int x) { for (int i = 0; i < x; i++) { out.print(c); } } void p (int i) { // i > 0 if (i == 1) { out.print("(a)"); } out.print('('); aantalKeer('a', i); p(i-1); aantalKeer('a', i); out.print(')'); } N.B. er worden geen punten in mindering gebracht als de hulpmethode ontbreekt.