Skip to content

expression

Typ

inline-Element (Eingabe)
Hinweis: Das Element kann auch bei inputmodels zur allgemeinen Definition von Attribut-Werten verwendet werden. Die untenstehende Syntax und Beschreibungen beziehen sich auf die Funktion als inline-Element

Zulässige Kind-Elemente:

keine

Unterstütze Attribute

  • credits (optional): Anzahl an Punkten, die beim erfolgreichen Lösen vergeben werden. Ist die Eingabe ein Unterelement einer übergeordneten Eingabe, wird die maximal erreichbare absolute Punktzahl durch die übergeordnete Eingabe festgelegt. Die hier im Attribut festgelegte Punktzahl ist dann als Anteil in Bezug auf die Summe der möglichen Punkten aller Unterelemente der übergeordneten Eingabe zu verstehen.
    Default-Wert: 1

  • expanded (optional): Boolescher Wert, der angibt, ob der expandierte Baum der interpretierten Eingabe in Anzahl und Art der Knoten dem expandierten Baum der Lösung entsprechen muss.
    Default-Wert: false (Standardmodell)

  • expect (optional): Leerzeichenseparierte Liste von erlaubten Knoten ("whitelist") für das Wurzelelement des Baums der interpretierten Eingabe.
    Default-Wert: all (Standardmodell)

  • model (optional): Name des Modells, welches zur Validierung verwendet werden soll. Sofern keines definiert wird, wird das Standardmodell bzw. das Modell der übergeordneten Eingabe verwendet.
    Default-Wert: -

  • simplified (optional): Boolescher Wert, der angibt, ob der vereinfachte Baum der interpretierten Eingabe in Anzahl und Art der Knoten dem expandierten Baum der Lösung entsprechen muss.
    Default-Wert: false (Standardmodell)

  • testmode (optional): Bezeichner der angibt, nach welchem Verfahren Eingabe und Lösung verglichen werden sollen. Normalerweise ist dies equality, welcher auf Gleichheit prüft. Bei verbatim muss der Baum der interpretierten Eingabe in Anzahl und Art der Knoten dem expandierten Baum der Lösung entsprechen. Bei derivative by x (x kann durch andere Variablenbezeichner ersetzt werden) wird der Ableitungsausdruck des Eingabe mit dem Ableitungsausdruck der Lösung verglichen. Default-Wert: equality

  • usenot (optional): Leerzeichenseparierte Liste von unerlaubten Knoten ("blacklist"), die nicht im Baum der interpretierten Eingabe vorhanden sein dürfen.
    Default-Wert: -

  • useonce (optional): Leerzeichenseparierte Liste von Knoten, die maximal einmal im Baum der interpretierten Eingabe vorhanden sein dürfen.
    Default-Wert: -

  • useonly (optional): Leerzeichenseparierte Liste von ausschließlich erlaubten Knoten ("whitelist"), die im Baum der interpretierten Eingabe vorhanden sein dürfen.
    Default-Wert: -

weitere Informationen zur Syntax

Beschreibung

Ein expression-Element dient zur Eingabe eines mathematischen Ausdrucks bzw. einer Formel. Der Ausdruck wird durch ein CAS (Nerdamer) ausgewertet und mit der Lösung verglichen. Das expression-Element ist daher bzgl. "Leistungsfähigkeit" auf die Rahmenbedinungen durch das CAS beschränkt. Bei der Auswertung wird ein sogenannter Ausdrucksbaum erzeugt. Beispiel: Der Ausdruck 2 * 5 + 3 soll ausgewertet werden. Die Wurzel (=letzter Operator, der ausgewertet wird) ist hier die Multiplikation: 2 * (5 + 3). Sie besteht aus der Zahl 2 links vom Operator und dem Ausdruck 5 + 3 rechts vom Operator. Der Ausdruck 5 + 3 wiederum besteht aus einem untergeordneten Knoten, welcher zuvor ausgewertet werden muss: Die Zahl 5, dem Operator + und der Zahl 3.
Bitte beachten: Sowohl bei der Angabe der Lösung als auch bei der Eingabe muss das Multiplikationszeichen explizit angegeben werden, z. B. 2a muss als 2 * a angegeben werden.

Code-Beispiele

Code-Beispiel: Standard
<input>
    <expression>a^2 + 2*a*b + b^2</expression>
</input>
Code-Beispiel: expanded
<input>
    <expression expanded="true">(a+b)^2</expression>
</input>
Code-Beispiel: expect
<input>
    <expression expect="sum">(a+b)^2</expression>
</input>
Code-Beispiel: simplified
<input>
    <expression simplified="true">(a+b)^2</expression>
</input>
Code-Beispiel: testmode
<input>
    <expression testmode="verbatim">a*a+2*a*b+b*b</expression>
    <expression testmode="verbatim">a^2+2*a*b+b^2</expression>
</input>
Code-Beispiel: usenot
<input>
    <expression usenot="power">(a+b)^2</expression>
</input>
Code-Beispiel: useonce
<input>
    <expression useonce="power sum">(a+b)^2</expression>
</input>
Code-Beispiel: useonly
<input>
    <expression useonly="sum product difference fraction">(a+b)^2</expression>
</input>