JavaScript Übungsaufgaben Einführung HTML Einführung  extern selfhtml
Copyright:  Holzbaur, Aalen, E-Mail an Verfasser

JavaScript: Schleifen

Berechnung von n! Fakultät auf verschiedene Arten (ganz einfaches Programm)
 
 
Aufruf Quelle Bemerkung
for-Schleife kompakt function fak1(n){
       for (i=1,f=1;i<=n;f=f*i++){};
       return f
};
function f1() {n=prompt(" n = ?"); f=fak1(n); alert("Fakultät: " + n+"!  = "+f)}
{}: leere Anweisung
for-Schleife üblich function fak2(n){
         f=1; 
         for (i=1;i++;i<=n)  f=f*i; 
         return f
}
function f2() {n=prompt(" n = ?"); f=fak2(n); alert("Fakultät: " + n+"!  = "+f)}
i=1...n
while-Schleife pre-increment function fak3(n){
      f=1; 
      i=1; 
      while(i<n) 
              f=f * ++i  ;
      return f
};
function f3() {n=prompt(" n = ?"); f=fak3(n); alert("Fakultät: " + n+"!  = "+f)};
i=1...n-1 in Schleife
i= 2...n bei der Miltiplikation
while-Schleife kopfgesteuert function fak4(n){
      f=1; i=1; 
      while(i<n){ 
             i++; 
            f=f*i 
      };
      return f
};
function f4() {n=prompt(" n = ?"); f=fak4(n); alert("Fakultät: " + n+"!  = "+f)};
i=1...n-1 in Schleife
i= 2...n bei der Miltiplikation
while-Schleife fußgesteuert function fak5(n){
         f=1; i=1; 
         do { 
              f=f*i } 
              i++; 
         while (i<=n) ;
         return f
};
function f5() {n=prompt(" n = ?"); f=fak5(n); alert("Fakultät: " + n+"!  = "+f)};
i = 1,....n
rekursiv function fakr1(n){
     if (n<=1) {f=1} 
         else { f = n * fakr1(n-1)} ;
     return f
};
function fr1() {n=prompt(" n = ?"); f=fakr1(n); alert("Fakultät: " + n+"!  = "+f)};
klassische Fallunterscheidung bei der Rekursion
rekursiv function fakr2(n){
        f=1; 
        if (n>1) f = n * fakr2(n-1)  ; 
        return f
};
function fr2() {n=prompt(" n = ?"); f=fakr2(n); alert("Fakultät: " + n+"!  = "+f)};
gleicher Effekt, aber bedingte Ausführung