CountNodes: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
(19 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
===Zugehörige Evaluatoren=== | |||
*'''MathEvaluator''' | |||
=== Beschreibung === | === Beschreibung === | ||
Die Funktion ''countNodes'' zählt die Knoten des OpenMathObjektes. | |||
Die Funktion ''countNodes'' | |||
=== Syntax === | === Syntax === | ||
countNodes( | countNodes([[Ausdruck]] argument) | ||
=== Parameter === | === Parameter === | ||
* '''argument''' - die Expression, dessen Knoten | * '''argument''' - die Expression, dessen Knoten gezählt werden sollen | ||
=== Return Value === | === Return Value === | ||
*Gibt die Anzahl der Knoten zurück | * Gibt die Anzahl der Knoten zurück | ||
=== Beispiele === | === Beispiele === | ||
==== Darstellung in OpenMath ==== | |||
\(3 \cdot 5 \) | |||
<syntaxhighlight lang="xml"> | |||
<OMOBJ> | |||
<OMA> | |||
<OMS cd="arith1" name="times" /> | |||
<OMI>3</OMI> | |||
<OMI>5</OMI> | |||
</OMA> | |||
</OMOBJ> | |||
</syntaxhighlight> | |||
\(3 \cdot 5 + 4 \) | |||
<syntaxhighlight lang="xml"> | |||
<OMOBJ> | |||
<OMA> | |||
<OMS cd="arith1" name="plus" /> | |||
<OMA> | |||
<OMS cd="arith1" name="times" /> | |||
<OMI>3</OMI> | |||
<OMI>5</OMI> | |||
</OMA> | |||
<OMI>4</OMI> | |||
</OMA> | |||
</OMOBJ> | |||
</syntaxhighlight> | |||
==== Standardfälle ==== | ==== Standardfälle ==== | ||
'''Jack2:''' | |||
countNodes(3*5) --> returns 4 | |||
countNodes(3*5+4) --> returns 7 | |||
'''Jack3:''' | |||
countNodes(3*5) --> returns 3 | |||
countNodes(3*5+4) --> returns 5 | |||
==== Benutzung mit Variablen ==== | ==== Benutzung mit Variablen ==== | ||
countNodes([var=a]) | |||
==== Benutzung mit studentischen Eingaben ==== | |||
'''Jack2:''' | |||
countNodes([pos=1]) | countNodes([pos=1]) | ||
'''Jack3:''' | |||
countNodes([input=field1]) | |||
=== Hinweise === | === Hinweise === | ||
* | * Die Funktion ''countNodes'' wurde in Jack3 verbessert, sodass sie jetzt nur noch die tatsächliche Anzahl der Knoten zurück gibt. In Jack2 wird diese Funktion immer eine höhere Zahl zurückgeben, da diese dort fälschlicherweise noch interne Knoten zählt. | ||
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen. | |||
* Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können. | |||
[[Kategorie:Evaluatorfunktion]] | [[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Ausdruckfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]] |
Aktuelle Version vom 10. September 2024, 13:02 Uhr
Zugehörige Evaluatoren
- MathEvaluator
Beschreibung
Die Funktion countNodes zählt die Knoten des OpenMathObjektes.
Syntax
countNodes(Ausdruck argument)
Parameter
- argument - die Expression, dessen Knoten gezählt werden sollen
Return Value
- Gibt die Anzahl der Knoten zurück
Beispiele
Darstellung in OpenMath
\(3 \cdot 5 \)
<OMOBJ>
<OMA>
<OMS cd="arith1" name="times" />
<OMI>3</OMI>
<OMI>5</OMI>
</OMA>
</OMOBJ>
\(3 \cdot 5 + 4 \)
<OMOBJ>
<OMA>
<OMS cd="arith1" name="plus" />
<OMA>
<OMS cd="arith1" name="times" />
<OMI>3</OMI>
<OMI>5</OMI>
</OMA>
<OMI>4</OMI>
</OMA>
</OMOBJ>
Standardfälle
Jack2: countNodes(3*5) --> returns 4 countNodes(3*5+4) --> returns 7
Jack3: countNodes(3*5) --> returns 3 countNodes(3*5+4) --> returns 5
Benutzung mit Variablen
countNodes([var=a])
Benutzung mit studentischen Eingaben
Jack2: countNodes([pos=1])
Jack3: countNodes([input=field1])
Hinweise
- Die Funktion countNodes wurde in Jack3 verbessert, sodass sie jetzt nur noch die tatsächliche Anzahl der Knoten zurück gibt. In Jack2 wird diese Funktion immer eine höhere Zahl zurückgeben, da diese dort fälschlicherweise noch interne Knoten zählt.
- Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
- Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.