aufgeschlossen Programmieren mit JavaScript

Mehrzeilige Ausgabe

 Zeichenketten (Strings)           Inhalt            While - Schleifen


Die bisherigen Beispiele und Aufgaben waren so ausgewählt, dass die Ausgabe aus einer oder wenigen Zahlen oder einem kurzen Text bestand.
Anstelle eines einfachen input -Tags verwenden wir jetzt ein textarea - Tag, um Ergebnisse in mehreren Zeilen darzustellen.

Anna hat ein Sparbuch geschenkt bekommen. Wie erhöht sich der Kontostand innerhalb von 10 Jahren, wenn sie kein Geld abhebt?
Beispiel
Anfangsbestand und Zinssatz eingeben.

Startkapital Zinssatz (ohne %)

Sie können die Funktionsweise hier testen, indem Sie Kapital und Zinssatz ändern und dann auf "Kontoauszug" klicken.

oder

"sparen.html"als neue Seite öffnen
Quelltext
<html><head><title>Sparguthaben </title>
<script language="JavaScript"> 
siehe unten
</script>
</head>
<body>Anfangsbestand und Zinssatz eingeben. <P>
<form   name="FormSparen">
Startkapital <input type="text"  size="10"  name="Kapital">
Zinssatz (ohne %) <input type="text"  size="6"  name="Zinssatz">
<input type="BUTTON" value="Kontoauszug" onclick="Kontoauszug ()"><P>

<textarea name="TAErgebnis" cols="50" rows="12" wrap=physical></textarea>

</form></body></html>
Die Größe dieses Textfeldes wird in Spalten(cols) und Zeilen (rows) angegeben; "wrap=physical" ermöglicht es, mit "\n" eine neue Zeile zu erzwingen.
Javascript-
Funktion
    function Kontoauszug () {
      var K = document.FormSparen.Kapital.value;
      var p = document.FormSparen.Zinssatz.value;
In der Variablen "Ausgabe" wird "gesammelt",
was im Textfeld stehen soll:
      var Ausgabe = "Jahr       Bestand \n";
zunächst die Überschrift, neue Zeile mit "\n"
      for (Jahr=0; Jahr<11 ; Jahr++ ) {
        Ausgabe = Ausgabe + Jahr + "          "+ K +"\n";
an die Überschrift wird das Jahr,
ein Freiraum und das Kapital "angehängt"
        K = K * (1 + p/100);
      }
      document.FormSparen.TAErgebnis.value = Ausgabe;
Jetzt erst erfolgt die Ausgabe an das Textfeld.
  }

Aufgabe 1 Banken runden die Zinsen auf zwei Nachkommastellen. Die Javascript - Funktion "Math.round" rundet auf eine ganze Zahl. Ersetze die Berechnung des neuen Kapitals im obigen Programm durch : K = K + Math.round( K * p ) / 100 Beobachte und erkläre die Veränderung der Ausgabe.
Aufgabe 2 Erweitere das Programm so, dass man die Anzahl der Jahre mit eingeben kann.
Aufgabe 3 Rückzahlung einer Hypothek:
Nach Eingabe des Gesamtbetrags (Kapital), des Zinssatzes und der Jahresrate sollen - ähnlich wie der Kontoauszug oben - Jahr für Jahr der Kapitalstand, die zu zahlenden Zinsen und die Tilgung (= Rate - Zinsen) ausgewiesen werden. Die Vorlagendatei "vhypothek.html" kann dafür benutzt werden.
Aufgabe 4 Es sollen alle Teiler einer Zahl ausgegeben werden. In einer Zählschleife durchläuft man dazu alle Zahlen von 1 bis zur eingegebenen Zahl; wenn es sich um einen Teiler handelt, hängt man die Zahl an "Ausgabe" an. (Hier kein "\n" verwenden; der Umbruch erfolgt automatisch, wenn die Zeile voll ist.)
Aufgabe 5 Wertetabelle einer Funktion, z. B. f(x) = 2x + 4 Eingabefelder "von", "bis" und "Schrittweite"; die Schleifensteuerung lautet dann etwa for ( x = von; x <= bis ; x = x + Schrittweite).
Aufgabe 6 Erweiterung auf beliebige Funktionen: In einem weiteren Eingabefeld gibt man den jeweiligen Funktionsterm an - mit folgender Syntax: Funktionsvariable ist x (wie in der Javascript-Funktion), Multiplikation mit "*", Dezimalzeichen ist der Punkt, Brüche in der Form ( Zähler ) / ( Nenner ), Potenzen als Produkt schreiben. y = 2 * x + 4 aus Aufgabe 5 wird ersetzt durch y = eval ( Term )
  Zeichenketten (Strings)           Seitenanfang            While - Schleifen