ONYX und MAXIMA
Für komplexere Berechnungen und spezifische Anforderungen kann das an ONYX angebundene Computer-Algebra-System MAXIMA genutzt werden. Das Netzwerk Mathematik hat eine Reihe Good-Practice-Beispiele gesammelt. Diese Sammlung von typischen Nutzungsmöglichkeiten, Kniffen und Stolperfallen unterstützt das Verständnis bei der Verwendung der MAXIMA-Anbindung in ONYX.Folgend werden ausgewählte Themen aufgegriffen und noch einmal detailliert beschrieben.
Rechnen mit vorzeichenbehafteten Variablen
Wird eine ONYX-Variable in MAXIMA-Berechnungen verwendet, empfiehlt es sich, diese grundsätzlich mit Klammern (⋅) einzuschließen.
Beispiel: Quadrat der Variable {a}:
Bei {a}=-5 ergibt {a}^2=-5^2=-25, wohingegen ({a})^2=(-5)^2=25 ist.
Der Vergleich der zwei Varianten - ohne zusätzliche Klammer und mit zusätzlicher Klammer - ist im Beispielbild zu sehen.

ONYX bindet das CAS MAXIMA als externe Applikation an. MAXIMA Requests werden, in entsprechend vom Nutzer definierter Form, an MAXIMA gesendet, ohne interpretiert oder verändert zu werden. Wählt man als Variablen- und damit Ergebnis-Datentyp einen numerischen Datentyp, wird einzig der float-Ausdruck hinzugefügt.
Wenn beabsichtigt ist, dass {var1} einen beliebigen Wert des Nutzers annehmen kann, ist auch "3+4" oder ein beliebiger anderer Ausdruck denkbar. Wird nun {var1} in einem MAXIMA Request, wie z. B. {var1}^2, verwendet, wird dies entsprechend eines Platzhalters ohne weiteren Eingriff eingesetzt und an MAXIMA zur Berechnung übermittelt. Damit der beabsichtigte Gesamtkontex erhalten bleibt, sind deshalb zusätzliche Klammern um ONYX-Variablen notwendig.
Analyse von Teilnehmerantworten mit Hilfe von Variablen
Durch Maxima-Abfragen im Tab Variablen ist ein Zugriff auf die vom Teilnehmer gewählte Antwort und die korrekte Aufgabenlösung möglich. Einen Einblick gibt die Seite Expertenbewertung.
Automatische Ergänzung ungültiger MAXIMA-Terme
Gibt der Anwender beim Erstellen oder Bearbeiten einer Variable einen nicht gültigen MAXIMA-Ausdruck in das Feld zur Wert-Ermittlung ein, wandelt ONYX den Ausdruck vor Übergabe an MAXIMA in einen gültigen Ausdruck um.
Wert einer numerischen Variable
Bei Ermittlung eines numerischen (Variablen-) Wertes, wird die durch den Autor definierte "ungültige" Berechnung um einen float-Befehl ergänzt: float(...);.
Beispiel
- Die Berechnung "1+2" wird in den MAXIMA-Befehl "float(1+2);" geändert.
- Der Datentyp der Variable wird für die Ergebnisausgabe unabhängig der erfolgten MAXIMA-Berechnung beachtet.
- Wird durch die Berechnung "1+2" der Wert einer Variable vom Typ "Ganze Zahl" gesetzt, ist der Ergebniswert der MAXIMA-Berechnung "3.0", der Variablenwert wird entsprechend auf "3" als ganzzahliger Wert gesetzt.
- Zu Berücksichtigen sind mögliche Grenzen des Wertebereichs im gewählten Datentyp. Soll der erweiterte Datenbereich ganzzahliger Werte genutzt werden, sollte die MAXIMA-Berechnung mit einem gültigen Ausdruck entsprechend formuliert werden, beispielsweise "2^53+1;".
- Ausnahme: Beginnt die "ungültige" Berechnung bereits mit einem float-Befehl, erfolgt nur die Ergänzung mit einem Semikolon gleich zur Ergänzung von "ungültigen" Berechnungen von textbasierten Werten.

Eingabe im Textfeld

Ansicht im IMS QTI Quellcode

Ansicht in der Vorschau mit Ausgabe der Maxima Berechnung
Wert einer Text-Variable
Bei Ermittlung eines textbasierten (Variablen-) Wertes, wird die durch den Autor definierte "ungültige" Berechnung um ein Semikolon ergänzt.
Beispiel
- Die Eingabe "a" wird in den MAXIMA-Befehl "a;" geändert.
- Der Datentyp der Variable wird für die Ergebnisausgabe unabhängig der erfolgten MAXIMA-Berechnung beachtet.
- Wird der Wert der Variable auf den Typ "Text" gesetzt, ist der Ergebniswert der MAXIMA-Berechnung "a", der Variablenwert wird entsprechend auf "a" gesetzt.

Eingabe im Textfeld

Ansicht im IMS QTI Quellcode

Ansicht in der Vorschau mit Ausgabe der Maxima Berechnung
- Ist eine Ausgabe eines Terms statt des Berechnungswertes gewünscht, so muss die Eingabe durch Hochkomma eingeschlossen werden. Wird der Wert der Variable beispielsweise mit "1+2" angegeben, ist der Ergebniswert der MAXIMA-Berechnung "1+2", der Variablenwert wird entsprechend auf "1+2" gesetzt.

Eingabe im Textfeld

Ansicht im IMS QTI Quellcode

Ansicht in der Vorschau mit Ausgabe der Maxima Berechnung