Hier erfahren Sie in wenigen Minuten das wichtigste über den Umgang mit mathGUIde.
Zur Mathematik gibt es keinen Königsweg. Diese Redewendung wird Euklid zugeschrieben als Antwort auf die Frage von Ptolemaios I. (mehr über beide folgt im Streifzug zu den Primzahlen), ob man die Theorien Euklids auch verstehen kann, ohne sich durch dessen Bücher zu arbeiten.
Aber auch das Bücherstudium allein genügt nicht. Man kann in der Mathematik nur heimisch werden durch eigenes Tun. Dieses Tun kann und sollte auch Spaß machen. Deshalb finden Sie in mathGUIde Themen, die zum Nachdenken und eigenem Forschen herausfordern, oft ohne Detail-Erklärungen, ein bisschen wie ein Adventure-Game, dessen Spielregeln selbst ergründet werden wollen.
mathGUIde
- fördert die Freude am kreativen mathematischen Experimentieren,
- hilft bei der Kontrolle des Verständnisses mathematischer Algorithmen,
- ermöglicht direkte Implementierungen von Algorithmen der Mathematik und der Informatik ohne technischen Ballast,
- erlaubt durch Einblick in die mitgelieferten, didaktisch optimierten Klassen und Funktionen das schnelle Verständnis mathematischer Algorithmen.
Die mathGUIde-Kästen
Auf den mathGUIde-Seiten finden Sie immer wieder Kästen wie diesen:
Die Kästen bestehen von oben nach unten aus drei Bereichen, deren Bedeutung sich am besten durch Ausprobieren erschließt:
- Eingabebereich
Was hier steht, kann beliebig geändert werden.
Sie können also jeden mathGUIde-Kasten unabhängig vom Inhalt des jeweiligen Streifzugs für eigene Experimente benutzen. - Bedienungsbereich
Dieser grau unterlegte Bereich enthält drei Buttons:- Ausführen
Nach Mausklick oder Touch wird der Eingabebereich ausgewertet und das Ergebnis im dritten Bereich angezeigt. - Symbole
Hiermit können Operator-Symbole für Mengen und aussagenlogische Ausdrücke eingeblendet werden. Durch Klick werden die Symbole an der Cursorposition im Eingabebereich eingefügt. - Hilfe
Hier finden Sie die in mathGUIde eingebauten Klassen und globalen Funktionen mit Erklärungen und JavaScript-Quellen. Eine Definition besteht immer aus den beiden im Bild grün hervorgehobenen Teilen. Dabei sind (zugunsten besserer Lesbarkeit) im unteren Teil die Einrückung und die geschweiften Klammern vor und nach dem Text weggelassen.
- Ausführen
- Ergebnisbereich
Dieser Bereich öffnet sich erst nach „Ausführen“. Das Ergebnis kann, je nach Eingabe, in Textform sein oder eine Grafik, z. B ein Funktionsplot oder ein Graphen-Diagramm.
Sie können jederzeit die Eingabe ändern und „Ausführen“ wiederholen.
Die folgenden mathGUIde-Funktionen (dokumentiert in der Hilfe bei „3. Weitere Funktionen“) schreiben in den Ergebnisbereich:print()
den Wert des Arguments (oder mehrerer Argumente),printTable()
undprintValueTable()
tabellarische Darstellungenplot()
einen Funktionsplot,Graph.display()
die grafische Darstellung eines Graphen.
print
,printTable
undprintValueTable
ausgegeben werden können und je ein Feld zur Ausgabe eines (2) Funktionsplots (plot()
) und (3) eines Graphen (Graph.display()
).
Definitionskästen
Wenn Sie auf „Ausführen“ klicken, wird der Inhalt des mathGUIde-Kastens interpretiert. Das geschieht in einer flüchtigen Umgebung: Die im Kasten gemachten Definitionen stehen den anderen mathGUIde-Kästen nicht mehr zur Verfügung. Eine Ausnahme davon machen die grün umrahmten Definitionskästen.
- Sie erkennen die Definitionskästen am grünen statt blauen Rahmen.
- Die aktuellen Inhalte der Definitionskästen, die vor dem auszuführenden normalen mathGUIde-Kasten stehen, werden (in der Reihenfolge ihrer Definition) dessen Inhalt beim „Ausführen“ vorangestellt.
- Die Definitionskästen können nicht direkt aufgerufen werden und haben keinen Bedienungsbereich.
Beispiel (Anwendung weiter unten):
Erweiterte Syntax im Eingabebereich
Wenn Sie auf „Ausführen“ klicken, werden die übergebenen Inhalte als JavaScript interpretiert. Im Gegensatz zu den mathGUIde-Quellen, die im "strict"-Modus geschrieben sind, haben Sie im Eingabebereichs mehr Freiheiten und dürfen Variablen-Deklarationen (const
, let
) weglassen
Vor der Übergabe an den JavaScript-Interpreter fängt mathGUIde die folgenden „Extras“ (die eigentlich das JavaScript ungültig machen) ab und ersetzt sie durch korrekten Code:
- Doppelpunkt (
:
) am Zeilenanfang:
Kurzform fürprint(...)
, wenn der Rest der Zeile nur aus denprint
-Argumenten besteht. Die folgenden mathGUIde-Kästen nutzen diese Abkürzung. - Das Akut-Zeichen (
´
)
Was hinter diesem Zeichen steht (bis zum nächsten ´ bzw. ans Zeilenende), wird als Term mit Infix-Operatoren angesehen. Damit können Sie Operationen zwischen rationalen Zahlen, Matrizen, Polynomen und Mengen (Set) in gewohnter Form schreiben. Beispiel:
Wie geht es weiter?
Hilfe
Wenn Sie die mathGUIde-Funktionen und -Klassen kennenlernen möchten, stöbern Sie in der Hilfe eines mathGUIde-Kastens.
Ausführliche Einführungen und Referenzen zu JavaScript finden Sie z.B. bei MDN web docs von Mozilla. Sie können notfalls auch eine deutsche Übersetzung wählen, die aber unvollständig und nicht auf dem neuesten Stand ist.
Programmquellen
Die mathGUIde-Implementierung besteht aus zwei JavaScript-Dateien:
- math.js für die mathematischen Algorithmen.
- guide.js für die Benutzeroberfläche.
Die Implementierung der meisten Funktionen und Methoden aus math.js
können Sie in den mathGUIde-Kästen sehen. Wenn Sie diese im Zusammenhang betrachten möchten (oder den Inhalt von guide.js
), können Sie so vorgehen:
Quellenanzeige im Firefox-Debugger
- Mit den Entwicklertools Ihres Browsers (allerdings nicht in den Mobilversionen) können Sie nicht nur die Quellen übersichtlich betrachten, sondern auch auf Fehlersuche gehen. Die Entwicklertools öffnen Sie in Firefox und Chrome mit Strg+Shift+I oder Cmd+Option+I (macOS).
- Natürlich können Sie sich die Quellen auch herunterladen und im Programm-Editor anschauen. Dazu wählen Sie in den Entwicklertools die Registerkarte „Debugger“ (Firefox) oder „Sources“ (Chrome). Mit Rechtsklick auf einen Dateinamen können Sie den Inhalt speichern.
Falls Sie sich über Kommentare in math.js
wundern, die mit /***
oder ///
anfangen: Das sind die Informationen, aus denen die Texte für das Hilfesystem der mathGUIde-Kästen automatisch erzeugt werden.
Die Beschäftigung mit den Quellen wird Ihnen helfen, eigene Funktionen und Klassen zu implementieren.