Luc, deine Variante ruft bei mir seltsamerweise eine Sanduhr herbei.
Nun gut, ich kann es nicht lassen:
Ei korrektes HTML Grundgerüst mit meiner Variante mitten drin.
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title> JavaScript Aufgaben 1 und 2</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" >
<meta http-equiv="content-script-type" content="text/javascript" >
<!-- obige Angabe ist für gutes HTML notwendig! -->
<script type="text/javascript" >
function zahlenreihe ( ) {
// Die 'parseInt' Funktion macht aus der Eingabe Zahlenwerte
startzahl = parseInt ( prompt("Startzahl:","") );
pluszahl = parseInt ( prompt("Erhöhung:","") );
endzahl = parseInt ( prompt("Endzahl:","") );
if ( startzahl > endzahl ) { // Wenn die Startzahl kleiner als die Endzahl ist:
zwischenzahl = endzahl; // Hilfsvariable 'zwischenzahl' erhält den Endwert
endzahl = startzahl; // 'endzahl' erhält Wert von 'startzahl'
startzahl = zwischenzahl; // und 'startzahl' den zwischengespeicherten Wert von 'endzahl'
// => Zahlen mit einer Hilfsvariable vertauscht (Aufgabe 2)
}
// Else ist nicht notwendig, da die Berechnung bei korrekter Eingabe direkt verarbeitet werden kann
// Eine neue Variable setzen, die die Zahlenreihe enthalten wird.
Reihe = startzahl + ', '; // Erste Zahl ist Startzahl
while ( endzahl > startzahl ) { // So lange Die Startzahl kleiner als die Endzahl ist...
// Erhöht sich die Startzahl um den Erhöhungswert
startzahl = startzahl + pluszahl;
if ( startzahl < endzahl)
{
// Wenn die Reihenzahl nun noch kleiner ist als der Endwert, wird
// Eine neue Reihenzahl hinzugefügt. Das verhindert z.B. auch, dass
// am Ende, wenn die Endzahl zugefügt wird. Die Zahl doppelt erscheint.
Reihe = Reihe + startzahl + ', ';
}
}
// Am Ende wird noch die Endzahl hinzugefügt, diese kann aus der Reihe "herausspringen",
// da nie überprüft wurde, ob die Endzahl sich in der Reihe befindet oder nicht.
Reihe = Reihe + 'Endzahl: ' + endzahl;
// Ausgabe (Aufgabe 1)
alert(Reihe);
}
</script>
</head>
<body>
<p> <button type="button" onclick="javascript :zahlenreihe()" > Zahleneingabe starten.</button> </p>
</body>
</html>
Ehrlich gesagt frage ich mich, wo bei deiner Schwester das Problem liegt. Obwohl ich noch nie so etwas komplexes mit JavaScript gemacht habe, hatte ich das Grundgerüst doch in kürzester Zeit im Kopf.
Leider hat mich bisher ein Fehler im Internet Explorer von der Veröffentlichung abgehalten :/