Een oplossing is:
function fac(n) { var y if ((n==0) || (n==1)) return 1 else { y=( n*fac(n-1) ); return y } } function facAltn(n) { var y,j; y=n; for (j=n-1; j>1; j--) y=y*j; return y } function faculteit(form) { var z i=document.form8.p1.value; document.form11.p.value = fac(i); } function facultAltn(form) { var z i = document.form8.p1.value; document.form11.q.value = facAltn(i); } function functie11(form) { document.form11.r.value = fac(document.form8.p1.value); } function functie12(form) { var z i = document.form8.p1.value; with (Math) document.form11.s.value = sin(i); } ... ... <FORM NAME="form11"> <INPUT TYPE="button" VALUE="faculteit" ONCLICK="faculteit(this.form)"> <INPUT TYPE="TEXT" NAME="p" VALUE="pppp" SIZE="30"> <INPUT TYPE="button" VALUE="facult Altn" ONCLICK="facultAltn(this.form)"> <INPUT TYPE="TEXT" NAME="q" VALUE="qqqq" SIZE="30"> <INPUT TYPE="button" VALUE="faculteit Altn 2" ONCLICK="functie11(this.form)"> <INPUT TYPE="TEXT" NAME="r" VALUE="rrrr" SIZE="30"> <INPUT TYPE="button" VALUE="sinus" ONCLICK="functie12(this.form)"> <INPUT TYPE="TEXT" NAME="s" VALUE="ssss" SIZE="30"> </FORM> ... ...
Typ hier je input-getal (p1):
Resultaat: het berekenen de faculteit van p1 met 'faculteit':
Als je hier op klikt zie je hoe geneste functies werken. Functies die elkaar nodig hebben en/of elkaar aanroepen.
Nota bene: Als je uitkomsten krijgt van het
type 1.1240007277776077e+21
dan weet je dat dat
als 1.124 x 10 21 moet lezen. We noemen dat
de e-notatie van een (real) getal.
Nota bene: We gaan er bij dit vak steeds van uit dat jullie het verschil kennen tussen een integer en een real.
Enschede, 9 januari 2001