Javascript: eigene Tests

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
Kurzinfo
GadApedia.jpg
Diese Seite gehört zur GadApedia.

Inhaltsverzeichnis

Eigene Tests der Javascripsprache

Manches muss man erst ausprobieren, und dann verändern oder anpassen. Hier notiere ich die bisherigen Tests, die erfolgreich waren.

Ausprobieren

Es funktioniert tatsächlich die interaktive Eingabe mit Berechunungen und Ausgabe. Ich habe dazu javascript benuzt, ein vorhandenes Script ( Quadrat) modifiziert ( Kubik ). Auch Würfeln und Sekantensteigungberechnungen funktionieren.

Um ein Inhaltsverzeichnis automatisch erzeugt zu bekommen, braucht man mindestens 4 Überschriften. Um dieses in Kombination mit den html- und javascript-Anteilen zu realisieren, muss man html-Anteile beenden, normale wiki-Überschriften einsetzen und dann neue html-Anteile schreiben, deren Funktionen müssen innerhalb des selben Javascripts definiert werden.

Also, jetzt kommen wirkliche Anwendungsbeispiele für Schüler, mit immer wieder anderen Zufallszahlen, die in die Aufgaben integriert werden. Die Lösungen sind dann natürlich auch immer wieder verschieden je nach Zahlen innerhalb der Aufgabenstellungen.

<html lang="de"> <head><title>Steigung einer Geraden berechnen</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <script type="text/javascript"> function ZufallsSteigungAufgabestellen () {

Zy1 = Math.ceil(10*Math.random());
Zy2 = Math.ceil(10*Math.random());
Zx1 = -3+Math.ceil(8*Math.random());
Zx2 = Zx1+Math.ceil(10*Math.random());

  document.getElementById("ergebnis10").firstChild.data = "dabei ist A(" + Zx1 + "| " + Zy1 + ") und B(" + Zx2 + "| " + Zy2 +")";

} function ZufallsSteigungBerechnen () {

var Steigung = ( Zy2-Zy1 ) / ( Zx2-Zx1 );
  document.getElementById("ergebnis11").firstChild.data = "Die Steigung ist " + Steigung;

}


function Quadrat () {

 var Zahl = parseFloat(document.getElementById("zahl").value);
 if (isNaN(Zahl)) {
   document.getElementById("ergebnis").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Quadrat = Zahl * Zahl;
   document.getElementById("ergebnis").firstChild.data = "Ergebnis: Das Quadrat von " + Zahl + " ist " + Quadrat + "!";
 }

} function Kubik () {

 var Zahl2 = parseFloat(document.getElementById("zahl2").value);
 if (isNaN(Zahl2)) {
   document.getElementById("ergebnis2").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Kubik = Zahl2 * Zahl2 * Zahl2;
   document.getElementById("ergebnis2").firstChild.data = "Ergebnis: Das Kubik von " + Zahl2 + " ist " + Kubik + "!";
 }

} function Wuerfeln () {

 var Zahl3 = parseFloat(document.getElementById("zahl3").value);
 if (isNaN(Zahl3)) {
   document.getElementById("ergebnis3").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Wuerfelzahl = Math.ceil(Zahl3*Math.random());
   document.getElementById("ergebnis3").firstChild.data = "Ergebnis: Eine Zufallszahl zwischen 1 und " + Zahl3 + " ist " + Wuerfelzahl + "!";
 }

}

function Sekantensteigungsinusdxgleich0komma1 () {

 var Zahl4 = parseFloat(document.getElementById("zahl4").value);
 if (isNaN(Zahl4)) {
   document.getElementById("ergebnis4").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Seksteigsin = (Math.sin(Zahl4+0.1)-Math.sin(Zahl4))/0.1;
   document.getElementById("ergebnis4").firstChild.data = "Die Sekantensteigung mit deltax =0,1 bei x= " + Zahl4 + " ist " + Seksteigsin + "!";
 }

}

function ErzeugeAufgaben () {

 var Zahl5 = parseFloat(document.getElementById("zahl5").value);
 if (isNaN(Zahl5)) {
   document.getElementById("ergebnis5").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Wuerfelzahl = Math.ceil(Zahl5*Math.random());
   document.getElementById("ergebnis5").firstChild.data = "Ergebnis: Eine Zufallszahl zwischen 1 und " + Zahl5 + " ist " + Wuerfelzahl + "!";
 }

}

function Quadratnochmal () {

 var Zahl6 = parseFloat(document.getElementById("zahl6").value);
 if (isNaN(Zahl6)) {
   document.getElementById("ergebnis6").firstChild.data = "Bitte gib eine gültige Zahl ein!";
 } else {
   var Quadrat = Zahl6 * Zahl6;
   document.getElementById("ergebnis6").firstChild.data = "Ergebnis: Das Quadrat von " + Zahl6 + " ist " + Quadrat + "!";
 }

}

</script> </head> <body>

Steigung einer Geraden bestimmen

Bestimme die Steigung einer Geraden, die durch zwei vorgegebene Punkte A(x1|y1), B(x2|y2) verläuft.

<input type="button" value="Erzeuge Aufgabe zur Geradensteigung!" onclick="ZufallsSteigungAufgabestellen()">

Ergebnis:

Notiere jetzt auf einem Blatt Papier Deine eigene Rechnung und Dein Ergebnis für die Geradensteigung. Danach darfst Du vergleichen mit der Lösung:

<input type="button" value="Ergebnis berechnen!" onclick="ZufallsSteigungBerechnen()">

Ergebnis:


Quadrat berechnen!

<label>Zahl eingeben: <input type="text" id="zahl" size="4"></label>

<input type="button" value="Quadrat berechnen!" onclick="Quadrat()">

Ergebnis:

Kubik berechnen!

<label>Zahl eingeben: <input type="text" id="zahl2" size="4"></label>

<input type="button" value="Kubik berechnen!" onclick="Kubik()">

Ergebnis:

Zufallszahl zwischen 1 und Wertangabe würfeln!

<label>Anzahl der Würfelflachen eingeben: <input type="text" id="zahl3" size="4"></label>

<input type="button" value="Würfeln!" onclick="Wuerfeln()">

Ergebnis:

Aus Zufallszahlen immer neue Aufgaben erzeugen!

<label>Obergrenze der Zufallszahlen eingeben: <input type="text" id="zahl5" size="4"></label>

<input type="button" value="Erzeuge Aufgaben!" onclick="ErzeugeAufgaben()">

Ergebnis:


</body> </html>

Schnittpunkt zweier Geraden

Wie funktioniert das automatische Anlegen des Inhaltsverzeichnisses? Testen..aha, geschieht automatisch bei mehr als 3 Überschriften.

Geradengleichungen: noch mehr Übungen

Hier sind Aufgaben mit Lösungen

Quadratische Gleichungen lösen: noch mehr Übungen

Da gehts richtig zur Sache! <html lang="de"> <head><title>JavaScript-Beispiel: Quadratzahl berechnen</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> mal sehen.. noch ein html-anteil hier.

Ergebnis:

Quadrat berechnen!

<label>Zahl eingeben: <input type="text" id="zahl6" size="4"></label>

<input type="button" value="Quadrat berechnen!" onclick="Quadratnochmal()">

Ergebnis:

</body> </html>

Näherungsweise Lösungen mit Newtonverfahren: noch mehr Übungen

Na dann ran an den Speck!

Sekantensteigung am Sinus, dx=0.1 : noch mehr Übungen

<html lang="de"> <head><title>JavaScript-Beispiel: bald ohne h1-Überschrift </title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<label>x-Wert eingeben: <input type="text" id="zahl4" size="4"></label>

<input type="button" value="Berechnen!" onclick="Sekantensteigungsinusdxgleich0komma1()">

Ergebnis:

</body> </html>

Hier noch einige Ergebnisse meiner Tests und Analysen:

Möchte man eine Variable in javascript noch einmal verwenden, so sollte man sie global machen. Wenn man eine Funktion verwendet, so werden die Variablen, die innerhalb der Funktion mit var ... declariert werden, also z.B.

 function f0 () {
 var Quadrat = 6 * 6;
 }

dann außerhalb der Funktion nicht mehr gültig sein ( Quadrat ist dann nicht mehr 36 ).

Möchte man die Variable aber z.B. in einer anderen Funktion noch einmal benutzen, so muss man sie ohne den var- Zusatz in der Funktion definieren, sie wird dann automatisch global. Also z.B.: in der Funktion f1 werden Zy1 und Zy2 berechnet und ausgegeben, und ich möchte sie in der Funktion f2 aber noch einmal verwenden:

function f1 () {
Zy1 = Math.ceil(10*Math.random());
Zy2 = Math.ceil(10*Math.random());
}
function f2 () {
var Steigung = ( Zy2-Zy1 ) / 4;
document.getElementById("ergebnis11").firstChild.data = "Die Steigung ist " + Steigung;
}