Uitwerkingen van het proeftentamen
http://www.liacs.nl/home/kosters/js/proef.html
de maaknul-som:
  alleen maaknul1 en maaknul4 maken de globale variabele getal 0
de wissel-som
  alleen wissle1 wisselt echt de waardes van de globale variabelen a en b om
function kwadraten (n) {
  var i;  // tellertje
  for ( i = 1; i <= n; i++ ) {
    window.document.write(i + " : " + i * i + " ; ");
    if ( i % 5 == 0 )
      window.document.write("
\n");
  }  // for
}  // kwadraten
function vraag ( ) {
  var getal = 1;   // ingelezen getal
  var aantal = 0;  // aantal ingevoerde getallen
  var som = 0;     // en hun som
  while ( getal >= 0 ) {
    getal = prompt ("Uw getal ...", "");
    getal = parseInt (getal);
    if ( ! NaN (getal) && getal >= 0 ) {
      som += getal;
      aantal++;
    }  // if
  }  // while
  if ( aantal > 0 )
    window.document.write(aantal + " getallen, met gemiddelde " 
                          + som / aantal);
}  // vraag
function menu ( ) {
  var keuze = "X";  // keuze van gebruiker
  var detijd;       // voor de datum etcetera
  var maandnummer;  // nummer van de huidige maand
  while ( keuze != 'S' ) {
    keuze = prompt ("[S]toppen [A]lert-box [B]bb", "");
    if ( keuze == "A" ) {
      detijd = new Date ( );
      maandnummer = detijd.getMonth ( );
      maandnummer++;  // anders is januari 0
      alert ("Maand " + maandnummer);
    }  // if
    else if ( keuze == "B" )
      alert ("Bbb");
  }  // while
}  // menu
function eenna (A,n) {
  var eenna;  // array-index van op een na grootste getal uit A
  var gr;     // idem, grootste
  var i;      // tellertje
  if ( A[0] > A[1] ) {
    gr = 0;
    eenna = 1;
  }  // if
  else {
    gr = 1;
    eenna = 0;
  }  //else
  for ( i = 2; i < n; i++ ) {
    if ( A[i] > A[gr] ) {
      eenna = gr;
      gr = i;
    }  // if
    else if ( A[i] > A[eenna] )
      eenna = i;
  }  // for
  return A[eenna];
}  // eenna
function linzoek (A,n,X) {
  var i = 0;             // om langs array te lopen: i is de array-index
  var positie = -1;      // waar staat X?
  var gevonden = false;  // hebben we succes?
  while ( i < n && ! gevonden ) {
    if ( A[i] == X ) {
      gevonden = true;
      positie = i;
    }  // if
    else
      i++;
  }  // while
  return positie;
}  // linzoek
OF korter, gebruik makend van de wetenschap dat X zeker voorkomt:
function linzoek (A,n,X) {
  var i = 0;  // om langs array te lopen: i is de array-index
  while ( i < n ) {
    if ( A[i] == X ) 
      return i;    
    else
      i++;
  }  // while
}  // linzoek
function bubblesort (A) {
  var i;     // turft de rondes
  var j;     // om langs array te lopen
  var temp;  // hulpvariabele voor verwisselen
  for ( i = 1; i < A.length; i++ )
    for ( j = 0; j < A.length - i; j++ )
      if ( A[j] > A[j+1] ) {
        temp = A[j];
        A[j] = A[j+1];
        A[j+1] = temp;
      }  // if
}  // bubblesort
function sorteer (A,n) {
  // voorbeeld:  0 1 2 3 4 5 6 7 8 
  //             1 2 7 4 5 6 3 8 9  ( 3 en 7 verwisseld)
  //  i wordt nu 2, en j wordt 5; wissel getallen op plekken 2 en 6
  var i = 0;  // zoek eerste plek
  var j;      // zoek tweede plek
  var temp;   // voor verwisselen
  while ( A[i] < A[i+1] )
    i++;
  j = i+1;
  while ( A[j] < A[j+1] )
    j++;
  temp = A[i];
  A[i] = A[j+1];
  A[j+1] = temp;
}  // sorteer
function maak (A,m,n) {
  var i;  // voor rijen
  var j;  // voor kolommen
  A = new Array (m);
  for ( i = 0; i < m; i++ ) {
    A[i] = new Array (n);
    for ( j = 0; j < n; j++ )
      if ( i > j )
        A[i][j] = i;
      else
        A[i][j] = j;
  }  // for
}  // maak
function som (A,m,n) {
  var i;  // voor rijen
  var j;  // voor kolommen
  var totaalsom = 0;  // voor de som
  for ( i = 0; i < m; i++ )
    for ( j = 0; j < n; j++ )
      totaalsom += A[i][j];
  return totaalsom;
}  // som
function rijgem (A,i,m,n) {
  var j;  // voor kolommen
  var rijsom = 0;  // voor de som
  for ( j = 0; j < n; j++ )
    rijsom += A[i][j];
  return rijsom / n;
}  // rijgem
var index = 0;  // welk plaatje?
var detimer;    // hoe heet de wekker?
function roteer ( ) {
  if ( index == 0 )
    window.document.hetplaatje.src = "a.jpg";
  else if ( index == 1 ) 
    window.document.hetplaatje.src = "b.jpg";
  else
    window.document.hetplaatje.src = "c.jpg";
  index++;
  if ( index >= 3 )
    index = 0;
  detimer = setTimeout ("roteer ( );", 5000);
}  // roteer
roteer ( );
in HTML:  function willekeur (n) {
  return ( 1 + Math.floor ( Math.random ( ) * n ) );
  // 0 <= Math.random ( ) * n < n, dus afronden naar beneden
  // geeft geheel getal met 0 <= getal <= n-1
}  // willekeur
function controle (A,m,n) {
  var i;  // voor rijen
  var j;  // voor kolommen
  var q;  // tussenstation
  for ( i = 0; i < m; i++ )
    for ( j =i+1; j < m; j++ )
      for ( q = 0; q < m; p++ )
        if ( q != i && q != j && A[i][q] + A[q][j] < A[i][j] )
	  return false;
  return true;
}  // controle
function willekeur (n) {
  return ( 1 + Math.floor ( Math.random ( ) * n ) );
  // 0 <= Math.random ( ) * n < n, dus afronden naar beneden
  // geeft geheel getal met 0 <= getal <= n-1
}  // willekeur
function controle (A,m,n) {
  var i;  // voor rijen
  var j;  // voor kolommen
  var q;  // tussenstation
  for ( i = 0; i < m; i++ )
    for ( j =i+1; j < m; j++ )
      for ( q = 0; q < m; p++ )
        if ( q != i && q != j && A[i][q] + A[q][j] < A[i][j] )
	  return false;
  return true;
}  // controle