Archiv verlassen und diese Seite im Standarddesign anzeigen : IT-Aufgaben (Javascript)
Hi,
meine Schwester hat 2 Aufgaben zu lösen bei denen ich ihr leider nicht helfen kann:
Schreibe ein JavaScript Programm, mit der sich der Benutzer verschiedene Zahlenreihen anschauen kann. Mit 3 Eingabefenster kann die Startzahl gewählt werden, die Endzahl und die Erhöhung. Bsp.:
Eingabe: 4,22,3 (Startzahl, Endzahl, Erhöhung)
4,7,10,13,16,19,22
Kopiere Aufgabe 4. Jetzt wird per if und else überprüft, ob die Sartzahl kleiner ist als die Endzahl. Wenn ja-> Zahlenreihe schreiben lassen
Wenn nicht: versuchen, die zwei eingegebenen Variable mit Hilfe neuer Variabler zu tauschen, damit die zahlenreihe trotzdem funktioniert.
Viel Spaß!!!
Könnt ihr uns da vllt helfen? (möglichst mit Erklärung ;) )
Dankeschön^^
Gruß
Rash
PS: Die lösung soll aus dem HTML-Grundgerüst und ausschl. des Javascripts gebastelt werden :)
Lucleonhart
25.10.2006, 20:48
Meine Lösung. In der ersten Funktion wird die funktion "eingabechecken()" aufgerufen, die für die 2. aufgabe ist. diese zeile und die ganze funktion "eingabechecken()" einfach löschen um die erste aufgabe zu haben:
<html>
<body onload="eingabe();"> <!-- Onload wird die eingabe aufgerufen -->
<script type="text/javascript">
// Variablen deklarieren (um sie in allen funktionen zu nutzen
startzahl;
endzahl;
erhoehung;
function eingabe() // die eingabefunktion.. (ach neee)
{
startzahl = prompt("Bitte geben Sie die Startzahl ein:", ""); // startzahl einlesen
endzahl = prompt("Bitte geben Sie die Endzahl ein:", ""); // endzahl einlesen
erhoehung = prompt("Um wieviel soll die Zahl erhöht werden?", ""); // erhöhung einlesen
// für aufgabe2
eingabechecken(); // die eingabe erst checken
reiheschreiben(); // ausgabe aufrufen einlesen
}
function eingabechecken()
{
if(startzahl > endzahl)
{
// die beiden mit hilfsvariable tauschen
var temp = startzahl;
startzahl = endzahl;
endzahl = temp;
}
}
function reiheschreiben()
{
ausgabetext = ""; // ausgabetext deklarieren und leer setzen
for(i = parseInt(startzahl); i <= parseInt(endzahl); i = eval(i+parseInt(erhoehung))) // "for" funktion. genaue syntax bei selfhtml nachschlagen. parseInt für jede eingegebene Zahl nötig, da die eingelesenen werte zeichenketten sind, und sich damit nicht rechnen lässt! "i" wird auf die startzahl gesetzt. solange i <= die endzahl ist, wird die funktion ausgeführt und i um die erhoehung erhöht.
{
ausgabetext += i + " "; // den ausgabetext um die aktuelle zahl und ein leerzeichen erweitern
}
document.write(ausgabetext); // zum schluss alles hinschreiben
}
</script>
</body>
</html>
Have Fun!
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.
<!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 :/
Lucleonhart
26.10.2006, 15:29
Die Sanduhr kommt durch das document.write .. Warum.. weiß ich grad net. *hmhm*
Machste nen alert raus, dann iss die Sanduhr Geschichte.
Naja, ich mache fast nie was mit JavaScript.
Glaube aber meine Variante ist eher im Sinne der Aufgabe, da z.B. nur eine Funktion verlangt ist. ^^
Lucleonhart
26.10.2006, 18:03
nur eine Funktion...
Schreibe ein JavaScript Programm,...:p
Ein Computerprogramm ist eine Folge von Befehlen, die auf einem Computer zur Ausführung gebracht werden können, um damit eine bestimmte Funktionalität (z. B. Textverarbeitung) zur Verfügung zu stellen.
Auch wenn ich mit meinem vorherigen post also nicht 100% recht hatte. Falsch war er auch nicht :p
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.