Programmierung

Pascal'sches Dreieck - JavaScript


 
  1. Aufgabe

    Ausgabe der Kombinationen ohne Wiederholung [ K(Anzahl) aus n(Gesamt) oder n  über k).

    6 aus 49 =                                                (34Bit-Zahl !!!)
    (n) 49          49 * 48 * 47 * 46 * 45 * 44 = 10.068.347.520
    (-) über        ---------------------------------     ------------------- =13.983.816 Kombinationen
    (k) 6              1 *   2 *   3 *   4 *   5 *   6 =                    720

     Das obige Zwischenergebnis dieser relativ kleinen Aufgabe, kann bei einigen
     Programmiersprachen schon zum Überlauf führen.
     z.B. sprengt es schon den Datentyp des Longword (32-Bit) bei C++
     oder LongInt (32-Bit) bei Turbo Pascal.
     In Java kann die Zahl im Datentyp long 64 Bit groß sein (max. 9.223.372.036.854.775.807).
     Einfacher ist es über das Pascalsche Dreieck.

     n=0            1    
     n=1          1  1      
     n=2        1  2  1
     n=3      1  3  3  1
     n=4    1  4  6  4  1
     usw.
                ---------------
     k=      1  2  3  4  5
     usw
  2. Struktogramm

    Das Pascalsche Dreieck

  3. Programm

    Bitte die Zahlen eingeben: aus


  4. Quellcode

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
      <title>
    DG1XPZ - Java-Script-Programmierung, Das Pascal'sche Dreieck</title>
      <script language=JavaScript>
     
    <!--
       
    function pascal( ){
            var i=0;
            var j=0;
            var k=document.algorithmus.eingabe1.value;
            var n=document.algorithmus.eingabe2.value;
            var pMatrix=new Array( );
            for (i=0;i<n+1;i++){
                pMatrix[i]=new Array(n+1-i);
                pMatrix[i][0]=1;
                pMatrix[0][i]=1;
            }
            for (j=0;j<pMatrix.length-1;j++){
                for (i=0;i<pMatrix[j].length-2;i++){
                    pMatrix[j+1][i+1]=pMatrix[j+1][i]+pMatrix[j][i+1];
                }
            }
            document.algorithmus.ausgabe1.value=pMatrix[n-k][k];
        }
      //-->

     
    </script>
    </head>
    <body>
    <table><tr><td align=
    center>
    <form action=
    "" method=post name=algorithmus target="">
    <p align=
    "right">Bitte die Zahlen eingeben:
    <input name=eingabe1 size=5 align=right> aus <input name=eingabe2 size=5 valign=right><br>
    <button onclick=
    pascal( ) value="algorithmus">&nbsp;&nbsp;&nbsp; berechnen &nbsp;&nbsp;&nbsp;&nbsp;</button><br>
    <input name=
    ausgabe1 size="19">
    </form>
    </td></tr></table><br>
    </body>
    </html>


  5. Download pascal.html (Rechts-Click, speichern unter)

 

http://www.counter-service.de http://www.counter-service.de

Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ