Simple JavaScript Frage von Schüler (While Schleife)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Simple JavaScript Frage von Schüler (While Schleife)

    Hallo,

    bin Schüler der 12ten Klasse und habe ein wohl einfaches, aber für mich gerade nicht lösbares Problem mit einer while-Schleife

    Das Problem ist, dass die Quadratzahlen zwischen 1 und n mit der while-Schleife zu addieren sind.

    Mein Programm sieht derzeit so aus:

    PHP-Code:
    <script language ="JavaScript">
    <!--
    var 
    ns;
       function 
    eingabe_n(){
            
    n=prompt("Geben sie die Obergrenze n ein" " ");
            return 
    n;
            }
      function 
    sum_1_to_n_quadrat(n) {
            
    i=1;
            while (
    i<=n) {
               
    document.write("<tr><td>" i*+"</td></tr>");
               
    i++;
            }
    //-->
    </script
    :::::::edit So richtig ?

    Wie ihr sicher wisst, werden jetzt allerdings nur die einzelnen Quadratzahlen angegeben.

    Sieht dann so aus: (Bsp. n=5)
    1 4 9 16 25

    Die Summe wäre 55, aber wie kann ich diese per while-Schleife berechnen lassen ?!

    schonmal thx
    mfG
    Blackwater
    Zuletzt geändert von BLACKWATER; 09.06.2010, 15:43.

  • #2
    Hallo und willkommen im Forum,

    bitte ändere deinen Beitrag und verwende die Code-Tags, dann bekommst du die Antwort.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von AmicaNoctis Beitrag anzeigen
      Hallo und willkommen im Forum,

      bitte ändere deinen Beitrag und verwende die Code-Tags, dann bekommst du die Antwort.

      Gruß,

      Amica
      Kein Problem habe die Aufgabe schon mit einer for-Schleife hinbekommen. Aber hier steh ich grad aufm Schlauch -.-

      Kommentar


      • #4
        Sorry, ich war bis eben weg, dachte aber, dass sich jmd. anderes um dich kümmert…

        In der Funktion brauchst du noch eine Variable, welche die Summe sammelt, z. B. sum:

        Code:
        var sum = 0;
        Innerhalb der Schleife addierst du darin die Quadratzahlen auf:

        Code:
        sum += i * i;
        Am Ende der Funktion gibst du diese Summe mit return zurück:

        Code:
        return sum;
        Im Ganzen (mit Zwischenergebnis in i2, um die erneute Berechnung zu vermeiden):

        Code:
        function sum_1_to_n_quadrat(n) {
            var sum = 0, i2 = 0;
            for (var i = 1; i <= n; i++) {
                i2 = i * i;
                document.write("<tr><td>" + i2 +"</td></tr>");
                sum += i2;
            }
            return sum;
        }
        Hast du dir das selbst beigebracht oder hatte da ein Lehrer die Finger drin?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Code:
          function sum_1_to_n_quadrat(n) {
              var sum = 0, i2 = 0;
              for (var i = 1; i <= n; i++) {
                  i2 = i * i;
                  document.write("<tr><td>" + i2 +"</td></tr>");
                  sum += i2;
              }
              return sum;
          }
          Hast du dir das selbst beigebracht oder hatte da ein Lehrer die Finger drin?[/QUOTE]

          thx gilt doch aber eigentlich nicht als while-Schleife oder?
          Wir haben vom Lehrer nur die Anleitung bekommen wie die For bzw while Schleife aufgebaut ist. Den Rest sollten wir selber entwickeln. Und mit der 2ten Variable wär ich wohl nich mehr draufgekommen da wir sowas einfach noch nich hatten^^
          Zuletzt geändert von BLACKWATER; 09.06.2010, 19:52.

          Kommentar


          • #6
            hi,

            habe jetzt weiter an meiner while-Schleife gemacht.
            Sieht im Ganzen so aus:

            PHP-Code:
            <html>
            <
            head><title>Quadratzahlen von 1 bis n addieren: (while-Schleife)</title>
            <
            script language ="JavaScript">
            <!--
            var 
            ns;
              function 
            eingabe_n(){
                
            n=prompt("Geben sie die Obergrenze n ein" " ");
                return 
            n;
                }
              function 
            sum_1_to_n_quadrat(n) {
              var 
            ns;
                  
            i=1;
                  
            s=0;
                  while (
            i<=n) {
                    
            s=s+i*i;
                    
            i++;
                    
            document.write("Die Summe der Quadratzahlen von 1 bis " " ist gleich " ".<br>");
                  }
            }
            //-->
            </script>
            </
            head>
            <
            body>
            <
            script language="JavaScript">
                
            n=eingabe_n();
                
            s=sum_1_to_n_quadrat(n);
            </
            script>
            </
            body>
            </
            html
            Als Ergebnis bekomme ich jedoch nicht:
            PHP-Code:
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 55. 
            sondern
            PHP-Code:
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 1.
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 5.
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 14.
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 30.
            Die Summe der Quadratzahlen von 1 bis 5 ist gleich 55. 
            heißt ich habe immer noch iwo einen ärgerlichen Fehler
            bitte helfen :P

            mfg

            Kommentar


            • #7
              Was macht denn eine Schleife meistens so? Richtig: etwas wiederholen.

              Du willst nicht, dass etwas wiederholt wird? Dann pack es nicht mit in die Schleife, sondern entweder davor oder danach – je nachdem, ob es auf Ergebnisse/Effekte aus der Schleife angewiesen ist. In deinem Fall ist es das, also: danach.
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                Zitat von AmicaNoctis Beitrag anzeigen
                Was macht denn eine Schleife meistens so? Richtig: etwas wiederholen.

                Du willst nicht, dass etwas wiederholt wird? Dann pack es nicht mit in die Schleife, sondern entweder davor oder danach – je nachdem, ob es auf Ergebnisse/Effekte aus der Schleife angewiesen ist. In deinem Fall ist es das, also: danach.

                woohoo ich habs gepackt
                einfach noch eine Funktion "ausgabe"

                thx kann geclosed werden

                TOP FORUM

                Kommentar

                Lädt...
                X