Faculteit der Exacte Wetenschappen Toets Inleiding Programmeren Vrije Universiteit 11 december 1998 tijdsduur : 1:30 uur ------------------------------------------------------------------------------- UITWERKINGEN Opgave 1. a) Globale variabelen zijn in een class gedeclareerd. Lokale variabelen zijn in een methode gedeclareerd. Actuele parameters zijn de parameters bij de aanroep. Formele parameters zijn de parameters bij de declaratie. b) Niet het object maar de referentie naar het object wordt in de formele parameter 'x' van de methode 'maakLeeg()' gekopieerd. De verandering via de referentie 'x' wordt uitgevoerd op het originele object. Er wordt daardoor '0' afgedrukt. c) De rij waarden moet gesorteerd zijn. linear search Opgave 2. a) static final int AANTAL_GETALLEN = 100; int[][] rij = new int[AANTAL_GETALLEN]; b) int maximum (int[] rij) { int resultaat = rij[0]; for (int i = 1; i < rij.length; i++) { if (rij[i] > resultaat) { resultaat = rij[i]; } } return resultaat; } c) class Bord { static final int AANTAL_RIJEN = 10; static final int AANTAL_KOLOMMEN = 15; Veld[] bordMatrix; Bord () { bordMatrix = new Veld[AANTAL_RIJEN][AANTAL_KOLOMMEN]; for (int i=0; i< AANTAL_RIJEN; i++) { for (int j=0; j < AANTAL_KOLOMMEN; j++) { bordMatrix[i][j] = new Veld(); } } } } d) private boolean volledigBezetteKolom (int j) { for (int i = 0; i < AANTAL_RIJEN; i++) { if (bordMatrix[i][j].isLeeg()) { return false; } } return true; } int aantalVolledigBezetteKolommen () { int resultaat = 0; for (int j=0; j < AANTAL_KOLOMMEN; j++) { if (volledigBezetteKolom(j)) { resultaat += 1; } } return resultaat; } Opgave 3. a) int d (int i) { if (i == 0) { return 0; } return d(i-1) + i; } b) int stirling (int k, int r) { if (k == r) { return 1; } if (k == 0 || r == 0) { return 0; } return r * stirling(k-1, r) + stirling(k-1, r-1); }