CountNodes: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==Zugehörige Evaluatoren==
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
 
Die Funktion ''countNodes'' zählt die Knoten des OpenMathObjektes.
Die Funktion ''countNodes'' ruft die Methode ''getNumberOfNodes'' des entsprechenden OpenMathObjektes auf und zählt die Knoten des OpenMathObjektes. (In den implementierten OpenMathObjekten ist jedoch diese Funktion nicht implementiert)


=== Syntax ===
=== Syntax ===
Zeile 15: Zeile 15:


=== 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:'''
  '''Jack2:'''
  countNodes(3*5)    -> return 4
  countNodes(3*5)    --> returns 4
countNodes(3*5+4)    --> returns 7


  '''Jack3:'''
  '''Jack3:'''
  countNodes(3*5)    -> return 3
  countNodes(3*5)    --> returns 3
countNodes(3*5+4)    --> returns 5


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
Zeile 29: Zeile 58:
  countNodes([pos=1])
  countNodes([pos=1])


  Jack3:
  '''Jack3:'''
  countNodes([input=field1])
  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 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.
* 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:Math-Evaluatorfunktion]][[Kategorie:Ausdruckfunktionen]]
[[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.