Proeftentamen Programmeren in JavaScript - Mediatechnologie
Onderstaande opgaven geven een indruk van het tentamen. Op het tentamen
worden er niet zoveel tegelijk gevraagd!
-
Wat is het verschil tussen Java en JavaScript?
-
Stel dat je twee gehele getallen (x en y)
wilt optellen. Leg uit waarom het verstandig is in bepaalde
situatie de functie parseInt hierbij te gebruiken.
Geef een voorbeeld.
-
Leg uit hoe je een plaatje op een bepaalde plek kan zetten.
Waarom bestond deze mogelijkheid niet in eerdere browsers?
-
Stel je hebt een aantal frames, waaronder zoon
en dochter.
Stel dat je zegt
parent.dochter.parent.zoon.location = "anders.html";.
Wat gebeurt er, en in welk frame mag deze regel staan?
-
Leg uit waarom vaak een timer gecleard wordt (met
clearTimeout (naamtimer), waarbij
naamtimer het nummer van de betreffende timer is)
voordat de bij de timer behorende functie
(typisch iets als update ( )) weer gedaan wordt.
Geef een klein voorbeeld.
-
Leg uit hoe de meeste JavaScript-programma's gebruik maken van
twee soorten commentaar om problemen met oudere browsers,
die geen JavaScript ondersteunen, te voorkomen.
-
Leg uit wat de drie alert's in het volgende korte JavaScript programma
opleveren. Leg tevens uit hoe de variabelen worden doorgegeven
in de drie gevallen.
var getal = 100;
function maaknul1 ( ) { getal = 0; }
function maaknul2 (getal) { getal = 0; }
function maaknul3 (variabele) { variabele = 0; }
function maaknul4 (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);
-
Welke van de volgende JavaScript-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.
function wissel1 ( ) { var temp = a; a = b; b = temp; }
function wissel2 ( ) { a = b; b = a; }
function wissel3 (a,b) { var temp = a; a = b; b = temp; }
function wissel4 (a,b) { a = b; b = a; }
-
Schrijf een JavaScript-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 in het document,
samen met hun kwadraten.
Per regel moeten 5 getallen en hun kwadraat worden afgedrukt,
daarna moet een <br> worden uitgevoerd.
-
Schrijf een JavaScript-functie die aan de gebruiker een rij getallen
vraagt (ieder getal wordt via een prompt-box ingevoerd), af te sluiten met
een negatief getal. Vervolgens worden in een alert-box afgebrukt:
het aantal ingevoerde getallen (exclusief het negatieve getal) en
hun gemiddelde.
-
Schrijf een JavaScript-functie menu ( ) die het volgende
doet. Aan de gebruiker wordt een menu met drie keuzes
gepresenteerd, S, A en B.
Bij S stopt de functie, bij A komt een alert-box met het nummer van de
huidige maand (een 1 voor januari),
en bij B een alert-box met de tekst Bbb.
Bij de keuzes A en B wordt daarna weer het menu gepresenteerd.
-
Schrijf een JavaScript-functie eenna (A,n)
die het op een na grootste getal van de eerste n
(minstens 2) getallen uit het
array A opzoekt en retourneert.
-
Schrijf een JavaScript-functie linzoek (A,n,X)
die het de array-index van het getal X in het
array A (met n getallen) opzoekt en retourneert.
Neem aan dat X voorkomt.
-
Schrijf een JavaScript-functie bubblesort (A)
die het array A met
behulp van bubblesort oplopend sorteert.
-
Schrijf een JavaScript-functie sorteer (A,n)
die een array A met n verschillende
getallen oplopend sorteert,
waarbij gebruik gemaakt wordt van het (toevallige) feit
dat A gesorteerd was en er precies twee
(willekeurige, niet naast elkaar zich bevindende) getallen verwisseld zijn.
Hint: je hoeft maar één keer door het array heen te lopen.
-
Schrijf een JavaScript-functie maak (A,m,n)
die een m bij n
array A aanmaakt (met new etcetera).
In A[i][j] moet de
grootste van de getallen i en j worden opgeborgen,
dus bijvoorbeeld A[2][5] moet 5 worden.
-
Schrijf een JavaScript-functie som (A,m,n)
die de som van de getallen uit het m bij n
array A uitrekent en retourneert.
-
Schrijf een JavaScript-functie rijgem (A,i,m,n)
die het gemiddelde van de getallen uit de i-de rij van
het m bij n
array A uitrekent en retourneert.
-
Schrijf een JavaScript-functie roteer ( )
die drie even grote
plaatjes (a.jpg, b.jpg en c.jpg)
afwisselend laat zien, elk 5 seconden.
-
Schrijf een JavaScript-functie willekeur (n)
die een willekeurig (random) geheel getal tussen 1
en n, grenzen inbegrepen, oplevert. Gebruik
Math.floor (rond naar beneden af)
en Math.random (geeft random getal groter dan
of gelijk aan 0,
en kleiner dan 1). Leg uit waarom
het alleen werkt met naar beneden afronden, en niet met naar boven afronden.
- lastig
Stel dat in het m bij m
array A een afstandentabel is opgeslagen, dus
A[i][j] stelt de afstand tussen plaats i
en plaats j voor. Schrijf een JavaScript-functie
die controleert of het altijd zo is dat de afstand tussen twee plaatsen
(zeg p en r) hoogstens gelijk is aan een "omweg":
van p naar een of andere q, en dan naar r.
Op vrijdag 2 november 2001, van 9.30 tot 12.30 uur,
is het schriftelijk tentamen.
Het eindcijfer wordt bepaald door dit schriftelijk examen,
afgerond in de richting van het resultaat van het programmeerwerk.
Zowel schriftelijk tentamen als programmeerwerk moeten uiteindelijk
voldoende beoordeeld zijn.
Het hertentamen is op vrijdag 11 januari 2002, van 9.30 tot 12.30 uur.
Het tentamen is een "gesloten-boek"-tentamen:
alleen een pen meenemen dus.
Vragen en/of opmerkingen kunnen worden gestuurd
naar: kosters@liacs.nl.
22 oktober 2001 - http://www.liacs.nl/home/kosters/js/proef.html