Proeftentamen Programmeren 1 - Java - Mediatechnologie

Onderstaande opgaven geven een indruk van het tentamen Programmeren 1 - Java. Er is een uitwerking beschikbaar. Op het tentamen worden er niet zoveel opgaven tegelijk gevraagd!
  1. Waar staat het 42ste array-elemenet van het array serie?
  2. Wat is het verschil tussen Java en JavaScript?
  3. En wat is het verschil tussen een applet en een applicatie met main er in?
  4. Hoe is de globale structuur van een applet? Gebruik in de uitleg init, paint en de functies die op events reageren.
  5. Leg uit waarom het verstandig/nodig is de functie parseInt te gebruiken. Geef een voorbeeld. En hoe zit het met +: telt dat altijd op?
  6. Leg uit wat de vier alert's in het volgende korte Java-programma opleveren. Leg tevens uit hoe de variabelen worden doorgegeven in de drie gevallen.
       int getal = 100;
       public void alert (int x) {
          System.out.println (x); }
       public void maaknul1 ( ) { getal = 0; }
       public void maaknul2 (int getal) { getal = 0; }
       public void maaknul3 (int variabele) { variabele = 0; }
       public void maaknul4 (int variabele) { getal = 0; }
       ...
       getal = 42; maaknul1 ( ); alert (getal);
       getal = 42; maaknul2 (getal); alert (getal);
       getal = 42; maaknul3 (getal); alert (getal);
       getal = 42; maaknul4 (getal); alert (getal);
  7. Welke van de volgende Java-functies verwisselen de waardes van de "globale" variabelen a en b en welke niet, en waarom? Leg tevens uit hoe de variabelen worden doorgegeven in de verschillende gevallen.
       public void wissel1 ( ) { int temp = a; a = b; b = temp; }
       public void wissel2 ( ) { a = b; b = a; }
       public void wissel3 (int a, int b) { int temp = a; a = b; b = temp; }
       public void wissel4 (int a, int b) { a = b; b = a; }
  8. Wat is het verschil tussen int en void functies?
  9. Schrijf een Java-functie die met behulp van een for-loop de getallen 1 tot en met n (n is een aan de functie mee te geven parameter) afdrukt (met behulp van System.out.println), samen met hun kwadraten. Na elke 5 getallen en hun kwadraat moeten 50 sterretjes worden afgedrukt.
  10. Idem, maar nu in een aan de functie mee te geven Graphics g. De sterretjes hoeven er niet bij. Naast elkaar moeten steeds 5 getallen en hun kwadraat staan.
  11. Stel we willen een functie schrijven die graden Fahrenheit en Celsius in elkaar omzet, een van de twee kanten op (zulks naar keuze van de gebruiker). Schrijf een bijpassende functie-heading. Liefhebbers mogen ook de body schrijven.
  12. Schrijf een Java-functie die een getal x in factoren ontbindt en deze afdrukt: bij 120 moet het programma opleveren: 2 maal 2 maal 2 maal 3 maal 5. Voor liefhebbers: één woordje "maal" minder dan er factoren zijn.
  13. Maak een pyramide van sterretjes van een opgegeven hoogte. Bijvoorbeeld, voor hoogte 4 (let op de spaties):
           *
          ***
         *****
        *******
  14. Schrijf een Java-functie public int eenna (int[ ] A) die het op een na grootste getal uit het array A opzoekt en retourneert.
  15. Schrijf een Java-functie public void andersom (double[ ] A) die het array A "in zichzelf" omkeert: 2 7 3 8 1 moet worden 1 8 3 7 2.
  16. Schrijf een Java-functie public void sorteer (int[ ] A) die het array A als volgt oplopend sorteert. Zoek herhaald het grootste getal (van "de rest") en wissel dit met het "achterste" getal.
  17. Hoe zit dat: kan een functie een int-parameter i wel of niet veranderen, en is dat anders voor arrays die als parameter worden doorgegeven?
  18. Schrijf een Java-functie public void vul (int[ ][ ] A) die een 20 bij 50 array A als volgt vult. In A[i][j] moet de grootste van de getallen i en j worden opgeborgen, dus bijvoorbeeld A[2][5] moet 5 worden. En hoe maak je zo'n array?
  19. Schrijf een Java-functie public int som (int[ ][ ] A) die de som van de getallen uit het 2-dimensionale array A uitrekent en retourneert.
  20. Schrijf een Java-functie public int rijgem (int[ ][ ] A, int i) die het gemiddelde van de getallen uit de i-de rij van het 2-dimensionale array A uitrekent en retourneert.
  21. Schrijf een Java-functie public bool even (int[ ][ ] A) die precies dan true oplevert als alle array-elementen van A even zijn, en anders false.
  22. Schrijf een Java-functie public int willekeur (int m, int n) die een willekeurig (random) geheel getal tussen m en n, grenzen inbegrepen, oplevert. Gebruik Math.random. Leg uit hoe het afronden werkt.


Op maandag 4 november 2002, van 10.00 tot 13.00 uur, is het schriftelijk tentamen. Het eindcijfer wordt bepaald door dit schriftelijk examen, eventueel afgerond in de richting van het resultaat van het programmeerwerk. Zowel schriftelijk tentamen als programmeerwerk moeten uiteindelijk voldoende beoordeeld zijn. Het hertentamen is op dinsdag 17 december 2002, van 10.00 tot 13.00 uur.
Het tentamen is een "gesloten-boek"-tentamen: alleen een pen meenemen dus.


Vragen en/of opmerkingen kunnen worden gestuurd naar: kosters@liacs.nl.

28 oktober 2002 - http://www.liacs.nl/home/kosters/java/proef.html