Google Classroom
GeoGebraGeoGebra Classroom

5_JavaScript - Bedingungen prüfen

Übersichtlichkeit ist ein klarer Vorteil von JavaScript. So erlaubt JavaScript (im Gegensatz zur Geogebra-Umgebung) ein übersichtliches Abprüfen von Bedingungen. Dafür benutzt man eine "wenn-dann-Anweisung" ("if-else-Anweisung" bzw. "if-else if-...-else-Anweisung"): if (Bedingung1) { Anweisung1 } else if (Bedingung2) { Anweisung2 } else { Anweisung3} Die entsprechenden Blöcke sind durch geschweifte Klammern { } getrennt. Der Block else-if kann beliebig oft sinnvoll eingefügt, aber auch weggelassen werden.
Anmerkungen: Der Befehl var a = ggbApplet.getValue("a"); holt sich den Wert der Zahl a aus dem GeoGebra-Applet und speichert ihn in der Skripting-Umgebung. Diese Variable a hat im Beispiel oben nur zwei Werte (boolesche Werte), nämlich wahr|true (Kontrollkästchen aktiviert) und falsch|false (Kontrollkästchen nicht aktiviert). Wenn-dann-Anweisung: if (a==true) { // "Wenn der Wert von a wahr ist, dann ..." alert("Das Kästchen ist aktiviert."); // "... dann gib den Satz aus." } else { //"Ansonsten - also wenn in diesem Fall der Wert von a nicht wahr (d.h. falsch) ist, dann ..." alert("Das Kästchen ist nicht aktiviert."); // "... dann gib den Satz aus." } Je nachdem welche Bedingung wahr ist, wird der entsprechende Block aufgerufen und die Anweisung (hier: die Alert-Ausgabe) ausgeführt. Wichtig dabei ist: Für die Überprüfung einer Bedingung muss man Ausdrücke mit folgenden Operatoren (wie auch in der Geogebra-Umgebung) vergleichen: == gleich ! nicht != Ungleichzeichen ("negiertes =") > größer >= größer gleich < kleiner <= kleiner gleich Zwei Bedingungen verknüpft man (wie auch in der Geogebra-Umgebung) mit den Junktoren: && und || oder
Bemerkung: Auch Schleifen (for- / do-while- / while-Schleifen) sind in JavaScript möglich. Sie erfüllen den Zweck, eine Anweisung oder eine Gruppe von Anweisungen solange auszuführen, bis eine bestimmte Bedingung erfüllt ist, oder nicht mehr erfüllt ist.  (https://wiki.selfhtml.org/wiki/JavaScript/Schleife#Schleifen_mit_.22for.22) Auf dieses Programmkonstrukt wird in diesem Workshop nicht weiter eingegangen.