Die Benutzung dieser Musterprogramme für Lehrveranstaltungen ist ohne Gewähr erlaubt. Copyright: Prof. Dr. Ulrich Holzbaur

Übungsaufgaben zu JavaScript

Diese Aufgaben sind als inline-code (JavaScript im body) programmiert. Sie können die einzelnen Berechnungen durch die Abfrage am Anfang überspringen.
    if (confirm("wollen Sie die Primzahlberechnung ausführen")){.....}

Stand: 04.12.2000

Übungsprogramm 1: Primzahlen

Aufgabe Ausgabe und Zählen der Primahlen von 1 bis zu einzugebendem Endwert
Verwendete Konstruktionen Schleife, Alternative, Function, Math, Eingabe, Ausgabe
Code
Primzahltest
function Prim (Zahl)      {
       var wurzel = Math.sqrt(Zahl);
       var test = 1;
       for(i = 2; i <= wurzel; i++)
             if(Zahl % i == 0)  test = 0;
       return test       }
Zahl % i == 0 testet, ob i ein Teiler von Zahl ist
test ist eine boolesche Variable:
    0 bedeutet, daß ein Teiler gefunden wurde
    1 bedeutet, daß Zahl prim ist
Code 
Ablauf und 
Ausdruck
    N = window.prompt("Primzahlen bis ?? ",55);
    zaehler=0;
    document.write
        ("Die Primzahlen von 1 bis "+N+" sind : <br>");
    for(z = 2; z <= N; z++)         {
         if (Prim(z)) {document.write(z+" ");zaehler++}
         if (z%100==0) document.write("<br>")         };
     alert("Insgesamt "+zaehler+"  Primzahlen");
     alert("Primzahldichte bis "+ N +" ist "+zaehler/N);
die Primzahlen werden ausgedruckt
jeweils bei vollen Hunderter (z%100==0)
   wird ein neue Zeile begonnen

Ausgabe:

Übungsprogramm 2: PrimzahlenSieb

Aufgabe Primahlen von 1 bis zu einzugebendem Endwert mit dem Sieb
Verwendete Konstruktionen Schleife, Alternative, Array, Math, Eingabe, Ausgabe
Code 
Sie des Erathostenes
   N = window.prompt("Primzahlen bis ?? ",55);
    prim = new Array(N)
    for (i=1;i<=N;i++) document.write(Math.floor(i/10)%10); document.write("<br>");
    for (i=1;i<=N;i++) document.write(i%10); document.write("<br>"); 
    for (i=1;i<=N;i++) {prim[i]=1; document.write(1)}; document.write("<br>"); 
    for (SZ = 2; SZ<=Math.sqrt(N);SZ++)   {
         if(prim[SZ])       {
            for(n = 2*SZ; n<=N; n=n+SZ)
                prim[n]=0;
             for (i=1;i<=N;i++) 
                document.write(prim[i]);
            document.write("<br>")
            alert("das waren die Vielfachen von "+SZ);             }          }
      document.write("Primzahlen:  ")
      for (i=2;i<=N;i++) 
         if (prim[i]) document.write(i+" ");
prim ist ein Feld, das das Sieb darstellt
nacheinander werden alle Zahlen, 
  die Vielfache von SZ sind,
  abgestrichen
Übrig bleiben die Primzahlen.

Es reicht, mit SZ so weit zu laufen, 
   bis SZ*SZ>N ist.

Ausgabe:

Übungsprogramm 3: Fibonacci-Zahlen

Aufgabe Rekursive Berechnung der Fibonacci-Zahlen
Verwendete Konstruktionen Rekursion, Alternative, Eingabe, Ausgabe
Code 
Funktion zur 
rekrusiven
Berechnung der 
Fibonacci-
Zahl
    function FIB (Zahl)      {
        if ( Zahl >=  2) 
           {Fibo = FIB(Zahl-1) + FIB (Zahl-2)}
            else Fibo = 1;
       alert("die "+Zahl+"-te Fibonacci-Zahl ist " + Fibo);
       document.write(">"+Zahl+"  <"+Fibo+"<br>");
       return Fibo       }
Rekursion:
F (n) = F (n-1) + F (n-2)

Baum: F(4) = F(3) = F(2) = F(1) = 1
                         + F(0) = 1
                  + F(1) = 1 
           + F(2) = F(1) = 1
                  + F(0) = 1

Code 
Ablauf und 
Ausdruck
    N = window.prompt("Fibonacci:  Basis ?? ",0);
    Ergebnis = FIB(N)
    alert("Fertig: die "+N+"-te Fibonacci-Zahl ist "+ Ergebnis);
FIB muß zunächst berechnet werden

Ausgabe:

Übungsprogramm 4: Fibonacci-Zahlen

Aufgabe Iterative Berechnung der Fibonacci-Zahlen
Verwendete Konstruktionen Iteration, Array (Feld), Eingabe, Ausgabe

 
Code    N = window.prompt("Fibonacci:  Basis ?? ",12);
    FIB = new Array (N+1);
    FIB[0]=1;FIB[1]=1;
    for (i=2;i<=N;i++) 
       {
       FIB[i] = FIB[i-1] + FIB [i-2];
       document.write(i+" : "+FIB[i]+"<br>");
       }
Hier wird das Feld FIB[n]
  sukzessive aufgebaut.
Dadurch wird jede Berechnung
 nur einmal ausgeführt.

Ausgabe:


zurück zum Seitenanfang e-mail Holzbaur@t-online.de zurück zur homepage Holzbaur zurück zu JavaScript zurück zu HTML

v: UDH 04.12.2000