Faculteit Wiskunde en Informatica Toets Inleiding Programmeren Vrije Universiteit 12 december 1997 tijdsduur : 1:30 uur ------------------------------------------------------------------------------- UITWERKINGEN ============ Opgave 1. a) 0 3 3 6 9 12 3 15 9 36 27 63 9 99 2 3 b) Z c) Na de declaratie is er een reference (die naar een Student-object kan gaan wijzen) aangemaakt. De woorden pointer of verwijzing worden ook goed gerekend. x = new Student(); Student (String naam, int leeftijd) { this.naam = naam; this.leeftijd = leeftijd; } Opgave 2. a) static final int RIJ_LENGTE = 100; int rij[] = new int[RIJ_LENGTE]; b) Er zijn twee mogelijkheden: int[] leesIntArray() { int resultaat[] = new int[RIJ_LENGTE], i; for (i=0; i0) { resultaat += 1; } } return resultaat; } Opgave 3. a) Buiten de recursiestap moet iedere recursieve methode een stopconditie bevatten om correct te kunnen werken. De aanname dat de recursiestap werkt is juist als de recursieve methode een stopconditie bevat. Deze stopconditie maakt dat de recursieve methode in het eenvoudigste geval (b.v. n=0) werkt. De aanname in het iets complexere geval (n=1) dat de recursiestap (n=0) al werkt is daardoor juist, waardoor het iets complexere geval ook werkt. Deze redenering kan vervolgens worden herhaald voor het volgende iets complexere geval, enz. enz. b) int pascal (int i, int j) { if (i==1 || i==j) { return 1; } return pascal(i-1, j-1) + pascal(i-1, j); }