<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.uni-due.de/jack/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PRanz</id>
	<title>JACK Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.uni-due.de/jack/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PRanz"/>
	<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Spezial:Beitr%C3%A4ge/PRanz"/>
	<updated>2026-05-30T16:58:44Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GenerateRImageBase64&amp;diff=11884</id>
		<title>GenerateRImageBase64</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GenerateRImageBase64&amp;diff=11884"/>
		<updated>2024-10-22T09:39:25Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}} ===Zugehörige Evaluatoren=== *&amp;#039;&amp;#039;&amp;#039;MathEvaluator&amp;#039;&amp;#039;&amp;#039;  ===Beschreibung=== Mit der Funktion &amp;#039;&amp;#039;GenerateRImageBase64&amp;#039;&amp;#039; können Bilder in R erzeugt werden. Das Bild wird als Base64-Zeichenkette zurück gegeben. Diese kann in JACK mit   &amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;data:image/png;base64, &amp;lt;base64-zeichenkette&amp;gt;&amp;quot; /&amp;gt; eingebunden werden. Im R-Code können FillInvariablen (pos), sowie Aufga…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}}&lt;br /&gt;
===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Mit der Funktion &#039;&#039;GenerateRImageBase64&#039;&#039; können Bilder in R erzeugt werden. Das Bild wird als Base64-Zeichenkette zurück gegeben. Diese kann in JACK mit &lt;br /&gt;
 &amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;data:image/png;base64, &amp;lt;base64-zeichenkette&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
eingebunden werden.&lt;br /&gt;
Im R-Code können FillInvariablen (pos), sowie Aufgabenvariablen (var) auftauchen. Diese Variablen werden dann automatisch in die &#039;&#039;R&#039;&#039;-Sprache übersetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 generateRImageBase64(&#039;argument&#039;)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;argument&#039;&#039;&#039; - R-Befehl(e) zum Generieren eines Bildes&lt;br /&gt;
&lt;br /&gt;
=== Rückgabe ===&lt;br /&gt;
Es wird der base64-String der Grafik erzeugt. Es kann eine Variable mit der Definition angelegt werden.&lt;br /&gt;
Diese Variable kann in JACK mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;data:image/png;base64, [var=&amp;lt;name&amp;gt;]&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
eingebunden werden. Dann wird in JACK die Grafik angezeigt.&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
 generateRImageBase64(&amp;quot;hist(runif(1337))&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== R-Pakete (JACK3) ===&lt;br /&gt;
Es werden verschiedene R-Pakete zur Verfügung gestellt, die innerhalb von R-Code genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Pakete sind installiert:&lt;br /&gt;
* AER&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* car&lt;br /&gt;
* compositions&lt;br /&gt;
* datasets&lt;br /&gt;
* DescTools&lt;br /&gt;
* dplyr&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* Hmisc&lt;br /&gt;
* ineq&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* lmtest&lt;br /&gt;
* MASS&lt;br /&gt;
* methods&lt;br /&gt;
* moments&lt;br /&gt;
* mtvnorm&lt;br /&gt;
* psych&lt;br /&gt;
* sandwich&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* tools&lt;br /&gt;
* utils&lt;br /&gt;
* zoo&lt;br /&gt;
&lt;br /&gt;
Davon werden die folgenden &#039;&#039;&#039;immer&#039;&#039;&#039; geladen und stehen somit immer zur Verfügung:&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* datasets&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* methods&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* utils&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pakete die installiert, aber nicht geladen sind können wie folgt verwendet werden:&#039;&#039;&#039;&lt;br /&gt;
* Das Paket kann mit &amp;lt;code&amp;gt;library(&amp;quot;paketname&amp;quot;)&amp;lt;/code&amp;gt; geladen werden. Danach stehen alle Funktionen zur Verfügung. &#039;&#039;&#039;Zu Beachten:&#039;&#039;&#039; Möglicherweise überschreibt dies Funktionen aus bereits geladenen Paketen. Existiert bereits eine Funktion mit demselben Namen wird immer die, aus dem zuletzt geladenen Paket, verwendet. Ein so geladenes Paket steht immer für den darauf folgenden R-Code zur Verfügung. Pakete werden nur für eine Anfrage geladen und müssen in anderen Komponenten erneut geladen werden (Beispielsweise muss im Vordefinierten Code und im R-Taschenrechner jeweils die Library geladen werden, damit diese in beiden zur Verfügung steht). Wird der Library-Befehl aus dem Code entfernt und dieser erneut abgeschickt, wird das Paket nicht mehr geladen.&lt;br /&gt;
ODER&lt;br /&gt;
* Funktionen aus nicht geladenen Paketen können immer mit dem ::-Operator genutzt werden. Dieser wird im folgenden Format verwendet &amp;lt;code&amp;gt;paketname::funktion&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;base::abs(-2) -&amp;gt; 2&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn Sie weitere R-Pakete benötigen, wenden Sie sich bitte an das JACK-Team.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=EvaluateInR&amp;diff=11882</id>
		<title>EvaluateInR</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=EvaluateInR&amp;diff=11882"/>
		<updated>2024-10-18T06:39:15Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Mit der Funktion &#039;&#039;EvaluateInR&#039;&#039; ist es möglich &#039;&#039;R&#039;&#039;-Befehle auszuführen. Das Argument der Funktion ist eine [[Zeichenkette]], welche in &#039;&#039;R&#039;&#039; direkt ausgeführt wird.&lt;br /&gt;
In der [[Zeichenkette]] können FillInvariablen (pos), sowie Aufgabenvariablen (var) auftauchen. Diese Variablen werden dann automatisch in die &#039;&#039;R&#039;&#039;-Sprache übersetzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strings müssen mit einfachen Anführungszeichen &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden, damit sie korrekt umgeformt werden.&#039;&#039;&#039; Bsp.: &amp;lt;code&amp;gt;evaluateInR(&amp;quot;ifelse([var=test]==&#039;Test&#039;, 0, 1)&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 evaluateInR(&#039;argument&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Eine [[Variablen (Jack2)|Variable]] &#039;&#039;Test&#039;&#039; kann dann folgendermaßen beschrieben werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;option name=&amp;quot;Test&amp;quot; type=&amp;quot;Typ&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;argument&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;Typ&#039;&#039;&#039; - Entspricht dem Typen der Variable (nur in Jack2 notwendig anzugeben).&lt;br /&gt;
* &#039;&#039;&#039;argument&#039;&#039;&#039; - R-Befehl&lt;br /&gt;
&lt;br /&gt;
=== Befehlsreferenz für R ===&lt;br /&gt;
In folgender Tabelle sind einige Beispiele, wie R verwendet werden kann. Die Variablen die damit gesetzt werden, können ebenfalls wieder in R angewandt werden oder auch für andere Zwecke im Evaluator verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;argument&#039;&#039;&#039;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;Typ&#039;&#039;&#039;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| list(1, 2.34)&lt;br /&gt;
| [[List]]&lt;br /&gt;
| Eine Liste mit 2 Einträgen&lt;br /&gt;
|-&lt;br /&gt;
| list(1, ...., n)&lt;br /&gt;
| [[List]]&lt;br /&gt;
| Eine Liste mit n Einträgen&lt;br /&gt;
|-&lt;br /&gt;
| c(1,2,3,4,5,6)&lt;br /&gt;
| [[Vektor]]&lt;br /&gt;
| Eine Vektor mit der Länge 6&lt;br /&gt;
|-&lt;br /&gt;
| matrix(c(1,2,3,4,5,6),2,3)&lt;br /&gt;
| [[Matrix]]&lt;br /&gt;
| Eine 2x3-Matrix mit folgenden Einträgen: [1, 3, 5; 2, 4, 6]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;test&#039;&lt;br /&gt;
| String&lt;br /&gt;
| Eine Zeichenkette muss mit &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eine Ausführliche Dokumentation findet man hier: [https://cran.r-project.org/manuals.html]&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
====Beispiel 1====&lt;br /&gt;
Eine 3x3-Matrix als [[Variablen (Jack2)|Variable]] mit Namen &#039;&#039;A&#039;&#039; erstellt man durch den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option name=&amp;quot;A&amp;quot; type=&amp;quot;matrix&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 A = evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe ist in beiden Fällen \( A = \left(\begin{array}{rrr}1 &amp;amp; 4 &amp;amp; 7\\2 &amp;amp; 5 &amp;amp; 8\\3 &amp;amp; 6 &amp;amp; 9 \end{array}\right)\)&lt;br /&gt;
&lt;br /&gt;
====Beispiel 2====&lt;br /&gt;
In dem folgenden Beispiel wird eine Matrixvariable &#039;&#039;A&#039;&#039; erzeugt und anschließend der Rang von &#039;&#039;A&#039;&#039; in der Variable &#039;&#039;rang&#039;&#039; berechnet und gespeichert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;variables&amp;gt;&lt;br /&gt;
   &amp;lt;option name=&amp;quot;A&amp;quot; type=&amp;quot;matrix&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;option name=&amp;quot;rang&amp;quot; type=&amp;quot;vector&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;length(dim(matrix(c(1,2,3,4,5,6,7,8,9),3,3)))&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/variables&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 A = evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&lt;br /&gt;
 rang = evaluateInR(&#039;length(dim([var=A]))&#039;)&lt;br /&gt;
&lt;br /&gt;
Erzeugt eine Variable &#039;&#039;A&#039;&#039; (vom Typ &#039;&#039;matrix&#039;&#039;) und bezieht sich auf eine &#039;&#039;&#039;3x3-Matrix&#039;&#039;&#039;. Außerdem wird eine Variable &#039;&#039;rang&#039;&#039; (vom Typ &#039;&#039;vector&#039;&#039;) erzeugt, welche den Rang der Variable &#039;&#039;A&#039;&#039; berechnet. In diesem Beisppiel ist \(A = \left(\begin{array}{rrr} 1 &amp;amp; 4 &amp;amp; 7 \\ 2 &amp;amp; 5 &amp;amp; 8 \\ 3 &amp;amp; 6 &amp;amp; 9 \end{array}\right)\) und &amp;lt;code&amp;gt;rang=2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Änderungen in JACK3===&lt;br /&gt;
&#039;&#039;&#039;Die folgenden Änderungen beziehen sich nur auf JACK3.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Die Funktion &amp;lt;code&amp;gt;evaluateInR&amp;lt;/code&amp;gt; erlaubt kein Verschachteln von Funktionen. Es ist nur &#039;&#039;&#039;ein&#039;&#039;&#039; String als Argument erlaubt. &lt;br /&gt;
* Zum Konkatenieren von R-Ausdrücken und Variablen, ist es erlaubt diese direkt im String anzugeben.&lt;br /&gt;
&lt;br /&gt;
=== Hinweis===&lt;br /&gt;
* &#039;&#039;&#039;Strings müssen mit einfachen Anführungszeichen &#039; umgeben werden, damit sie korrekt umgeformt werden.&#039;&#039;&#039; &lt;br /&gt;
* Bei Rechenausdrücken mit Gleitkommazahlen können Rundungsfehler auftreten. Falls solche Fehler auftreten, kann die Berechnung alternativ mithilfe von &#039;&#039;&#039;[[EvaluateInSage]]&#039;&#039;&#039; durchgeführt werden. Rundungsfehler können auch mit &#039;&#039;&#039;round()&#039;&#039;&#039; verbessert werden. Zudem ist darauf zu achten, dass Gleitkommazahlen ggf. auf eine sinnvolle Nachkommastelle gerundet werden.&lt;br /&gt;
&lt;br /&gt;
=== R-Pakete (JACK3) ===&lt;br /&gt;
Es werden verschiedene R-Pakete zur Verfügung gestellt, die innerhalb von R-Code genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Pakete sind installiert:&lt;br /&gt;
* AER&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* car&lt;br /&gt;
* compositions&lt;br /&gt;
* datasets&lt;br /&gt;
* DescTools&lt;br /&gt;
* dplyr&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* Hmisc&lt;br /&gt;
* ineq&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* lmtest&lt;br /&gt;
* MASS&lt;br /&gt;
* methods&lt;br /&gt;
* moments&lt;br /&gt;
* mtvnorm&lt;br /&gt;
* psych&lt;br /&gt;
* sandwich&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* tools&lt;br /&gt;
* utils&lt;br /&gt;
* zoo&lt;br /&gt;
&lt;br /&gt;
Davon werden die folgenden &#039;&#039;&#039;immer&#039;&#039;&#039; geladen und stehen somit immer zur Verfügung:&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* datasets&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* methods&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* utils&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pakete die installiert, aber nicht geladen sind können wie folgt verwendet werden:&#039;&#039;&#039;&lt;br /&gt;
* Das Paket kann mit &amp;lt;code&amp;gt;library(&amp;quot;paketname&amp;quot;)&amp;lt;/code&amp;gt; geladen werden. Danach stehen alle Funktionen zur Verfügung. &#039;&#039;&#039;Zu Beachten:&#039;&#039;&#039; Möglicherweise überschreibt dies Funktionen aus bereits geladenen Paketen. Existiert bereits eine Funktion mit demselben Namen wird immer die, aus dem zuletzt geladenen Paket, verwendet. Ein so geladenes Paket steht immer für den darauf folgenden R-Code zur Verfügung. Pakete werden nur für eine Anfrage geladen und müssen in anderen Komponenten erneut geladen werden (Beispielsweise muss im Vordefinierten Code und im R-Taschenrechner jeweils die Library geladen werden, damit diese in beiden zur Verfügung steht). Wird der Library-Befehl aus dem Code entfernt und dieser erneut abgeschickt, wird das Paket nicht mehr geladen.&lt;br /&gt;
ODER&lt;br /&gt;
* Funktionen aus nicht geladenen Paketen können immer mit dem ::-Operator genutzt werden. Dieser wird im folgenden Format verwendet &amp;lt;code&amp;gt;paketname::funktion&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;base::abs(-2) -&amp;gt; 2&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn Sie weitere R-Pakete benötigen, wenden Sie sich bitte an das JACK-Team.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=EvaluateInR&amp;diff=11881</id>
		<title>EvaluateInR</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=EvaluateInR&amp;diff=11881"/>
		<updated>2024-10-18T06:38:50Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Mit der Funktion &#039;&#039;EvaluateInR&#039;&#039; ist es möglich &#039;&#039;R&#039;&#039;-Befehle auszuführen. Das Argument der Funktion ist eine [[Zeichenkette]], welche in &#039;&#039;R&#039;&#039; direkt ausgeführt wird.&lt;br /&gt;
In der [[Zeichenkette]] können FillInvariablen (pos), sowie Aufgabenvariablen (var) auftauchen. Diese Variablen werden dann automatisch in die &#039;&#039;R&#039;&#039;-Sprache übersetzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strings müssen mit einfachen Anführungszeichen &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden, damit sie korrekt umgeformt werden.&#039;&#039;&#039; Bsp.: &amp;lt;code&amp;gt;evaluateInR(&amp;quot;ifelse([var=test]==&#039;Test&#039;, 0, 1)&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 evaluateInR(&#039;argument&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Eine [[Variablen (Jack2)|Variable]] &#039;&#039;Test&#039;&#039; kann dann folgendermaßen beschrieben werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;option name=&amp;quot;Test&amp;quot; type=&amp;quot;Typ&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;argument&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;Typ&#039;&#039;&#039; - Entspricht dem Typen der Variable (nur in Jack2 notwendig anzugeben).&lt;br /&gt;
* &#039;&#039;&#039;argument&#039;&#039;&#039; - R-Befehl&lt;br /&gt;
&lt;br /&gt;
=== Befehlsreferenz für R ===&lt;br /&gt;
In folgender Tabelle sind einige Beispiele, wie R verwendet werden kann. Die Variablen die damit gesetzt werden, können ebenfalls wieder in R angewandt werden oder auch für andere Zwecke im Evaluator verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;argument&#039;&#039;&#039;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;Typ&#039;&#039;&#039;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| list(1, 2.34)&lt;br /&gt;
| [[List]]&lt;br /&gt;
| Eine Liste mit 2 Einträgen&lt;br /&gt;
|-&lt;br /&gt;
| list(1, ...., n)&lt;br /&gt;
| [[List]]&lt;br /&gt;
| Eine Liste mit n Einträgen&lt;br /&gt;
|-&lt;br /&gt;
| c(1,2,3,4,5,6)&lt;br /&gt;
| [[Vektor]]&lt;br /&gt;
| Eine Vektor mit der Länge 6&lt;br /&gt;
|-&lt;br /&gt;
| matrix(c(1,2,3,4,5,6),2,3)&lt;br /&gt;
| [[Matrix]]&lt;br /&gt;
| Eine 2x3-Matrix mit folgenden Einträgen: [1, 3, 5; 2, 4, 6]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;test&#039;&lt;br /&gt;
| String&lt;br /&gt;
| Eine Zeichenkette muss mit &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eine Ausführliche Dokumentation findet man hier: [https://cran.r-project.org/manuals.html]&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
====Beispiel 1====&lt;br /&gt;
Eine 3x3-Matrix als [[Variablen (Jack2)|Variable]] mit Namen &#039;&#039;A&#039;&#039; erstellt man durch den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option name=&amp;quot;A&amp;quot; type=&amp;quot;matrix&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 A = evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe ist in beiden Fällen \( A = \left(\begin{array}{rrr}1 &amp;amp; 4 &amp;amp; 7\\2 &amp;amp; 5 &amp;amp; 8\\3 &amp;amp; 6 &amp;amp; 9 \end{array}\right)\)&lt;br /&gt;
&lt;br /&gt;
====Beispiel 2====&lt;br /&gt;
In dem folgenden Beispiel wird eine Matrixvariable &#039;&#039;A&#039;&#039; erzeugt und anschließend der Rang von &#039;&#039;A&#039;&#039; in der Variable &#039;&#039;rang&#039;&#039; berechnet und gespeichert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;variables&amp;gt;&lt;br /&gt;
   &amp;lt;option name=&amp;quot;A&amp;quot; type=&amp;quot;matrix&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;option name=&amp;quot;rang&amp;quot; type=&amp;quot;vector&amp;quot; cas=&amp;quot;Evaluator&amp;quot; value=&amp;quot;evaluateInR(&#039;length(dim(matrix(c(1,2,3,4,5,6,7,8,9),3,3)))&#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/variables&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 A = evaluateInR(&#039;matrix(c(1,2,3,4,5,6,7,8,9),3,3)&#039;)&lt;br /&gt;
 rang = evaluateInR(&#039;length(dim([var=A]))&#039;)&lt;br /&gt;
&lt;br /&gt;
Erzeugt eine Variable &#039;&#039;A&#039;&#039; (vom Typ &#039;&#039;matrix&#039;&#039;) und bezieht sich auf eine &#039;&#039;&#039;3x3-Matrix&#039;&#039;&#039;. Außerdem wird eine Variable &#039;&#039;rang&#039;&#039; (vom Typ &#039;&#039;vector&#039;&#039;) erzeugt, welche den Rang der Variable &#039;&#039;A&#039;&#039; berechnet. In diesem Beisppiel ist \(A = \left(\begin{array}{rrr} 1 &amp;amp; 4 &amp;amp; 7 \\ 2 &amp;amp; 5 &amp;amp; 8 \\ 3 &amp;amp; 6 &amp;amp; 9 \end{array}\right)\) und &amp;lt;code&amp;gt;rang=2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Änderungen in JACK3===&lt;br /&gt;
&#039;&#039;&#039;Die folgenden Änderungen beziehen sich nur auf JACK3.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Die Funktion &amp;lt;code&amp;gt;evaluateInR&amp;lt;/code&amp;gt; erlaubt kein Verschachteln von Funktionen. Es ist nur &#039;&#039;&#039;ein&#039;&#039;&#039; String als Argument erlaubt. &lt;br /&gt;
* Zum Konkatenieren von R-Ausdrücken und Variablen, ist es erlaubt diese direkt im String anzugeben.&lt;br /&gt;
&lt;br /&gt;
=== Hinweis===&lt;br /&gt;
* &#039;&#039;&#039;Strings müssen mit einfachen Anführungszeichen &#039; umgeben werden, damit sie korrekt umgeformt werden.&#039;&#039;&#039; &lt;br /&gt;
* Bei Rechenausdrücken mit Gleitkommazahlen können Rundungsfehler auftreten. Falls solche Fehler auftreten, kann die Berechnung alternativ mithilfe von &#039;&#039;&#039;[[EvaluateInSage]]&#039;&#039;&#039; durchgeführt werden. Rundungsfehler können auch mit &#039;&#039;&#039;round()&#039;&#039;&#039; verbessert werden. Zudem ist darauf zu achten, dass Gleitkommazahlen ggf. auf eine sinnvolle Nachkommastelle gerundet werden.&lt;br /&gt;
&lt;br /&gt;
=== R-Pakete ===&lt;br /&gt;
Es werden verschiedene R-Pakete zur Verfügung gestellt, die innerhalb von R-Code genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Pakete sind installiert:&lt;br /&gt;
* AER&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* car&lt;br /&gt;
* compositions&lt;br /&gt;
* datasets&lt;br /&gt;
* DescTools&lt;br /&gt;
* dplyr&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* Hmisc&lt;br /&gt;
* ineq&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* lmtest&lt;br /&gt;
* MASS&lt;br /&gt;
* methods&lt;br /&gt;
* moments&lt;br /&gt;
* mtvnorm&lt;br /&gt;
* psych&lt;br /&gt;
* sandwich&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* tools&lt;br /&gt;
* utils&lt;br /&gt;
* zoo&lt;br /&gt;
&lt;br /&gt;
Davon werden die folgenden &#039;&#039;&#039;immer&#039;&#039;&#039; geladen und stehen somit immer zur Verfügung:&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* datasets&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* methods&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* utils&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pakete die installiert, aber nicht geladen sind können wie folgt verwendet werden:&#039;&#039;&#039;&lt;br /&gt;
* Das Paket kann mit &amp;lt;code&amp;gt;library(&amp;quot;paketname&amp;quot;)&amp;lt;/code&amp;gt; geladen werden. Danach stehen alle Funktionen zur Verfügung. &#039;&#039;&#039;Zu Beachten:&#039;&#039;&#039; Möglicherweise überschreibt dies Funktionen aus bereits geladenen Paketen. Existiert bereits eine Funktion mit demselben Namen wird immer die, aus dem zuletzt geladenen Paket, verwendet. Ein so geladenes Paket steht immer für den darauf folgenden R-Code zur Verfügung. Pakete werden nur für eine Anfrage geladen und müssen in anderen Komponenten erneut geladen werden (Beispielsweise muss im Vordefinierten Code und im R-Taschenrechner jeweils die Library geladen werden, damit diese in beiden zur Verfügung steht). Wird der Library-Befehl aus dem Code entfernt und dieser erneut abgeschickt, wird das Paket nicht mehr geladen.&lt;br /&gt;
ODER&lt;br /&gt;
* Funktionen aus nicht geladenen Paketen können immer mit dem ::-Operator genutzt werden. Dieser wird im folgenden Format verwendet &amp;lt;code&amp;gt;paketname::funktion&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;base::abs(-2) -&amp;gt; 2&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn Sie weitere R-Pakete benötigen, wenden Sie sich bitte an das JACK-Team.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Dynamischer_R_Checker_(JACK3)&amp;diff=11880</id>
		<title>Dynamischer R Checker (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Dynamischer_R_Checker_(JACK3)&amp;diff=11880"/>
		<updated>2024-10-18T06:37:55Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der dynamische Checker vergleicht den Output eines vom Lernenden eingereichten Codes mit dem erwarteten Output. Dazu wird innerhalb des Checkers ein Testfall definiert (&#039;&#039;Erwartete Ausgabe&#039;&#039;), in dem der Code hinterlegt wird, der den zu erwarteten richtigen Output generiert. Dieser wird dann nach der Einreichung des Lernenden mit dem vom Code des Lernenden generierten Output verglichen. Durch das Klicken auf den Button &#039;&#039;Dynamischer Testfall&#039;&#039; wird ein dynamischer Test erzeugt und ein Fenster öffnet sich. Dort lassen sich folgende Einstellungen vornehmen:&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Name des Testfalls.&lt;br /&gt;
* &#039;&#039;&#039;Postcode:&#039;&#039;&#039; Es ist möglich benutzerdefinierten Postcode in Aufgaben zu hinterlegen. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Hier können Aufgabenvariablen verwendet werden. Der Wert der Variablen wird in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Nachverarbeitungsfunktion:&#039;&#039;&#039; Muss nur gesetzt sein, falls spezielle R-Funktionen zur Nachbearbeitung des studentischen Codes nötig sind. Dies kann nötig sein, um verschiedene richtige Antworten auf ein gleiches Format zu bringen, dann könnte in dem Feld &#039;&#039;erwartete Ausgabe&#039;&#039; auf die Ausgabe dieser Nachbearbeitungsfunktion getestet werden. Für einfache Aufgaben können diese Felder zunächst leer gelassen werden. Beispiel: Wird hier der Wert &amp;quot;myParser&amp;quot; angegeben, so wird nicht mit der intern generierten Funktion &amp;quot;studentInputAsFunc()&amp;quot; verglichen, sondern mit &amp;quot;myParser(studentInputAsFunc())&amp;quot;. In diesem Fall muss die Funktion im Feld postCode definiert werden! &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Hier können Aufgabenvariablen verwendet werden. Der Wert der Variablen wird in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Ausgabe:&#039;&#039;&#039; Hier sollte der Ausdruck stehen, der mit dem Testthat-Framework auf Gleichheit getestet werden soll. Hier ist zu beachten, dass es nötig sein kann Variablenersetzungen wie im &#039;&#039;Vorausgefüllten Code&#039;&#039; vorzunehmen. &#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Variablen, &#039;&#039;&#039;die Text enthalten&#039;&#039;&#039;, müssen mit &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden, damit sie korrekt in den R-Ausdruck eingebettet werden. Bsp.: &amp;lt;code&amp;gt;&#039;[var=text]&#039;==&#039;Text&#039; wird zu &#039;Text&#039;==&#039;Text&#039;&amp;lt;/code&amp;gt; &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird automatisch in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Toleranz (e^{...}):&#039;&#039;&#039; Der Vergleich mit dem Testthat-Framework wird mit Toleranz vorgenommen. &#039;&#039;-4&#039;&#039; bedeutet hier, dass auf &#039;&#039;&#039;|erwartung-eingabe| &amp;lt;e^-4&#039;&#039;&#039; geprüft wird.&lt;br /&gt;
* &#039;&#039;&#039;Regelart:&#039;&#039;&#039; Hier kann man zwischen &#039;&#039;Absence&#039;&#039; und &#039;&#039;Presence&#039;&#039; wählen. Bei Absence darf die &#039;&#039;erwartete Ausgabe&#039;&#039; nicht vorhanden sein und bei Presence muss die &#039;&#039;erwartete Ausgabe&#039;&#039; vorhanden sein.&lt;br /&gt;
* &#039;&#039;&#039;Punktemodus:&#039;&#039;&#039; Hier kann man zwischen &#039;&#039;Deduction&#039;&#039; und &#039;&#039;Gain&#039;&#039; wählen, d.h. ob die Punkte bei erfolgreichem Test abgezogen werden oder aufaddiert werden.&lt;br /&gt;
* &#039;&#039;&#039;Punkte:&#039;&#039;&#039; Die Punkte, die je nach Punktemodus abgezogen oder aufaddiert werden. Am Ende werden die Punkte auf 0-100 Punkte eingeschränkt, d.h. es gibt keine negativen Punkte)&lt;br /&gt;
* &#039;&#039;&#039;Feedback (im Fehlerfall):&#039;&#039;&#039; Wird dem Lernenden angezeigt, wenn dieser Test fehlschlägt.&lt;br /&gt;
[[File:Dynamischer R Testfall.png|center|thumb|600px|Beispiel für einen dynamischen Test einer R Aufgabe]]&lt;br /&gt;
In dem Beispiel soll der Mittelwert berechnet werden. Der dynamische Checker schaut, ob das Ergebnis übereinstimmt. Wenn das Ergebnis der Mittelwert der angegebenen Zahlen ist, dann gibt dieser Checker 60 Punkte zurück.&lt;br /&gt;
&lt;br /&gt;
=== R-Pakete ===&lt;br /&gt;
Es werden verschiedene R-Pakete zur Verfügung gestellt, die innerhalb von R-Code genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Pakete sind installiert:&lt;br /&gt;
* AER&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* car&lt;br /&gt;
* compositions&lt;br /&gt;
* datasets&lt;br /&gt;
* DescTools&lt;br /&gt;
* dplyr&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* Hmisc&lt;br /&gt;
* ineq&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* lmtest&lt;br /&gt;
* MASS&lt;br /&gt;
* methods&lt;br /&gt;
* moments&lt;br /&gt;
* mtvnorm&lt;br /&gt;
* psych&lt;br /&gt;
* sandwich&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* tools&lt;br /&gt;
* utils&lt;br /&gt;
* zoo&lt;br /&gt;
&lt;br /&gt;
Davon werden die folgenden &#039;&#039;&#039;immer&#039;&#039;&#039; geladen und stehen somit immer zur Verfügung:&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* datasets&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* methods&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* utils&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pakete die installiert, aber nicht geladen sind können wie folgt verwendet werden:&#039;&#039;&#039;&lt;br /&gt;
* Das Paket kann mit &amp;lt;code&amp;gt;library(&amp;quot;paketname&amp;quot;)&amp;lt;/code&amp;gt; geladen werden. Danach stehen alle Funktionen zur Verfügung. &#039;&#039;&#039;Zu Beachten:&#039;&#039;&#039; Möglicherweise überschreibt dies Funktionen aus bereits geladenen Paketen. Existiert bereits eine Funktion mit demselben Namen wird immer die, aus dem zuletzt geladenen Paket, verwendet. Ein so geladenes Paket steht immer für den darauf folgenden R-Code zur Verfügung. Pakete werden nur für eine Anfrage geladen und müssen in anderen Komponenten erneut geladen werden (Beispielsweise muss im Vordefinierten Code und im R-Taschenrechner jeweils die Library geladen werden, damit diese in beiden zur Verfügung steht). Wird der Library-Befehl aus dem Code entfernt und dieser erneut abgeschickt, wird das Paket nicht mehr geladen.&lt;br /&gt;
ODER&lt;br /&gt;
* Funktionen aus nicht geladenen Paketen können immer mit dem ::-Operator genutzt werden. Dieser wird im folgenden Format verwendet &amp;lt;code&amp;gt;paketname::funktion&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;base::abs(-2) -&amp;gt; 2&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn Sie weitere R-Pakete benötigen, wenden Sie sich bitte an das JACK-Team.&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;br /&gt;
[[Kategorie:Checker]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11879</id>
		<title>R (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11879"/>
		<updated>2024-10-18T06:36:53Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der R-Aufgabenteil ist ein asynchron geprüfter Aufgabenteil, der es ermöglicht R-Code dynamisch und statisch zu prüfen. Bei mehrstufigen Aufgaben können vom Lernenden nach dem Einreichen schon weitere Aufgabenteile bearbeitet werden, während die asynchronen Checks im Hintergrund noch laufen.&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; An dieser Stelle kann optional ein Name für den Aufgabenteil eingegeben werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:R_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine R Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Vorausgefüllter Code:&#039;&#039;&#039; Bei den R Aufgaben gibt es die Möglichkeit den Lernenden bereits einen vorausgefüllten Code zur Verfügung zu stellen. Diesen müssen sie dann nur noch vervollständigen. Die Variablen werden hier entsprechend ersetzt. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird bei der Ersetzung in R-Syntax umgeformt.&lt;br /&gt;
[[File:R_VorausgefuellterCode.JPG|center|thumb|800px|Vorausgefüllter Code bei R Aufgaben]]&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl dieses Aufgabenteils innerhalb der ganzen Aufgabe&lt;br /&gt;
* &#039;&#039;&#039;Evaluierungsregel:&#039;&#039;&#039; In dem Eingabefeld gibt man die Regel an wie die Punkte aus den verschiedenen Checkern zusammengesetzt werden. Jeder der Checker kann dabei unterschiedlich gewichtet sein. Unter dem Eingabefeld sind die konfigurierten Variablen aufgelistet. Sind für die Variablen Namen konfiguriert worden, so werden diese dort mit aufgeführt. Variablen werden mit den Symbolen #{} eingeschlossen. Wird das Feld leer gelassen werden alle Testfallgruppen gleich gewichtet gewertet.&lt;br /&gt;
[[File:R_Evaluierungsregel.JPG|center|thumb|800px|Evaluierungsregeln bei R Aufgaben]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Wenn der Haken gesetzt wurde kann der Lernende die Aufgabe überspringen. Dazu gibt es die Möglichkeit einen Text dem Lernenden anzuzeigen, wenn dieser den Aufgabenteil übersprungen hat. Den Text kann man über Klicken in das Textfeld oder das Icon [[File:Icon-Pencil.jpg|22px]] hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe gehen soll, wenn der Lernende eine Lösung eingereicht hat. Es gibt die folgenden Möglichkeiten:&lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Dieser Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion lässt sich gut bei Übungsaufgaben einsetzen.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Checker===&lt;br /&gt;
Der R-Aufgabenteil hat ein sehr flexibles Konzept, wie asynchrone Checks zusammengestellt werden:&lt;br /&gt;
* Zunächst können beliebig viele Gruppen von Testfällen angelegt werden.&lt;br /&gt;
* Jede Gruppe kann aus beliebig vielen statischen und dynamischen Checks bestehen.&lt;br /&gt;
* Jeder Gruppe wird eine Punktzahl zugewiesen, indem die Punkte jedes individuellen Checks aufaddiert (Gain) bzw. abgezogen (Deduction) werden.&lt;br /&gt;
* Die Punktzahl jeder Gruppe kann in der Evaluierungsregel im Feedback referenziert werden (siehe oben) und unterschiedlich stark in die Bewertung eingehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:R_Testfallgruppen.JPG|center]]&lt;br /&gt;
In diesem Beispiel gibt es eine Testfall Gruppe mit einem statischen und einem dynamischen Checker. Für nähere Informationen zu den Checkern siehe:&lt;br /&gt;
&lt;br /&gt;
* [[Dynamischer R Checker (JACK3)|Dynamischer R Checker]] zum Ausführen von Testfällen.&lt;br /&gt;
* [[R GReQL Checker (JACK3)|Statischer R Checker]] für das Prüfen mithilfe von GReQL-Regeln.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testfallgruppen Konfiguration&#039;&#039;&#039;&lt;br /&gt;
[[Datei:R_TestfallKonfiguration.JPG|center]]&lt;br /&gt;
Hier lässt sich die ganze Testfallgruppe konfigurieren.&lt;br /&gt;
* &#039;&#039;&#039;Variablenname:&#039;&#039;&#039; Den hier angegebene Variablenname braucht man, um die Testfallgruppe im Feedback-Tab anzugeben.&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Zusätzlich zu dem automatisch generierten Variablennamen kann man hier selber einen Namen eingeben. Dieser dient dazu in dem Tab &amp;quot;Feedback&amp;quot; die Gesamtberechnung vornehmen zu können.&lt;br /&gt;
Die anderen Einstellungsmöglichkeiten sind noch nicht fertig implementiert.&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen für diesen Aufgabentyp zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=rStudentInputSetBySystem]&amp;lt;/code&amp;gt;|| Der eingereichte R-Code&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[meta=rStagePrefilledCode]&amp;lt;/code&amp;gt;|| Der vorausgefüllte R-Code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== R-Pakete ===&lt;br /&gt;
Es werden verschiedene R-Pakete zur Verfügung gestellt, die innerhalb von R-Code genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Pakete sind installiert:&lt;br /&gt;
* AER&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* car&lt;br /&gt;
* compositions&lt;br /&gt;
* datasets&lt;br /&gt;
* DescTools&lt;br /&gt;
* dplyr&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* Hmisc&lt;br /&gt;
* ineq&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* lmtest&lt;br /&gt;
* MASS&lt;br /&gt;
* methods&lt;br /&gt;
* moments&lt;br /&gt;
* mtvnorm&lt;br /&gt;
* psych&lt;br /&gt;
* sandwich&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* tools&lt;br /&gt;
* utils&lt;br /&gt;
* zoo&lt;br /&gt;
&lt;br /&gt;
Davon werden die folgenden &#039;&#039;&#039;immer&#039;&#039;&#039; geladen und stehen somit immer zur Verfügung:&lt;br /&gt;
* aghanck&lt;br /&gt;
* base&lt;br /&gt;
* datasets&lt;br /&gt;
* graphics&lt;br /&gt;
* grDevices&lt;br /&gt;
* grid&lt;br /&gt;
* KernSmooth&lt;br /&gt;
* lattice&lt;br /&gt;
* methods&lt;br /&gt;
* stats&lt;br /&gt;
* testthat&lt;br /&gt;
* utils&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pakete die installiert, aber nicht geladen sind können wie folgt verwendet werden:&#039;&#039;&#039;&lt;br /&gt;
* Das Paket kann mit &amp;lt;code&amp;gt;library(&amp;quot;paketname&amp;quot;)&amp;lt;/code&amp;gt; geladen werden. Danach stehen alle Funktionen zur Verfügung. &#039;&#039;&#039;Zu Beachten:&#039;&#039;&#039; Möglicherweise überschreibt dies Funktionen aus bereits geladenen Paketen. Existiert bereits eine Funktion mit demselben Namen wird immer die, aus dem zuletzt geladenen Paket, verwendet. Ein so geladenes Paket steht immer für den darauf folgenden R-Code zur Verfügung. Pakete werden nur für eine Anfrage geladen und müssen in anderen Komponenten erneut geladen werden (Beispielsweise muss im Vordefinierten Code und im R-Taschenrechner jeweils die Library geladen werden, damit diese in beiden zur Verfügung steht). Wird der Library-Befehl aus dem Code entfernt und dieser erneut abgeschickt, wird das Paket nicht mehr geladen.&lt;br /&gt;
ODER&lt;br /&gt;
* Funktionen aus nicht geladenen Paketen können immer mit dem ::-Operator genutzt werden. Dieser wird im folgenden Format verwendet &amp;lt;code&amp;gt;paketname::funktion&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;base::abs(-2) -&amp;gt; 2&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn Sie weitere R-Pakete benötigen, wenden Sie sich bitte an das JACK-Team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11876</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11876"/>
		<updated>2024-10-15T11:58:04Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
** &#039;&#039;&#039;Editor auf das Ändern von Farben beschränken:&#039;&#039;&#039; Wird hier ein Haken gesetzt, können Lernende im Editor nur noch das Molekül farbig markieren. Zudem wird das Molekül mit einer höheren Strichstärke dargestellt, sodass Markierungen besser ersichtlich sind. Andere Arten der Manipulation sowie auch das Erstellen neuer Moleküle ist dann nicht mehr möglich. Diese Option kann sinnvoll sein, wenn der Student Bereiche im Molekül farblich markieren soll, aber ansonsten keine Änderungen am Molekül vornehmen darf.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es stehen mehrere Funktion zur Verfügung.&lt;br /&gt;
** &#039;&#039;&#039;Reaktionen in der Eingabe analysieren&#039;&#039;&#039;: Es wird nach Reaktionspfeilen gesucht und die gefundene Moleküle in Bezug auf diese Reaktionen ausgewertet und zugeordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
** &#039;&#039;&#039;Annotationen an Molekülen analysieren:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Farbige Markierung in Molekülen analysieren:&#039;&#039;&#039; Es können Markierungen für das/die Moleküle definiert werden. Die Markierungen bestehen aus einem Namen und der Markierung (Eingabe über den Kekule-Editor). Für die Markierung steht das voreingestellte Molekül zur Verfügung. Pro erstellter Markierung wird eine Variable erzeugt, die im Folgenden in den Feedback-Regeln genutzt werden kann (siehe unten). Das System prüft nicht auf den Farbton, sondern nur ob der Bereich eingefärbt wurde.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=foundColoring_Coloring_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| True, wenn die Markierung in der Eingabe enthalten ist. False, wenn die Markierung nicht in der Eingabe enthalten ist.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=foundUnexpectedColoring]&amp;lt;/code&amp;gt;|| True, wenn min. 1 Markierung gefunden wurde, die nicht vom Lehrenden im Feedback definiert wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11875</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11875"/>
		<updated>2024-10-15T11:56:47Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Variablen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
** &#039;&#039;&#039;Editor auf das Ändern von Farben beschränken:&#039;&#039;&#039; Wird hier ein Haken gesetzt, können Lernende im Editor nur noch das Molekül farbig markieren. Andere Arten der Manipulation sowie auch das Erstellen neuer Moleküle ist dann nicht mehr möglich. Diese Option kann sinnvoll sein, wenn der Student Bereiche im Molekül farblich markieren soll, aber ansonsten keine Änderungen am Molekül vornehmen darf.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es stehen mehrere Funktion zur Verfügung.&lt;br /&gt;
** &#039;&#039;&#039;Reaktionen in der Eingabe analysieren&#039;&#039;&#039;: Es wird nach Reaktionspfeilen gesucht und die gefundene Moleküle in Bezug auf diese Reaktionen ausgewertet und zugeordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
** &#039;&#039;&#039;Annotationen an Molekülen analysieren:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Farbige Markierung in Molekülen analysieren:&#039;&#039;&#039; Es können Markierungen für das/die Moleküle definiert werden. Die Markierungen bestehen aus einem Namen und der Markierung (Eingabe über den Kekule-Editor). Für die Markierung steht das voreingestellte Molekül zur Verfügung. Pro erstellter Markierung wird eine Variable erzeugt, die im Folgenden in den Feedback-Regeln genutzt werden kann (siehe unten). Das System prüft nicht auf den Farbton, sondern nur ob der Bereich eingefärbt wurde.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=foundColoring_Coloring_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| True, wenn die Markierung in der Eingabe enthalten ist. False, wenn die Markierung nicht in der Eingabe enthalten ist.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=foundUnexpectedColoring]&amp;lt;/code&amp;gt;|| True, wenn min. 1 Markierung gefunden wurde, die nicht vom Lehrenden im Feedback definiert wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11874</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11874"/>
		<updated>2024-10-15T11:52:19Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
** &#039;&#039;&#039;Editor auf das Ändern von Farben beschränken:&#039;&#039;&#039; Wird hier ein Haken gesetzt, können Lernende im Editor nur noch das Molekül farbig markieren. Andere Arten der Manipulation sowie auch das Erstellen neuer Moleküle ist dann nicht mehr möglich. Diese Option kann sinnvoll sein, wenn der Student Bereiche im Molekül farblich markieren soll, aber ansonsten keine Änderungen am Molekül vornehmen darf.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es stehen mehrere Funktion zur Verfügung.&lt;br /&gt;
** &#039;&#039;&#039;Reaktionen in der Eingabe analysieren&#039;&#039;&#039;: Es wird nach Reaktionspfeilen gesucht und die gefundene Moleküle in Bezug auf diese Reaktionen ausgewertet und zugeordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
** &#039;&#039;&#039;Annotationen an Molekülen analysieren:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Farbige Markierung in Molekülen analysieren:&#039;&#039;&#039; Es können Markierungen für das/die Moleküle definiert werden. Die Markierungen bestehen aus einem Namen und der Markierung (Eingabe über den Kekule-Editor). Für die Markierung steht das voreingestellte Molekül zur Verfügung. Pro erstellter Markierung wird eine Variable erzeugt, die im Folgenden in den Feedback-Regeln genutzt werden kann (siehe unten). Das System prüft nicht auf den Farbton, sondern nur ob der Bereich eingefärbt wurde.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11873</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11873"/>
		<updated>2024-10-15T11:06:39Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Feedback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
** &#039;&#039;&#039;Editor auf das Ändern von Farben beschränken:&#039;&#039;&#039; Wird hier ein Haken gesetzt, können Lernende im Editor nur noch das Molekül farbig markieren. Andere Arten der Manipulation sowie auch das Erstellen neuer Moleküle ist dann nicht mehr möglich. Diese Option kann sinnvoll sein, wenn der Student Bereiche im Molekül farblich markieren soll, aber ansonsten keine Änderungen am Molekül vornehmen darf.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es stehen mehrere Funktion zur Verfügung.&lt;br /&gt;
** &#039;&#039;&#039;Reaktionen in der Eingabe analysieren&#039;&#039;&#039;: Es wird nach Reaktionspfeilen gesucht und die gefundene Moleküle in Bezug auf diese Reaktionen ausgewertet und zugeordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
** &#039;&#039;&#039;Annotationen an Molekülen analysieren:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Farbige Markierung in Molekülen analysieren:&#039;&#039;&#039; Es können Markierungen für das/die Moleküle definiert werden. Mit diesen können dann Feedbackregeln erstellt werden. Dabei können die Variablen innerhalb von Evaluatorregeln genutzt werden. &lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11872</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11872"/>
		<updated>2024-10-15T10:54:14Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
** &#039;&#039;&#039;Editor auf das Ändern von Farben beschränken:&#039;&#039;&#039; Wird hier ein Haken gesetzt, können Lernende im Editor nur noch das Molekül farbig markieren. Andere Arten der Manipulation sowie auch das Erstellen neuer Moleküle ist dann nicht mehr möglich. Diese Option kann sinnvoll sein, wenn der Student Bereiche im Molekül farblich markieren soll, aber ansonsten keine Änderungen am Molekül vornehmen darf.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es steht nur eine Funktion zur Verfügung, die nach Reaktionspfeilen sucht und die gefundenen Moleküle in Bezug auf diese Reaktionen auswertet und zuordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11871</id>
		<title>Molekül (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Molek%C3%BCl_(JACK3)&amp;diff=11871"/>
		<updated>2024-10-15T09:38:17Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* studentische Eingabe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Aufgabentyp &amp;quot;Molekül&amp;quot; ermöglich es Lehrenden nach bestimmten Molekülen, Reaktionsgleichungen oder ähnlichem zu fragen. Die Studierenden müssen dann die passende Struktur mithilfe eines Editors zeichnen. Dieser Aufgabentyp befindet sich derzeit noch im Aufbau, so dass spezielle Features in zukünftigen Versionen erweitert, verändert oder ergänzt werden können.&lt;br /&gt;
&lt;br /&gt;
Der Aufgabentyp nutzt an verschiedenen Stellen die InChI-Notation (https://de.wikipedia.org/wiki/International_Chemical_Identifier), um Moleküle zu repräsentieren. Die Analyse studentischer Eingaben ist aber nicht auf Informationen beschränkt, die in InChI-Strings abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; Hier kann optional der Name des Aufgabenteils eingetragen werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:Molekuel_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine Molekül Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Konfiguration des Editors:&#039;&#039;&#039; Hier können verschiedenen Einstellungen vorgenommen werden, mit denen die verfügbaren Funktionen des Molekül-Editors für die studentische Eingabe eingeschränkt werden können. Es besteht jeweils die Möglichkeit, zwischen einer Standardeinstellung und einer individuellen Einstellung pro Aufgabe zu wählen. Admins können zudem alternative Voreinstellungen definieren. Siehe dazu &amp;quot;[[Konfiguration des Kekulé-Editors]]&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Voreingestelltes Molekül im Editor:&#039;&#039;&#039; Hier kann eine Vorbelegung für den Editor erstellt werden, die den Studierenden beim Betreten der Aufgabe angezeigt wird. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die Vorbelegung zu erstellen oder zu ändern. In der Übersicht wird die Vorbelegung als InChI-String angezeigt. Es bleiben aber auch alle weiteren Bestandteile (z. B. Reaktionspfeile) erhalten, selbst wenn sie nicht im InChI-String abgebildet werden können.&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
Beim Feedback stehen verschiedene Standardoptionen und spezielle Features zur Verfügung.&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl eines Aufgabenteils innerhalb der Aufgabe.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Zur Übersicht und besseren Erstellung des Feedbacks wird der Aufgabentext hier nochmal angezeigt.&lt;br /&gt;
* &#039;&#039;&#039;Erweiterte Eingabeanalyse:&#039;&#039;&#039; Die erweiterte Eingabeanalyse ist derzeit im Aufbau. Es steht nur eine Funktion zur Verfügung, die nach Reaktionspfeilen sucht und die gefundenen Moleküle in Bezug auf diese Reaktionen auswertet und zuordnet. Dadurch entstehen zusätzliche Variablen, die im Folgenden in den Feedback-Regeln genutzt werden können (siehe unten). Das System nutzt zur Erkennung und Zuordnung gewisse Suchbereiche vor und nach sowie über und unter den Reaktionspfeilen.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Lösung:&#039;&#039;&#039; Hier wird die Formel der richtigen Lösung eingetragen. Klicken Sie rechts auf das Stift-Symbol, um einen Moleküleditor zu öffnen und die erwartete Lösung zu erstellen oder zu ändern. In der Übersicht wird die erwartete Lösung als InChI-String angezeigt.&lt;br /&gt;
[[File:Molekuel_erwarteteEingabe.JPG|center|thumb|800px|Die erwartete Eingabe in InChI-Code]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei korrekter Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben werden soll, wenn die Eingabe der erwarteten Lösung entspricht. Das System prüft dazu, ob die studentische Eingabe genau dieselben InChI-Strings enthält wie die erwartete Lösung. Die Reihenfolge der Eingabe sowie die Position auf der Zeichenfläche wird dabei ignoriert.&lt;br /&gt;
* &#039;&#039;&#039;Feedback bei falscher Antwort:&#039;&#039;&#039; Der Feedbacktext, der ausgegeben wird, wenn die studentische Eingabe nicht der erwarteten Lösung entspricht.&lt;br /&gt;
* &#039;&#039;&#039;Weitere Feedbacks (optional):&#039;&#039;&#039; Analog zum Aufgabentyp [[Fill-In (JACK3)|Fill-In]] können weitere Regeln angegeben werden, die jeweils Feedback auslösen. Anders als bei der erwarteten Lösung steht hier kein Molekül-Editor zur Verfügung. Stattdessen müssen passende [[Evaluator]]-Funktionen genutzt werden, um die studentische Eingabe zu analysieren. Diese steht dazu als Variablen der Form &amp;lt;code&amp;gt;[input=...]&amp;lt;/code&amp;gt; zur Verfügung (siehe unten).&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Der Lehrende kann jeden Fill-In oder Drop-Down Aufgabenteil zum Überspringen anbieten. Dazu muss zunächst der Haken gesetzt werden. Danach gibt es noch die Möglichkeit einen Text den Lernenden anzuzeigen, wenn dieser diesen Aufgabenteil übersprungen hat. Den Text kann man ändern indem man entweder in das Textfeld klickt oder den [[File:Icon-Pencil.jpg|22px]]-Button nutzt.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe sein soll, wenn der Lernende eine Lösung eingereicht hat. Dieses wird immer dann durchgeführt, wenn keine andere Aktion zutrifft. Es gibt die folgenden Möglichkeiten: &lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Der Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion kann man z.B. bei Übungsaufgaben benutzen, wenn der Lernende eine Aufgabe solange wiederholen soll, bis das richtige Ergebnis eingereicht wurde.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Weitere nächste Aufgabenteile (optional):&#039;&#039;&#039; Hier kann die nächste Aktion dynamisch eingestellt werden, d.h. sie kann abhängig von der Variablen Konstelation sein oder von der Eingabe des Lernenden.&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil beim Überspringen (optional):&#039;&#039;&#039; Hier wird eingestellt welcher nächste Aufgabenteil angezeigt werden soll, wennn der Lernende den Aufgabenteil übersprungen hat. Diese Einstellungsmöglichkeit steht nur zur Verfügung, wenn der Haken im Tab Feedback fürs Überspringen gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Studentische Eingabe===&lt;br /&gt;
Die studentische Eingabe erfolgt über den Molekül-Editor von Kekule, indem man mit einigen Hilfsmitteln die Moleküle zeichnen kann. Die studentische Lösung des oben genannten Beispiels würde dann wie folgt aussehen:&lt;br /&gt;
[[File:Molekuel_studentischeEingabe.JPG|center|thumb|800px|Editor zur studentischen Eingabe eine Moleküls]]&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen speziell im Aufgabentyp &amp;quot;Molekül&amp;quot; für &#039;&#039;&#039;jede&#039;&#039;&#039; studentische Einreichung zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi]&amp;lt;/code&amp;gt;|| Enthält eine Liste von Strings, die jeweils einem InChI-String eines eingegebenen Molekül entsprechen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=inchi_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Enthält jeweils einen InChI-String aus der studentischen Eingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die folgenden Variablen stehen &#039;&#039;&#039;zusätzlich&#039;&#039;&#039; zur Verfügung, wenn die &#039;&#039;&#039;erweiterte Eingabeanalyse&#039;&#039;&#039; genutzt wurde:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactions]&amp;lt;/code&amp;gt;|| Anzahl der erkannten Reaktionen (entspricht der Anzahl der gefundenen Reaktionspfeile).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=reactionType_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Typ der jeweiligen Reaktion entsprechend des im Editor verwendeten Reaktionspfeils.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=educts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Edukt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=products_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als Produkt der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorEducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Edukt oder sonstige Information oberhalb des Reaktionspfeils (z. B. &amp;quot;Hitze&amp;quot;) der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[check=minorProducts_X]&amp;lt;/code&amp;gt; (mit X = 1,2,...)|| Liste von Strings, die jeweils einem InChI-String eines Moleküls entsprechen, das als anorganisches Produkt oder sonstige Information unterhalb des Reaktionspfeils der jeweiligen Reaktion erkannt wurde.&lt;br /&gt;
|}&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=RandomUniqueIntegersBetween&amp;diff=11736</id>
		<title>RandomUniqueIntegersBetween</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=RandomUniqueIntegersBetween&amp;diff=11736"/>
		<updated>2024-09-12T08:06:16Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
&#039;&#039;randomUniqueIntegersBetween&#039;&#039; gibt eine gewünschte Anzahl an zufälligen und unterschiedlichen [[Ganzzahl]]en zurück, die zwischen den angegebenen Grenzen liegen. Die zufälligen [[Ganzzahl]]en sind dabei inklusiv der unteren Grenze und exklusiv der oberen Grenze. Die Anzahl darf nicht größer als der Abstand zwischen der unteren und oberen Grenze sein.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 randomUniqueIntegerBetween(int a, int b, int c)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Ganzzahl]] Anzahl an Zufallszahlen&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Ganzzahl]] untere Grenze (inklusiv)&lt;br /&gt;
* &#039;&#039;&#039;c&#039;&#039;&#039; - [[Ganzzahl]] obere Grenze (exklusiv)&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine [[List]] zurück, welche aus [[Ganzzahl]]en besteht.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 randomUniqueIntegersBetween(2, 2, 6)    --&amp;gt; returns (zum Beispiel) 2, 4 &lt;br /&gt;
 &lt;br /&gt;
 randomUniqueIntegersBetween(3, 1,10)    --&amp;gt; returns (zum Beispiel) 3, 7, 8 &lt;br /&gt;
 &lt;br /&gt;
 randomUniqueIntegersBetween(1, 4, 10)    --&amp;gt; returns (zum Beispiel) 9 &lt;br /&gt;
 &lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Weitere Funktionen die zufällig Zahlen ziehen sind: [[random]], [[randomBetween]], [[randomIntegerBetween]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=FirstIndexOf&amp;diff=11735</id>
		<title>FirstIndexOf</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=FirstIndexOf&amp;diff=11735"/>
		<updated>2024-09-12T06:58:38Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;firstIndexOf&#039;&#039; findet das erste Element aus der übergebenen [[List]]e, welches mit der übergebenen Variable übereinstimmt. Es gibt den Index des übereinstimmenden Elements der Liste zurück. Dabei beginnt die Nummerierung der Elemente mit 0.&lt;br /&gt;
&lt;br /&gt;
Die Funktion erwartet eine Variable, deren Position in der Liste ermittelt werden soll, sowie die Liste selbst. &lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 firstIndexOf(Variable v, [[List]] list)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;v&#039;&#039;&#039; - Variable, deren Position ermittelt werden soll&lt;br /&gt;
* &#039;&#039;&#039;list&#039;&#039;&#039; - Liste, bei welcher geprüft wird, an welcher Stelle die Variable sich befindet&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt den Index der Position des Elements als Integer zurück. Falls sich dieses nicht in der Liste befindet, erscheint eine Fehlermeldung.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 firstIndexOf(1, list(1,2,3))   --&amp;gt; returns 0&lt;br /&gt;
&lt;br /&gt;
 firstIndexOf(&amp;quot;hello&amp;quot;, list(1,&amp;quot;hello&amp;quot;,3))   --&amp;gt; returns 1&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Eine Liste wird mit der Funktion [[List]] erzeugt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Listfunktionen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11698</id>
		<title>GetLinkedListAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11698"/>
		<updated>2024-08-30T07:20:10Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebene Liste. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
Es kann definiert werden, ob die Listenelemente doppelt oder einfach verlinkt sein sollen.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getLinkedListAsImage(List list, boolean doublyLinked)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*list- Die Liste, welche grafisch dargestellt werden soll. &lt;br /&gt;
*doublyLinked- True =&amp;gt; Listeneelemente sind doppelt verlinkt, False =&amp;gt; Listenelemente sind einfach verlinkt&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 getLinkedListAsImage(list(12,3.4, 4/5, sqrt(2),\&amp;quot;test\&amp;quot;), false()) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Datei:SingleLinkedList.PNG]]&lt;br /&gt;
&lt;br /&gt;
 getLinkedListAsImage(list(33.4,55.7,231.2), true()) =&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:DouplyLinkedList.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Datei:SingleLinkedList.PNG&amp;diff=11697</id>
		<title>Datei:SingleLinkedList.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Datei:SingleLinkedList.PNG&amp;diff=11697"/>
		<updated>2024-08-30T07:19:17Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11696</id>
		<title>GetLinkedListAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11696"/>
		<updated>2024-08-30T07:19:03Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebene Liste. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
Es kann definiert werden, ob die Listenelemente doppelt oder einfach verlinkt sein sollen.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getLinkedListAsImage(List list, boolean doublyLinked)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*list- Die Liste, welche grafisch dargestellt werden soll. &lt;br /&gt;
*doublyLinked- True =&amp;gt; Listeneelemente sind doppelt verlinkt, False =&amp;gt; Listenelemente sind einfach verlinkt&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 getLinkedListAsImage(list(12,3.4, 4/5, sqrt(2),\&amp;quot;test\&amp;quot;), false()) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Datei:SingleLinkedList.PNG]]&lt;br /&gt;
&lt;br /&gt;
 getLinkedListAsImage(list(33.4,55.7,231.2), true()) =&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:DoublyLinkedList.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Datei:DouplyLinkedList.PNG&amp;diff=11695</id>
		<title>Datei:DouplyLinkedList.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Datei:DouplyLinkedList.PNG&amp;diff=11695"/>
		<updated>2024-08-30T07:18:32Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11694</id>
		<title>GetLinkedListAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetLinkedListAsImage&amp;diff=11694"/>
		<updated>2024-08-29T14:58:45Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „===Zugehörige Evaluatoren=== *&amp;#039;&amp;#039;&amp;#039;MathEvaluator&amp;#039;&amp;#039;&amp;#039;  ===Beschreibung=== Die Funktion erzeugt eine Grafik für den übergebene Liste. Diese wird als Base64-String zurückgegeben. Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.  Es kann definiert werden, ob die Listenelemente doppelt oder einfach verlinkt sein sollen.  ===Syntax===  getLinkedListAsImage(List list, boolean doublyLinked) =…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebene Liste. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
Es kann definiert werden, ob die Listenelemente doppelt oder einfach verlinkt sein sollen.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getLinkedListAsImage(List list, boolean doublyLinked)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*list- Die Liste, welche grafisch dargestellt werden soll. &lt;br /&gt;
*doublyLinked- True =&amp;gt; Listeneelemente sind doppelt verlinkt, False =&amp;gt; Listenelemente sind einfach verlinkt&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 getLinkedListAsImage(list(12,3.4, 4/5, sqrt(2),\&amp;quot;test\&amp;quot;), false()) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Datei:]]&lt;br /&gt;
&lt;br /&gt;
 getLinkedListAsImage(list(33.4,55.7,231.2), true()) =&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=RandomUniqueIntegersBetween&amp;diff=11693</id>
		<title>RandomUniqueIntegersBetween</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=RandomUniqueIntegersBetween&amp;diff=11693"/>
		<updated>2024-08-29T10:37:02Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
&#039;&#039;randomUniqueIntegersBetween&#039;&#039; gibt eine gewünschte Anzahl an zufälligen und unterschiedlichen [[Ganzzahl]]en zurück, die zwischen den angegebenen Grenzen liegt. Die zufälligen [[Ganzzahl]]en sind dabei inklusiv der unteren Grenze und exklusiv der oberen Grenze. Die Anzahl darf nicht größer als der Abstand zwischen der unteren und oberen Grenze sein.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 randomUniqueIntegerBetween(int a, int b, int c)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Ganzzahl]] Anzahl an Zufallszahlen&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Ganzzahl]] untere Grenze (inklusiv)&lt;br /&gt;
* &#039;&#039;&#039;c&#039;&#039;&#039; - [[Ganzzahl]] obere Grenze (exklusiv)&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine [[List]] zurück, welche aus [[Ganzzahl]]en besteht.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 randomUniqueIntegersBetween(2, 2, 6)    --&amp;gt; returns (zum Beispiel) 2, 4 &lt;br /&gt;
 &lt;br /&gt;
 randomUniqueIntegersBetween(3, 1,10)    --&amp;gt; returns (zum Beispiel) 3, 7, 8 &lt;br /&gt;
 &lt;br /&gt;
 randomUniqueIntegersBetween(1, 4, 10)    --&amp;gt; returns (zum Beispiel) 9 &lt;br /&gt;
 &lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Weitere Funktionen die zufällig Zahlen ziehen sind: [[random]], [[randomBetween]], [[randomIntegerBetween]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11690</id>
		<title>GetBinaryTreeAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11690"/>
		<updated>2024-08-27T15:54:18Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebenen Binärbaum. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getBinaryTreeAsImage(BinaryTree tree)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*tree- Der Binärbaum, welcher grafisch dargestellt werden soll. Kann via [[CreateBinaryTree|CreateBinaryTree]] erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 [var=binaryTree] =&amp;gt; createBinaryTree(list(3,2,6,7,12,0,4))&lt;br /&gt;
 getBinaryTreeAsImage([var=binaryTree]) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Datei:MultinodeTree.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11689</id>
		<title>GetBinaryTreeAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11689"/>
		<updated>2024-08-27T15:53:58Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebenen Binärbaum. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getBinaryTreeAsImage(BinaryTree tree)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*tree- Der Binärbaum, welcher grafisch dargestellt werden soll. Kann via [[CreateBinaryTree|CreateBinaryTree]] erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 [var=binaryTree] =&amp;gt; createBinaryTree(list(3,2,6,7,12,0,4))&lt;br /&gt;
 getBinaryTreeAsImage([var=binaryTree]) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:MultinodeTree.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Datei:MultinodeTree.PNG&amp;diff=11688</id>
		<title>Datei:MultinodeTree.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Datei:MultinodeTree.PNG&amp;diff=11688"/>
		<updated>2024-08-27T15:53:48Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11687</id>
		<title>GetBinaryTreeAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11687"/>
		<updated>2024-08-27T15:48:01Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebenen Binärbaum. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, [var=base64String]&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getBinaryTreeAsImage(BinaryTree tree)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*tree- Der Binärbaum, welcher grafisch dargestellt werden soll. Kann via [[CreateBinaryTree|CreateBinaryTree]] erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 [var=binaryTree] =&amp;gt; createBinaryTree(list(3,2,6,7,12,0,4))&lt;br /&gt;
 getBinaryTreeAsImage([var=binaryTree]) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11686</id>
		<title>GetBinaryTreeAsImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=GetBinaryTreeAsImage&amp;diff=11686"/>
		<updated>2024-08-27T15:47:23Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „===Zugehörige Evaluatoren=== *&amp;#039;&amp;#039;&amp;#039;MathEvaluator&amp;#039;&amp;#039;&amp;#039;  ===Beschreibung=== Die Funktion erzeugt eine Grafik für den übergebenen Binärbaum. Diese wird als Base64-String zurückgegeben. Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, {[var=base64String]}&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.  ===Syntax===  getBinaryTreeAsImage(BinaryTree tree) ===Parameter=== *tree- Der Binärbaum, welcher grafisch dargestellt werden soll. Kann via CreateBin…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion erzeugt eine Grafik für den übergebenen Binärbaum. Diese wird als Base64-String zurückgegeben.&lt;br /&gt;
Der String kann in JACK via &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;data:image/svg+xml;base64, {[var=base64String]}&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 getBinaryTreeAsImage(BinaryTree tree)&lt;br /&gt;
===Parameter===&lt;br /&gt;
*tree- Der Binärbaum, welcher grafisch dargestellt werden soll. Kann via [[CreateBinaryTree|CreateBinaryTree]] erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Ein Base64-String der Grafik.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 [var=binaryTree] =&amp;gt; createBinaryTree(list(3,2,6,7,12,0,4))&lt;br /&gt;
 getBinaryTreeAsImage([var=binaryTree]) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:BinaryTree-Funktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Matrix&amp;diff=11665</id>
		<title>Matrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Matrix&amp;diff=11665"/>
		<updated>2024-08-20T13:09:12Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion &#039;&#039;matrix&#039;&#039; dient als Konstruktor für eine Matrix. Sie bekommt als Eingabe die Matrix Zeilen mithilfe der Funktion [[MatrixRow]] und gibt diese als Matrix zurück.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  matrix(matrixrow([[Gleitkommazahl]] zahl, [[Gleitkommazahl]] zahl), matrixrow([[Gleitkommazahl]] zahl, [[Gleitkommazahl]] zahl), ...)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;zahl&#039;&#039;&#039; - Matrixelement&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt die [[Matrix]] zurück&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
  matrix(matrixrow(1,3),matrixrow(0,4))&lt;br /&gt;
&lt;br /&gt;
OpenMath:&lt;br /&gt;
  &amp;lt;OMOBJ&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=&amp;quot;matrix&amp;quot; cd=&amp;quot;linalg2&amp;quot;/&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=&amp;quot;matrixrow&amp;quot; cd=&amp;quot;linalg2&amp;quot;/&amp;gt;&amp;lt;OMI&amp;gt;1&amp;lt;/OMI&amp;gt;&amp;lt;OMI&amp;gt;3&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;OMA&amp;gt;&amp;lt;OMS name=&amp;quot;matrixrow&amp;quot; cd=&amp;quot;linalg2&amp;quot;/&amp;gt;&amp;lt;OMF dec=&amp;quot;0.0&amp;quot;/&amp;gt;&amp;lt;OMI&amp;gt;4&amp;lt;/OMI&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMA&amp;gt;&amp;lt;/OMOBJ&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LaTeX:&lt;br /&gt;
\( \left(\begin{array}{rr}1 &amp;amp; 3\\0 &amp;amp; 4\end{array}\right) \)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Konstruktoren]][[Kategorie:lineare Algebra]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=LevenshteinDistanceForList&amp;diff=11626</id>
		<title>LevenshteinDistanceForList</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=LevenshteinDistanceForList&amp;diff=11626"/>
		<updated>2024-08-05T14:50:50Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}}  ===Zugehörige Evaluatoren=== *&amp;#039;&amp;#039;&amp;#039;MathEvaluator&amp;#039;&amp;#039;&amp;#039;  === Beschreibung === Die Funktion &amp;#039;&amp;#039;levenshteinDistanceForList&amp;#039;&amp;#039; berechnet die Levenshtein-Distanz [https://de.wikipedia.org/wiki/Levenshtein-Distanz] zwischen allen Zeichenketten der Liste und der zu vergleichenden Zeichenketten. Die Funktion erwartet eine Liste und einen String und gibt eine Zahl zurück.  ===…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}}&lt;br /&gt;
&lt;br /&gt;
===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;levenshteinDistanceForList&#039;&#039; berechnet die Levenshtein-Distanz [https://de.wikipedia.org/wiki/Levenshtein-Distanz] zwischen allen Zeichenketten der Liste und der zu vergleichenden Zeichenketten. Die Funktion erwartet eine Liste und einen String und gibt eine Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 levenshteinDistanceForList([[Liste&amp;lt;Zeichenketten&amp;gt;]] liste, [[Zeichenkette]] zeichenkette)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;liste&#039;&#039;&#039; - Liste von Zeichenketten, die mit der anderen Zeichenkette verglichen werden sollen&lt;br /&gt;
* &#039;&#039;&#039;zeichenkette&#039;&#039;&#039; - zu vergleichende Zeichenkette&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt das Minimum aller Distanzen als Zahl zurück.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 levenshteinDistanceForList(list(&amp;quot;test&amp;quot;),&amp;quot;test&amp;quot;) -&amp;gt; returns 0&lt;br /&gt;
 levenshteinDistanceForList(list(&amp;quot;Hallo&amp;quot;, &amp;quot;Hello&amp;quot;, &amp;quot;Hi&amp;quot;),&amp;quot;Ho&amp;quot;) -&amp;gt; returns 1&lt;br /&gt;
 levenshteinDistanceForList(list(&amp;quot;Hallo&amp;quot;, &amp;quot;Hello&amp;quot;, &amp;quot;Hi&amp;quot;),&amp;quot;&amp;quot;) -&amp;gt; return 2&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
* Die Funktion unterscheidet zwischen Groß- und Kleinschreibung.&lt;br /&gt;
* Die Rückgabe ist immer 0 oder einen positive Zahl.&lt;br /&gt;
* Weitere Funktionen die die Distanz von zwei Zeichenketten berechnen sind die [[LevenshteinDistance]], die [[HammingDistance]], die [[jaccardDistance]] und die [[jaroWinklerDistance]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsMathematikerRealNumber&amp;diff=11625</id>
		<title>IsMathematikerRealNumber</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsMathematikerRealNumber&amp;diff=11625"/>
		<updated>2024-08-05T06:55:40Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}}&lt;br /&gt;
&lt;br /&gt;
===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;isMathematikerRealNumber&#039;&#039; prüft, ob es sich bei einem gegebenen [[Objekt]] um eine reelle Zahl handelt &#039;&#039;&#039;und&#039;&#039;&#039; der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Nicht zu verwechseln mit [[isRealNumber|IsRealNumber]]. [[Übersicht Numberfunktionen|Hier]] findet sich eine Übersicht aller Number-Funktionen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:&#039;&#039;&#039;&lt;br /&gt;
* Die Eingabe lässt sich nicht zu Unendlich ausrechnen,&lt;br /&gt;
* Die Eingabe lässt sich zu einer reellen Zahl ausrechnen,&lt;br /&gt;
* Die Eingabe kann nicht weiter vereinfacht werden und&lt;br /&gt;
* Die Eingabe ist kein Doppelbruch oder ein Bruch mit Fließkommazahlen.&lt;br /&gt;
&lt;br /&gt;
Eine Eingabe ist weiter vereinfachbar, wenn&lt;br /&gt;
* sie mindestens einen Operanten enthält &amp;lt;code&amp;gt;(+, -, *, /, ^, sqrt)&amp;lt;/code&amp;gt; &#039;&#039;&#039;und&#039;&#039;&#039;&lt;br /&gt;
* sich zu einer Ganzzahl ausrechnen lässt.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 isMathematikerRealNumber(Objekt objekt)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;objekt&#039;&#039;&#039; - das zu überprüfende Objekt&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen [[Boolean]] zurück. &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;, wenn es sich um eine reelle Zahl nach obigen Kriterien handelt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 //Kein Operant&lt;br /&gt;
 isMathematikerRealNumber(5.5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constE())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constPi())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(infinity())   --&amp;gt; returns &#039;&#039;false&#039;&#039;, da Unendlich nicht als Zahl definiert ist&lt;br /&gt;
 &lt;br /&gt;
 // Ein Operant&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(ln(4))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(cos(4))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sin(2))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(tan(1))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(-6)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constE()^2)   --&amp;gt; returns &#039;&#039;true&#039;&#039; &lt;br /&gt;
 isMathematikerRealNumber(constPi()/2)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(2*3)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(0.5/0.5)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(sqrt(4))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(3^5)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Zwei Operanden&lt;br /&gt;
 isMathematikerRealNumber(-1/5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(1/-5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(-sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(4/9))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3)/2)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(sqrt(3)))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(((3)^0.5)^0.5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(2^(1/3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(2)*constPi())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(1+sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(sqrt(-1))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, es handelt sich um eine komplexe Zahl&lt;br /&gt;
 isMathematikerRealNumber(sqrt(2^2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(0.5/(1/2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Drei Operanden&lt;br /&gt;
 isMathematikerRealNumber(1/2*sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3^2+5))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber((1/2)/(1/2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Vier Operanden&lt;br /&gt;
 isMathematikerRealNumber(-1/2*sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 isMathematikerRealNumber([input=fillin1])&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber([var=a])&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
Die Überprüfung mit Textfeldern funktioniert nur, wenn man den [[Formeleditor (JACK3)|Formeleditor]] verwendet. &lt;br /&gt;
&lt;br /&gt;
Gibt man keinen Editor an, wird für ein Textfeld (&amp;lt;code&amp;gt;[input=fillin1] usw.&amp;lt;/code&amp;gt;) ein OpenMath String zurückgegeben. Dadurch gibt &amp;lt;code&amp;gt;isMathematikerRealNumber([input=fillin1])&amp;lt;/code&amp;gt; sowie &amp;lt;code&amp;gt; isMathematikerRealNumber(&#039;[input=fillin1]&#039;)&amp;lt;/code&amp;gt; immer false zurück.&lt;br /&gt;
Um ein richtiges Ergebnis zu erlangen, muss [[Matches#Benutzung von Textfeldern|Matches]] genutzt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=SizeOfBinary&amp;diff=11614</id>
		<title>SizeOfBinary</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=SizeOfBinary&amp;diff=11614"/>
		<updated>2024-08-02T15:23:15Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde geleert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=ExtractSumFormulasFromList&amp;diff=11612</id>
		<title>ExtractSumFormulasFromList</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=ExtractSumFormulasFromList&amp;diff=11612"/>
		<updated>2024-08-02T13:13:16Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „==Zugehörige Evaluatoren== *&amp;#039;&amp;#039;&amp;#039;ChemEvaluator&amp;#039;&amp;#039;&amp;#039; ===Beschreibung=== Die Funktion &amp;quot;ExtractSumFormulasFromList&amp;quot; extrahiert alle Summenformeln aus einer Liste von InChI-Strings. Es kann zudem definiert werden, ob Duplikate aus der Rückgabe entfernt werden sollen.  ===Syntax===  extractSumFormulasFromList(List&amp;lt;String&amp;gt; inchis, boolean removeDuplicates)  ===Parameter=== * &amp;#039;&amp;#039;&amp;#039;inchis&amp;#039;&amp;#039;&amp;#039; - Eine Liste von InChI-Strings * &amp;#039;&amp;#039;&amp;#039;removeDuplicates&amp;#039;&amp;#039;&amp;#039; - Legt fest, ob Dupl…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Zugehörige Evaluatoren==&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Die Funktion &amp;quot;ExtractSumFormulasFromList&amp;quot; extrahiert alle Summenformeln aus einer Liste von InChI-Strings. Es kann zudem definiert werden, ob Duplikate aus der Rückgabe entfernt werden sollen.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 extractSumFormulasFromList(List&amp;lt;String&amp;gt; inchis, boolean removeDuplicates)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;inchis&#039;&#039;&#039; - Eine Liste von InChI-Strings&lt;br /&gt;
* &#039;&#039;&#039;removeDuplicates&#039;&#039;&#039; - Legt fest, ob Duplikate aus der Ergebnis-Liste entfernt werden sollen&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine Liste mit den Summenformeln zurück (mit oder ohne Duplikaten). &lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 extractSumFormulasFromList(list(&amp;quot;1S/C5H5N5O/c6-5-9-3-2(4(11)10-5)7-1-8-3/h1H,(H4,6,7,8,9,10,11)&amp;quot;, &amp;quot;1S/C4H8/c1-3-4-2/h3-4H,1-2H3/b4-3+&amp;quot;, &amp;quot;1S/C5H5N5O/c6-5-9-3-2(4(11)10-5)7-1-8-3/h1H,(H4,6,7,8,9,10,11)&amp;quot;), true()) &lt;br /&gt;
 -&amp;gt; list(&amp;quot;C5H5N5O&amp;quot;, &amp;quot;C4H8&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 extractSumFormulasFromList(list(&amp;quot;1S/C5H5N5O/c6-5-9-3-2(4(11)10-5)7-1-8-3/h1H,(H4,6,7,8,9,10,11)&amp;quot;, &amp;quot;1S/C4H8/c1-3-4-2/h3-4H,1-2H3/b4-3+&amp;quot;, &amp;quot;1S/C5H5N5O/c6-5-9-3-2(4(11)10-5)7-1-8-3/h1H,(H4,6,7,8,9,10,11)&amp;quot;), false())&lt;br /&gt;
 -&amp;gt; list(&amp;quot;C5H5N5O&amp;quot;, &amp;quot;C4H8&amp;quot;, &amp;quot;C5H5N5O&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Chem-Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=SumFormulaToLatex&amp;diff=11611</id>
		<title>SumFormulaToLatex</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=SumFormulaToLatex&amp;diff=11611"/>
		<updated>2024-08-02T09:56:14Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Die Funktion erwartet einen Parameter.&lt;br /&gt;
&lt;br /&gt;
Die Methode ertwartet eine Zeichenkette(String), die eine Summenformel darstellt.|Rückgabewert=Die Funktion gibt die Summenformel im LaTeX-format zurück.|Aufbau= &amp;lt;code&amp;gt;sumFormulaToLatex(formula)&amp;lt;/code&amp;gt;|Hinweise=|Beispiel= &lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Cl&amp;quot;) -&amp;gt;  Cl&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;C2H4ClNO2&amp;quot;) -&amp;gt; C&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;H&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;ClNO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;H2O&amp;quot;) -&amp;gt; H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Chlor&amp;quot;) -&amp;gt; Fehlermeldung, dies entspricht nicht der Schreibweise innerhalb einer Summenformel.&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Ha&amp;quot;) -&amp;gt; Fehlermeldung, da Ha kein Atom darstellt.&amp;lt;/code&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Chem-Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=SumFormulaToLatex&amp;diff=11610</id>
		<title>SumFormulaToLatex</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=SumFormulaToLatex&amp;diff=11610"/>
		<updated>2024-08-02T09:55:43Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Template:ChemEvaluatorfunktion|Parameter=Die Funktion erwartet einen Parameter.  Die Methode ertwartet eine Zeichenkette(String), die eine Summenformel darstellt.|Rückgabewert=Die Funktion gibt die Summenformel im LaTeXformat zurück.|Aufbau= &amp;lt;code&amp;gt;sumFormulaToLatex(formula)&amp;lt;/code&amp;gt;|Hinweise=|Beispiel=  * &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Cl&amp;quot;) -&amp;gt;  Cl&amp;lt;/code&amp;gt;  * &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;C2H4ClNO2&amp;quot;) -&amp;gt; C&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;H&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;ClNO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; &amp;lt;/code&amp;gt; * &amp;lt;code&amp;gt;sumF…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Die Funktion erwartet einen Parameter.&lt;br /&gt;
&lt;br /&gt;
Die Methode ertwartet eine Zeichenkette(String), die eine Summenformel darstellt.|Rückgabewert=Die Funktion gibt die Summenformel im LaTeXformat zurück.|Aufbau= &amp;lt;code&amp;gt;sumFormulaToLatex(formula)&amp;lt;/code&amp;gt;|Hinweise=|Beispiel= &lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Cl&amp;quot;) -&amp;gt;  Cl&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;C2H4ClNO2&amp;quot;) -&amp;gt; C&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;H&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;ClNO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;H2O&amp;quot;) -&amp;gt; H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Chlor&amp;quot;) -&amp;gt; Fehlermeldung, dies entspricht nicht der Schreibweise innerhalb einer Summenformel.&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sumFormulaToLatex(&amp;quot;Ha&amp;quot;) -&amp;gt; Fehlermeldung, da Ha kein Atom darstellt.&amp;lt;/code&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Chem-Evaluatorfunktion]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11366</id>
		<title>R (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11366"/>
		<updated>2024-07-01T15:06:05Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Variablen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der R-Aufgabenteil ist ein asynchron geprüfter Aufgabenteil, der es ermöglicht R-Code dynamisch und statisch zu prüfen. Bei mehrstufigen Aufgaben können vom Lernenden nach dem Einreichen schon weitere Aufgabenteile bearbeitet werden, während die asynchronen Checks im Hintergrund noch laufen.&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; An dieser Stelle kann optional ein Name für den Aufgabenteil eingegeben werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:R_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine R Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Vorausgefüllter Code:&#039;&#039;&#039; Bei den R Aufgaben gibt es die Möglichkeit den Lernenden bereits einen vorausgefüllten Code zur Verfügung zu stellen. Diesen müssen sie dann nur noch vervollständigen. Die Variablen werden hier entsprechend ersetzt. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird bei der Ersetzung in R-Syntax umgeformt.&lt;br /&gt;
[[File:R_VorausgefuellterCode.JPG|center|thumb|800px|Vorausgefüllter Code bei R Aufgaben]]&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl dieses Aufgabenteils innerhalb der ganzen Aufgabe&lt;br /&gt;
* &#039;&#039;&#039;Evaluierungsregel:&#039;&#039;&#039; In dem Eingabefeld gibt man die Regel an wie die Punkte aus den verschiedenen Checkern zusammengesetzt werden. Jeder der Checker kann dabei unterschiedlich gewichtet sein. Unter dem Eingabefeld sind die konfigurierten Variablen aufgelistet. Sind für die Variablen Namen konfiguriert worden, so werden diese dort mit aufgeführt. Variablen werden mit den Symbolen #{} eingeschlossen. Wird das Feld leer gelassen werden alle Testfallgruppen gleich gewichtet gewertet.&lt;br /&gt;
[[File:R_Evaluierungsregel.JPG|center|thumb|800px|Evaluierungsregeln bei R Aufgaben]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Wenn der Haken gesetzt wurde kann der Lernende die Aufgabe überspringen. Dazu gibt es die Möglichkeit einen Text dem Lernenden anzuzeigen, wenn dieser den Aufgabenteil übersprungen hat. Den Text kann man über Klicken in das Textfeld oder das Icon [[File:Icon-Pencil.jpg|22px]] hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe gehen soll, wenn der Lernende eine Lösung eingereicht hat. Es gibt die folgenden Möglichkeiten:&lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Dieser Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion lässt sich gut bei Übungsaufgaben einsetzen.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Checker===&lt;br /&gt;
Der R-Aufgabenteil hat ein sehr flexibles Konzept, wie asynchrone Checks zusammengestellt werden:&lt;br /&gt;
* Zunächst können beliebig viele Gruppen von Testfällen angelegt werden.&lt;br /&gt;
* Jede Gruppe kann aus beliebig vielen statischen und dynamischen Checks bestehen.&lt;br /&gt;
* Jeder Gruppe wird eine Punktzahl zugewiesen, indem die Punkte jedes individuellen Checks aufaddiert (Gain) bzw. abgezogen (Deduction) werden.&lt;br /&gt;
* Die Punktzahl jeder Gruppe kann in der Evaluierungsregel im Feedback referenziert werden (siehe oben) und unterschiedlich stark in die Bewertung eingehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:R_Testfallgruppen.JPG|center]]&lt;br /&gt;
In diesem Beispiel gibt es eine Testfall Gruppe mit einem statischen und einem dynamischen Checker.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dynamische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des dynamischen Checkers sind [[Dynamischer_R_Checker (JACK3)|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Statische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des statischen Checkers sind [[R_GReQL_Checker|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testfallgruppen Konfiguration&#039;&#039;&#039;&lt;br /&gt;
[[Datei:R_TestfallKonfiguration.JPG|center]]&lt;br /&gt;
Hier lässt sich die ganze Testfallgruppe konfigurieren.&lt;br /&gt;
* &#039;&#039;&#039;Variablenname:&#039;&#039;&#039; Den hier angegebene Variablenname braucht man, um die Testfallgruppe im Feedback-Tab anzugeben.&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Zusätzlich zu dem automatisch generierten Variablennamen kann man hier selber einen Namen eingeben. Dieser dient dazu in dem Tab &amp;quot;Feedback&amp;quot; die Gesamtberechnung vornehmen zu können.&lt;br /&gt;
Die anderen Einstellungsmöglichkeiten sind noch nicht fertig implementiert.&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen für diesen Aufgabentyp zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=rStudentInputSetBySystem]&amp;lt;/code&amp;gt;|| Der eingereichte R-Code&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[meta=rStagePrefilledCode]&amp;lt;/code&amp;gt;|| Der vorausgefüllte R-Code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11365</id>
		<title>R (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11365"/>
		<updated>2024-07-01T15:05:06Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Variablen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der R-Aufgabenteil ist ein asynchron geprüfter Aufgabenteil, der es ermöglicht R-Code dynamisch und statisch zu prüfen. Bei mehrstufigen Aufgaben können vom Lernenden nach dem Einreichen schon weitere Aufgabenteile bearbeitet werden, während die asynchronen Checks im Hintergrund noch laufen.&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; An dieser Stelle kann optional ein Name für den Aufgabenteil eingegeben werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:R_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine R Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Vorausgefüllter Code:&#039;&#039;&#039; Bei den R Aufgaben gibt es die Möglichkeit den Lernenden bereits einen vorausgefüllten Code zur Verfügung zu stellen. Diesen müssen sie dann nur noch vervollständigen. Die Variablen werden hier entsprechend ersetzt. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird bei der Ersetzung in R-Syntax umgeformt.&lt;br /&gt;
[[File:R_VorausgefuellterCode.JPG|center|thumb|800px|Vorausgefüllter Code bei R Aufgaben]]&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl dieses Aufgabenteils innerhalb der ganzen Aufgabe&lt;br /&gt;
* &#039;&#039;&#039;Evaluierungsregel:&#039;&#039;&#039; In dem Eingabefeld gibt man die Regel an wie die Punkte aus den verschiedenen Checkern zusammengesetzt werden. Jeder der Checker kann dabei unterschiedlich gewichtet sein. Unter dem Eingabefeld sind die konfigurierten Variablen aufgelistet. Sind für die Variablen Namen konfiguriert worden, so werden diese dort mit aufgeführt. Variablen werden mit den Symbolen #{} eingeschlossen. Wird das Feld leer gelassen werden alle Testfallgruppen gleich gewichtet gewertet.&lt;br /&gt;
[[File:R_Evaluierungsregel.JPG|center|thumb|800px|Evaluierungsregeln bei R Aufgaben]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Wenn der Haken gesetzt wurde kann der Lernende die Aufgabe überspringen. Dazu gibt es die Möglichkeit einen Text dem Lernenden anzuzeigen, wenn dieser den Aufgabenteil übersprungen hat. Den Text kann man über Klicken in das Textfeld oder das Icon [[File:Icon-Pencil.jpg|22px]] hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe gehen soll, wenn der Lernende eine Lösung eingereicht hat. Es gibt die folgenden Möglichkeiten:&lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Dieser Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion lässt sich gut bei Übungsaufgaben einsetzen.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Checker===&lt;br /&gt;
Der R-Aufgabenteil hat ein sehr flexibles Konzept, wie asynchrone Checks zusammengestellt werden:&lt;br /&gt;
* Zunächst können beliebig viele Gruppen von Testfällen angelegt werden.&lt;br /&gt;
* Jede Gruppe kann aus beliebig vielen statischen und dynamischen Checks bestehen.&lt;br /&gt;
* Jeder Gruppe wird eine Punktzahl zugewiesen, indem die Punkte jedes individuellen Checks aufaddiert (Gain) bzw. abgezogen (Deduction) werden.&lt;br /&gt;
* Die Punktzahl jeder Gruppe kann in der Evaluierungsregel im Feedback referenziert werden (siehe oben) und unterschiedlich stark in die Bewertung eingehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:R_Testfallgruppen.JPG|center]]&lt;br /&gt;
In diesem Beispiel gibt es eine Testfall Gruppe mit einem statischen und einem dynamischen Checker.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dynamische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des dynamischen Checkers sind [[Dynamischer_R_Checker (JACK3)|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Statische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des statischen Checkers sind [[R_GReQL_Checker|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testfallgruppen Konfiguration&#039;&#039;&#039;&lt;br /&gt;
[[Datei:R_TestfallKonfiguration.JPG|center]]&lt;br /&gt;
Hier lässt sich die ganze Testfallgruppe konfigurieren.&lt;br /&gt;
* &#039;&#039;&#039;Variablenname:&#039;&#039;&#039; Den hier angegebene Variablenname braucht man, um die Testfallgruppe im Feedback-Tab anzugeben.&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Zusätzlich zu dem automatisch generierten Variablennamen kann man hier selber einen Namen eingeben. Dieser dient dazu in dem Tab &amp;quot;Feedback&amp;quot; die Gesamtberechnung vornehmen zu können.&lt;br /&gt;
Die anderen Einstellungsmöglichkeiten sind noch nicht fertig implementiert.&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen für diesen Aufgabentyp zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=rStudentInputSetBySystem]&amp;lt;/code&amp;gt;|| Der eingereichte R-Code&lt;br /&gt;
| &amp;lt;code&amp;gt;[meta=rStagePrefilledCode]&amp;lt;/code&amp;gt;|| Der vorausgefüllte R-Code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11362</id>
		<title>R (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=R_(JACK3)&amp;diff=11362"/>
		<updated>2024-06-28T11:51:14Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Aufgabeninhalt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der R-Aufgabenteil ist ein asynchron geprüfter Aufgabenteil, der es ermöglicht R-Code dynamisch und statisch zu prüfen. Bei mehrstufigen Aufgaben können vom Lernenden nach dem Einreichen schon weitere Aufgabenteile bearbeitet werden, während die asynchronen Checks im Hintergrund noch laufen.&lt;br /&gt;
===Aufgabeninhalt===&lt;br /&gt;
In dem Bereich Aufgabeninhalt wird der Aufgabentext erstellt und spezifische Eingaben für den jeweiligen Aufgabenteil gemacht.&lt;br /&gt;
* &#039;&#039;&#039;Titel:&#039;&#039;&#039; An dieser Stelle kann optional ein Name für den Aufgabenteil eingegeben werden.&lt;br /&gt;
* &#039;&#039;&#039;Aufgabentext:&#039;&#039;&#039; Im Aufgabentext steht die Aufgabenstellung. Der Editor für den Aufgabetext lässt sich öffnen in dem man reinklickt. In dem Fließtext kann Latex-Code verwendet werden, indem man diesen mit $-Zeichen einspannt. Der Editor bietet einige Formatierungen an wie z.B. fett, kursiv und unterstrichen. Einfache Tabellen können auch mithilfe des Editors erstellt werden. Wenn man den Button &#039;&#039;source code&#039;&#039; [[File:Icon-source_code.jpg|35px]] verwendet kann man HTML-Code nutzen. Über den Button &#039;&#039;&#039;Ressource Einfügen&#039;&#039;&#039; lässt sich ein hochgeladenes Bild oder ein Link in den Aufgabentext einfügen.&lt;br /&gt;
[[File:R_Aufgabentext.JPG|center|thumb|800px|Aufgabentext für eine R Aufgabe]]&lt;br /&gt;
* &#039;&#039;&#039;Vorausgefüllter Code:&#039;&#039;&#039; Bei den R Aufgaben gibt es die Möglichkeit den Lernenden bereits einen vorausgefüllten Code zur Verfügung zu stellen. Diesen müssen sie dann nur noch vervollständigen. Die Variablen werden hier entsprechend ersetzt. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird bei der Ersetzung in R-Syntax umgeformt.&lt;br /&gt;
[[File:R_VorausgefuellterCode.JPG|center|thumb|800px|Vorausgefüllter Code bei R Aufgaben]]&lt;br /&gt;
&lt;br /&gt;
===Feedback===&lt;br /&gt;
* &#039;&#039;&#039;Gewichtung des Aufgabenteils:&#039;&#039;&#039; Gewichtung der Punktzahl dieses Aufgabenteils innerhalb der ganzen Aufgabe&lt;br /&gt;
* &#039;&#039;&#039;Evaluierungsregel:&#039;&#039;&#039; In dem Eingabefeld gibt man die Regel an wie die Punkte aus den verschiedenen Checkern zusammengesetzt werden. Jeder der Checker kann dabei unterschiedlich gewichtet sein. Unter dem Eingabefeld sind die konfigurierten Variablen aufgelistet. Sind für die Variablen Namen konfiguriert worden, so werden diese dort mit aufgeführt. Variablen werden mit den Symbolen #{} eingeschlossen. Wird das Feld leer gelassen werden alle Testfallgruppen gleich gewichtet gewertet.&lt;br /&gt;
[[File:R_Evaluierungsregel.JPG|center|thumb|800px|Evaluierungsregeln bei R Aufgaben]]&lt;br /&gt;
* &#039;&#039;&#039;Feedback beim Überspringen:&#039;&#039;&#039; Wenn der Haken gesetzt wurde kann der Lernende die Aufgabe überspringen. Dazu gibt es die Möglichkeit einen Text dem Lernenden anzuzeigen, wenn dieser den Aufgabenteil übersprungen hat. Den Text kann man über Klicken in das Textfeld oder das Icon [[File:Icon-Pencil.jpg|22px]] hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Hinweise}}&lt;br /&gt;
&lt;br /&gt;
===Verknüpfungen===&lt;br /&gt;
* &#039;&#039;&#039;Nächster Aufgabenteil (Standard):&#039;&#039;&#039; In dem Drop-Down Feld wird der nächste Zustand ausgewählt, in die die Aufgabe gehen soll, wenn der Lernende eine Lösung eingereicht hat. Es gibt die folgenden Möglichkeiten:&lt;br /&gt;
** &#039;&#039;&#039;Ende der Aufgabe:&#039;&#039;&#039; Die Aufgabe ist mit der Aktion des Lernenden beendet.&lt;br /&gt;
** &#039;&#039;&#039;Aufgabenteil wiederholen:&#039;&#039;&#039; Dieser Aufgabenteil wird wiederholt. Der Lernende kann ein weiteres Ergebnis einreichen. Diese Aktion lässt sich gut bei Übungsaufgaben einsetzen.&lt;br /&gt;
** &#039;&#039;&#039;#x (x ist dabei ein beliebiger Aufgabenteil dieser Aufgabe):&#039;&#039;&#039; Der entsprechende Aufgabenteil wird als nächstes angezeigt. Wenn man die Aufgabenteilnummer des aktuellen Aufgabenteils wählt wird dieser Aufgabenteil neu aufgerufen.&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Variablenupdates}}&lt;br /&gt;
&lt;br /&gt;
{{JACK3:Dateien für Studierende}}&lt;br /&gt;
&lt;br /&gt;
===Checker===&lt;br /&gt;
Der R-Aufgabenteil hat ein sehr flexibles Konzept, wie asynchrone Checks zusammengestellt werden:&lt;br /&gt;
* Zunächst können beliebig viele Gruppen von Testfällen angelegt werden.&lt;br /&gt;
* Jede Gruppe kann aus beliebig vielen statischen und dynamischen Checks bestehen.&lt;br /&gt;
* Jeder Gruppe wird eine Punktzahl zugewiesen, indem die Punkte jedes individuellen Checks aufaddiert (Gain) bzw. abgezogen (Deduction) werden.&lt;br /&gt;
* Die Punktzahl jeder Gruppe kann in der Evaluierungsregel im Feedback referenziert werden (siehe oben) und unterschiedlich stark in die Bewertung eingehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:R_Testfallgruppen.JPG|center]]&lt;br /&gt;
In diesem Beispiel gibt es eine Testfall Gruppe mit einem statischen und einem dynamischen Checker.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dynamische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des dynamischen Checkers sind [[Dynamischer_R_Checker (JACK3)|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Statische Testfälle&#039;&#039;&#039;&lt;br /&gt;
Alle Einstellungsmöglichkeiten des statischen Checkers sind [[R_GReQL_Checker|hier]] zu finden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testfallgruppen Konfiguration&#039;&#039;&#039;&lt;br /&gt;
[[Datei:R_TestfallKonfiguration.JPG|center]]&lt;br /&gt;
Hier lässt sich die ganze Testfallgruppe konfigurieren.&lt;br /&gt;
* &#039;&#039;&#039;Variablenname:&#039;&#039;&#039; Den hier angegebene Variablenname braucht man, um die Testfallgruppe im Feedback-Tab anzugeben.&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Zusätzlich zu dem automatisch generierten Variablennamen kann man hier selber einen Namen eingeben. Dieser dient dazu in dem Tab &amp;quot;Feedback&amp;quot; die Gesamtberechnung vornehmen zu können.&lt;br /&gt;
Die anderen Einstellungsmöglichkeiten sind noch nicht fertig implementiert.&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
Die folgenden [[Variablen (JACK3)|JACK-Variablen]] stehen für diesen Aufgabentyp zur Verfügung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[input=rStudentInputSetBySystem]&amp;lt;/code&amp;gt;|| Der eingereichte R-Code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Dynamischer_R_Checker_(JACK3)&amp;diff=11361</id>
		<title>Dynamischer R Checker (JACK3)</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Dynamischer_R_Checker_(JACK3)&amp;diff=11361"/>
		<updated>2024-06-28T11:50:29Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der dynamische Checker vergleicht den Output eines vom Lernenden eingereichten Codes mit dem erwarteten Output. Dazu wird innerhalb des Checkers ein Testfall definiert (&#039;&#039;Erwartete Ausgabe&#039;&#039;), in dem der Code hinterlegt wird, der den zu erwarteten richtigen Output generiert. Dieser wird dann nach der Einreichung des Lernenden mit dem vom Code des Lernenden generierten Output verglichen. Durch das Klicken auf den Button &#039;&#039;Dynamischer Testfall&#039;&#039; wird ein dynamischer Test erzeugt und ein Fenster öffnet sich. Dort lassen sich folgende Einstellungen vornehmen:&lt;br /&gt;
* &#039;&#039;&#039;Name:&#039;&#039;&#039; Name des Testfalls.&lt;br /&gt;
* &#039;&#039;&#039;Postcode:&#039;&#039;&#039; Es ist möglich benutzerdefinierten Postcode in Aufgaben zu hinterlegen. &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Hier können Aufgabenvariablen verwendet werden. Der Wert der Variablen wird in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Nachverarbeitungsfunktion:&#039;&#039;&#039; Muss nur gesetzt sein, falls spezielle R-Funktionen zur Nachbearbeitung des studentischen Codes nötig sind. Dies kann nötig sein, um verschiedene richtige Antworten auf ein gleiches Format zu bringen, dann könnte in dem Feld &#039;&#039;erwartete Ausgabe&#039;&#039; auf die Ausgabe dieser Nachbearbeitungsfunktion getestet werden. Für einfache Aufgaben können diese Felder zunächst leer gelassen werden. Beispiel: Wird hier der Wert &amp;quot;myParser&amp;quot; angegeben, so wird nicht mit der intern generierten Funktion &amp;quot;studentInputAsFunc()&amp;quot; verglichen, sondern mit &amp;quot;myParser(studentInputAsFunc())&amp;quot;. In diesem Fall muss die Funktion im Feld postCode definiert werden! &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Hier können Aufgabenvariablen verwendet werden. Der Wert der Variablen wird in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Erwartete Ausgabe:&#039;&#039;&#039; Hier sollte der Ausdruck stehen, der mit dem Testthat-Framework auf Gleichheit getestet werden soll. Hier ist zu beachten, dass es nötig sein kann Variablenersetzungen wie im &#039;&#039;Vorausgefüllten Code&#039;&#039; vorzunehmen. &#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Variablen, &#039;&#039;&#039;die Text enthalten&#039;&#039;&#039;, müssen mit &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; umgeben werden, damit sie korrekt in den R-Ausdruck eingebettet werden. Bsp.: &amp;lt;code&amp;gt;&#039;[var=text]&#039;==&#039;Text&#039; wird zu &#039;Text&#039;==&#039;Text&#039;&amp;lt;/code&amp;gt; &#039;&#039;&#039;Ab JACK 0.14.0:&#039;&#039;&#039; Der Wert der Variablen wird automatisch in R-Syntax umgeformt.&lt;br /&gt;
* &#039;&#039;&#039;Toleranz (e^{...}):&#039;&#039;&#039; Der Vergleich mit dem Testthat-Framework wird mit Toleranz vorgenommen. &#039;&#039;-4&#039;&#039; bedeutet hier, dass auf &#039;&#039;&#039;|erwartung-eingabe| &amp;lt;e^-4&#039;&#039;&#039; geprüft wird.&lt;br /&gt;
* &#039;&#039;&#039;Regelart:&#039;&#039;&#039; Hier kann man zwischen &#039;&#039;Absence&#039;&#039; und &#039;&#039;Presence&#039;&#039; wählen. Bei Absence darf die &#039;&#039;erwartete Ausgabe&#039;&#039; nicht vorhanden sein und bei Presence muss die &#039;&#039;erwartete Ausgabe&#039;&#039; vorhanden sein.&lt;br /&gt;
* &#039;&#039;&#039;Punktemodus:&#039;&#039;&#039; Hier kann man zwischen &#039;&#039;Deduction&#039;&#039; und &#039;&#039;Gain&#039;&#039; wählen, d.h. ob die Punkte bei erfolgreichem Test abgezogen werden oder aufaddiert werden.&lt;br /&gt;
* &#039;&#039;&#039;Punkte:&#039;&#039;&#039; Die Punkte, die je nach Punktemodus abgezogen oder aufaddiert werden. Am Ende werden die Punkte auf 0-100 Punkte eingeschränkt, d.h. es gibt keine negativen Punkte)&lt;br /&gt;
* &#039;&#039;&#039;Feedback (im Fehlerfall):&#039;&#039;&#039; Wird dem Lernenden angezeigt, wenn dieser Test fehlschlägt.&lt;br /&gt;
[[File:Dynamischer R Testfall.png|center|thumb|600px|Beispiel für einen dynamischen Test einer R Aufgabe]]&lt;br /&gt;
In dem Beispiel soll der Mittelwert berechnet werden. Der dynamische Checker schaut, ob das Ergebnis übereinstimmt. Wenn das Ergebnis der Mittelwert der angegebenen Zahlen ist, dann gibt dieser Checker 60 Punkte zurück.&lt;br /&gt;
&lt;br /&gt;
[[category:Benutzerhandbuch]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Hauptseite&amp;diff=11166</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Hauptseite&amp;diff=11166"/>
		<updated>2024-06-03T07:38:18Z</updated>

		<summary type="html">&lt;p&gt;PRanz: /* Downtime / Infrastrukturumzug am 10.06.24 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #feca00; padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
== Downtime / Infrastrukturumzug am 10.06.24 ==&lt;br /&gt;
Aus lizenzrechtlichen Gründen müssen wir unsere JACK Server auf eine neue Infrastruktur umziehen. Der Umzug findet am Montag, dem 10.06.24 statt. Da hier nicht nur durch uns umfangreiche technische Arbeiten durchgeführt werden, sondern auch DNS Einträge geändert werden müssen, ist mit einer längeren Ausfallzeit an diesem Tag zu rechnen. Wir bemühen uns die Arbeiten im Bereich des Vormittags abzuschließen.&lt;br /&gt;
&lt;br /&gt;
Wenden Sie sich bei Fragen gerne über die bekannten Kanäle an uns.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Herzlich Willkommenen im JACK-Wiki für Lehrende. In diesem Nachschlagewerk finden Sie eine umfassende Dokumentation über die Funktionen und die Arbeitsweise von JACK. Bei weitergehenden Fragen können Sie sich jederzeit [mailto:jack@paluno.uni-due.de per E-Mail] an uns wenden.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== JACK 3 ==&lt;br /&gt;
JACK 3 ist die aktuelle Version des Übungs- und Prüfungssystems JACK, die an der Universität Duisburg-Essen und weiteren Hochschulen im Produktivbetrieb eingesetzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-wrap:wrap; row-gap:10px; column-gap:10px; width:100%; color:white;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;div style=&amp;quot;min-width: 300px; text-align: center; min-height: 50px; background-color: #004c93; flex-grow:1; flex-basis:0; padding:10px;&amp;quot;&amp;gt;&amp;lt;p&amp;gt;[[Benutzerhandbuch (JACK3)|&amp;lt;span style=&amp;quot;color:white; font-size:140%; font-weight:bold; text-decoration:underline;&amp;quot;&amp;gt;JACK 3 Benutzerhandbuch&amp;lt;/span&amp;gt;]]&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Das Benutzerhandbuch erklärt alle Einstellungsmöglichkeiten und Funktionen von JACK. Es bietet eine umfassende Referenz für alle, die JACK intensiv nutzen möchten.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div style=&amp;quot;min-width: 300px; text-align: center; min-height: 50px; background-color: #004c93; flex-grow:1; flex-basis:0; padding:10px;&amp;quot;&amp;gt;&amp;lt;p&amp;gt;[[Versionshistorie (JACK3)|&amp;lt;span style=&amp;quot;color:white; font-size:140%; font-weight:bold; text-decoration:underline;&amp;quot;&amp;gt;JACK 3 Versionshistorie&amp;lt;/span&amp;gt;]]&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Die Versionshistorie listet die neuesten JACK-Versionen und die darin neu eingeführten Features auf. Schauen Sie regelmäßig hier vorbei, um neue Möglichkeiten zu entdecken.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div style=&amp;quot;min-width: 300px; text-align: center; min-height: 50px; background-color: #004c93; flex-grow:1; flex-basis:0; padding:10px;&amp;quot;&amp;gt;&amp;lt;p&amp;gt;[https://jack-demo.s3.uni-due.de &amp;lt;span style=&amp;quot;color:white; font-size:140%; font-weight:bold; text-decoration:underline;&amp;quot;&amp;gt;JACK 3 Demoserver&amp;lt;/span&amp;gt;]&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Auf unserem Demoserver können Sie das System aus Studierendensicht erleben. Kontaktieren Sie uns [mailto:jack@paluno.uni-due.de &amp;lt;span style=&amp;quot;color:white; text-decoration:underline;&amp;quot;&amp;gt;per E-Mail&amp;lt;/span&amp;gt;], um das System auch aus Lehrendensicht kennenzulernen.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kontakt und Support ==&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
Über unsere Mailingliste halten wir Sie über aktuelle Entwicklungen auf dem Laufenden. Sie können sich selbständig [https://lists.uni-due.de/mailman/listinfo/jack-announce in die Liste eintragen], um jederzeit über Updates und andere, wichtige Neuerungen informiert zu werden.&lt;br /&gt;
&lt;br /&gt;
=== Mailinglisten Archiv ===&lt;br /&gt;
Unter folgendem [https://lists.uni-due.de/mailman/private/jack-announce/ Link] können alle alten Nachrichten im Mailinglisten Archiv eingesehen werden.&lt;br /&gt;
&lt;br /&gt;
=== Anmeldung von Prüfungsterminen ===&lt;br /&gt;
Wenn Sie eine Prüfung mit JACK durchführen möchten, melden Sie uns die Prüfung bitte [mailto:jack@paluno.uni-due.de per Mail] an. Nur so kann sichergestellt werden, dass Sie technischen Support bei der Durchführung der Prüfung erhalten und zur Prüfungszeit keine Wartungsarbeiten durchgeführt werden, die die Durchführung der Prüfung behindern könnten.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie eine Prüfung in der PC-Hall durchführen? Bitte nutzen Sie [https://www.uni-due.de/zim/klausuranmeldung das Anmeldeformular des ZIMs]. Beachten Sie auch bitte die [https://www.uni-due.de/zim/services/e_assessment.php Informationen zur Organisation von Klausuren in der PC-Hall].&lt;br /&gt;
&lt;br /&gt;
=== Veröffentlichungen ===&lt;br /&gt;
Sie finden eine Liste der Publikationen die das e-Assessment System JACK beinhalten [[Publikationen|hier]]. Falls Ihre Publikation in der Liste fehlt können Sie uns diese gerne [mailto:jack@paluno.uni-due.de per Mail] schicken.&lt;br /&gt;
&lt;br /&gt;
== JACK 2 ==&lt;br /&gt;
JACK 2 ist die von einigen unserer Kunden noch eingesetzte Vorgängerversion von JACK 3. Mittelfristig ist eine Ablösung aller noch im Einsatz befindlichen Produktivsysteme von JACK2 vorgesehen. In JACK 2 werden &#039;&#039;keine neuen Funktionen&#039;&#039; mehr umgesetzt und es ist nur noch begrenzter technischer und inhaltlicher Support verfügbar. Für den Umzug von JACK 2 auf JACK 3 stehen Import-Funktionen und weitere Unterstützung zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weiterführende Links&#039;&#039;&#039;&lt;br /&gt;
* [[JACK 2 Benutzerhandbuch]]&lt;br /&gt;
* [[Evaluator|Der JACK 2 Evaluator]]&lt;br /&gt;
* [[Versionshistorie (Jack2)|JACK 2 Versionshistorie]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=RemoveOxidationState&amp;diff=10960</id>
		<title>RemoveOxidationState</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=RemoveOxidationState&amp;diff=10960"/>
		<updated>2024-05-22T10:02:37Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Template:ChemEvaluatorfunktion|Parameter=Die Methode erwartet 1 Parameter. Dieser kann ein Molekül oder eine Liste von Molekülen sein.|Rückgabewert=Die Funktion entfernt den Oxidationszustand des Moleküls. Das Molekül wird ohne Oxidationszustand zurückgegeben.|Aufbau=|Hinweise=Hat das übergebene Molekül keinen Oxidationszustand, wird es ohne Veränderungen zurückgegeben.|Beispiel=*&amp;lt;code&amp;gt;removeOxidationState(molecule(atomarray(oxidationState(+&amp;#039;V…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Die Methode erwartet 1 Parameter. Dieser kann ein Molekül oder eine Liste von Molekülen sein.|Rückgabewert=Die Funktion entfernt den Oxidationszustand des Moleküls. Das Molekül wird ohne Oxidationszustand zurückgegeben.|Aufbau=|Hinweise=Hat das übergebene Molekül keinen Oxidationszustand, wird es ohne Veränderungen zurückgegeben.|Beispiel=*&amp;lt;code&amp;gt;removeOxidationState(molecule(atomarray(oxidationState(+&#039;V&#039;, atomarrayElement(H,2)))))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;H&amp;lt;sub&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;removeOxidationState(list(molecule(atomarray(oxidationState(+&#039;V&#039;,atomarrayElement(H)))), molecule(atomarray(oxidationState(-&#039;II&#039;,atomarrayElement(O,2))))))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;{H,O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}&amp;lt;/code&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=CompareCharges&amp;diff=10959</id>
		<title>CompareCharges</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=CompareCharges&amp;diff=10959"/>
		<updated>2024-05-22T09:43:16Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Template:ChemEvaluatorfunktion|Parameter=Die Funktion erwartet 2 Parameter. Diese können eine Liste von Molekülen, ein Molekül oder eine Reaktionsgleichung sein.|Rückgabewert=Die Funktion gibt true zurück, wenn die Formalladung der beiden Parameter gleich sind. Ansonsten wird false zurück gegeben.|Aufbau=&amp;lt;code&amp;gt;compareCharges(arg1,arg2)&amp;lt;/code&amp;gt;|Hinweise=|Beispiel=*&amp;lt;code&amp;gt;compareCharges(molecule(atomarray(atomarrayElement(O,2),atomarrayElement(O,3),at…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Die Funktion erwartet 2 Parameter. Diese können eine Liste von Molekülen, ein Molekül oder eine Reaktionsgleichung sein.|Rückgabewert=Die Funktion gibt true zurück, wenn die Formalladung der beiden Parameter gleich sind. Ansonsten wird false zurück gegeben.|Aufbau=&amp;lt;code&amp;gt;compareCharges(arg1,arg2)&amp;lt;/code&amp;gt;|Hinweise=|Beispiel=*&amp;lt;code&amp;gt;compareCharges(molecule(atomarray(atomarrayElement(O,2),atomarrayElement(O,3),atomarrayElement(H,4))),	molecule(atomarray(atomarrayElement(H,2),atomarrayElement(O,3),atomarrayElement(H,4)),charge(1-)))&amp;lt;/code&amp;gt; &lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;compareCharges(molecule(atomarray(atomarrayElement(H,2),atomarrayElement(O,3),atomarrayElement(H,4))), molecule(atomarray(atomarrayElement(H,2),atomarrayElement(O,3),atomarrayElement(H,4))))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Atom&amp;diff=10958</id>
		<title>Atom</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Atom&amp;diff=10958"/>
		<updated>2024-05-22T09:31:28Z</updated>

		<summary type="html">&lt;p&gt;PRanz: Die Seite wurde neu angelegt: „{{Template:ChemEvaluatorfunktion|Parameter=|Rückgabewert=|Aufbau=Ein Atom wird in Form einer Buchstabenfolge angegeben. (Großbuchstabe, [Kleinbuchstabe]).|Hinweise=Folgende Atome werden erkannt (Sortiert nach Gruppen im Periodensystem): * H, Li, Na, K, Rb, Cs, Fr * Be, Mg, Ca, Sr, Ba, Ra * Sc, Y * Ti, Zr, Hf, Rf * V, Nb, Ta, Db * Cr, Mo, W, Sg * Mn, Tc, Re, Bh * Fe, Ru, Os, Hs * Co, Rh, Ir, Mt * Ni, Pd, Pt, Ds * Cu, Ag, Au, Rg * Zn, Cd, Hg, Cn * B, Al,…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=|Rückgabewert=|Aufbau=Ein Atom wird in Form einer Buchstabenfolge angegeben. (Großbuchstabe, [Kleinbuchstabe]).|Hinweise=Folgende Atome werden erkannt (Sortiert nach Gruppen im Periodensystem):&lt;br /&gt;
* H, Li, Na, K, Rb, Cs, Fr&lt;br /&gt;
* Be, Mg, Ca, Sr, Ba, Ra&lt;br /&gt;
* Sc, Y&lt;br /&gt;
* Ti, Zr, Hf, Rf&lt;br /&gt;
* V, Nb, Ta, Db&lt;br /&gt;
* Cr, Mo, W, Sg&lt;br /&gt;
* Mn, Tc, Re, Bh&lt;br /&gt;
* Fe, Ru, Os, Hs&lt;br /&gt;
* Co, Rh, Ir, Mt&lt;br /&gt;
* Ni, Pd, Pt, Ds&lt;br /&gt;
* Cu, Ag, Au, Rg&lt;br /&gt;
* Zn, Cd, Hg, Cn&lt;br /&gt;
* B, Al, Ga, In, Tl, Nh&lt;br /&gt;
* C, Si, Ge, Sn, Pb, Fl&lt;br /&gt;
* N, P, As, Sb, Bi, Mc&lt;br /&gt;
* O, S, Se, Te, Po, Lv&lt;br /&gt;
* F, Cl, Br, I, At, Ts&lt;br /&gt;
* He, Ne, Ar, Kr, Xe, Rn, Og|Beispiel=*&amp;lt;code&amp;gt;Cl&amp;lt;/code&amp;gt; =&amp;gt; &amp;lt;code&amp;gt;Cl&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Atomarray&amp;diff=10957</id>
		<title>Atomarray</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Atomarray&amp;diff=10957"/>
		<updated>2024-05-22T09:16:45Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Die Methode erwartet 1-n Parameter.&lt;br /&gt;
&lt;br /&gt;
Als Parameter wird entweder ein &#039;&#039;[[AtomarrayElement|atomarrayElement]]&#039;&#039; oder ein &#039;&#039;[[OxidationState|oxidationState]]&#039;&#039; erwartet.|Rückgabewert=Gibt ein &#039;&#039;atomarray&#039;&#039;, also einen Array von Atomen zurück.|Aufbau=atomarray(atomarrayElement, atomarrayElement, usw.)|Hinweise=Keine Besonderheiten.|Beispiel=&amp;lt;code&amp;gt;molecule(atomarray(atomarrayElement(H,2), atomarrayElement(O)), charge(3+))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;3+&amp;lt;/sup&amp;gt;&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10956</id>
		<title>Charge</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10956"/>
		<updated>2024-05-22T09:08:04Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Erwartet einen Parameter.&lt;br /&gt;
&lt;br /&gt;
Als Parameter erwartet die Funktion eine Zahl + &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;.|Rückgabewert=Die Anzahl Ionen(+) oder Anionen(-) mit Ladung. |Aufbau=&amp;lt;code&amp;gt;charge(Zahl mit +/-)&amp;lt;/code&amp;gt;|Hinweise=Keine Besonderheiten.|Beispiel=&amp;lt;code&amp;gt;molecule(atomarray(atomarrayElement(H,2), atomarrayElement(O)), charge(3+))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;3+&amp;lt;/sup&amp;gt;&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10955</id>
		<title>Charge</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10955"/>
		<updated>2024-05-22T09:07:14Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Erwartet einen Parameter.&lt;br /&gt;
&lt;br /&gt;
Als Parameter erwartet die Funktion eine Zahl + &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;.|Rückgabewert=Die Anzahl Ionen(+) oder Anionen(-) mit Ladung. |Aufbau=&amp;lt;code&amp;gt;charge(Zahl mit +/-)&amp;lt;/code&amp;gt;|Hinweise=Keine Besonderheiten.|Beispiel=&#039;&#039;&#039;Ein Beispiel für die Funktion&#039;&#039;&#039;|Beispiel=&amp;lt;code&amp;gt;molecule(atomarray(atomarrayElement(H,2), atomarrayElement(O)), charge(3+))&amp;lt;/code&amp;gt;&lt;br /&gt;
::=&amp;gt; &amp;lt;code&amp;gt;H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&amp;lt;sup&amp;gt;3+&amp;lt;/sup&amp;gt;&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10954</id>
		<title>Charge</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Charge&amp;diff=10954"/>
		<updated>2024-05-22T09:04:10Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ChemEvaluatorfunktion|Parameter=Erwartet einen Parameter.&lt;br /&gt;
&lt;br /&gt;
Als Parameter erwartet die Funktion eine Zahl + &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;.|Rückgabewert=Die Anzahl Ionen(+) oder Anionen(-) mit Ladung. |Aufbau=&amp;lt;code&amp;gt;charge(Zahl mit +/-)&amp;lt;/code&amp;gt;|Hinweise=Keine Besonderheiten.|Beispiel=&#039;&#039;&#039;Ein Beispiel für die Funktion&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funktionen zur Erstellung von Molekülen]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Divide&amp;diff=10953</id>
		<title>Divide</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Divide&amp;diff=10953"/>
		<updated>2024-05-22T08:55:57Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Division&#039;&#039; wird die eine Zahl durch die andere Zahl geteilt und soweit wie möglich gekürzt. &lt;br /&gt;
&lt;br /&gt;
Dabei wird nicht mehr automatisch gerundet. Soll der Bruch als Dezimalzahl ausgegeben werden, kann die Funktion &amp;lt;code&amp;gt;round()&amp;lt;/code&amp;gt; genutzt werden.  &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a:b&lt;br /&gt;
 divide(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine [[Ganzzahl]] oder einen Bruch zurück&lt;br /&gt;
Es wird soweit wie möglich die Eingabe gekürzt.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
In Plain-Umgebung:&lt;br /&gt;
 1:4    --&amp;gt;  returns 1:4 in Zeichenketten, \(1 \div 4\) in LaTeX&lt;br /&gt;
 &lt;br /&gt;
 divide(1, 4)    --&amp;gt;  returns 1:4 in Zeichenketten, \(1 \div 4\) in LaTeX&lt;br /&gt;
&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 &#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
 divide(1,4)    --&amp;gt; returns 0,25&lt;br /&gt;
 1:4            --&amp;gt; return 0,25&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 divide(1,4)    --&amp;gt; returns \(\frac{1}{4}\)&lt;br /&gt;
 1:4            --&amp;gt; returns \(\frac{1}{4}\)&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 divide([var=a], [var=b])&lt;br /&gt;
 divide(1, [var=b])&lt;br /&gt;
 divide([var=a], 4)&lt;br /&gt;
&lt;br /&gt;
 [var=a]:[var=b]&lt;br /&gt;
 1:[var=b]&lt;br /&gt;
 [var=a]:4&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit studentischen Eingaben ====&lt;br /&gt;
 &#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
 divide([pos=1], [pos=1])&lt;br /&gt;
 divide(1, [pos=1])&lt;br /&gt;
 divide([pos=1], 4)&lt;br /&gt;
 &lt;br /&gt;
 [pos=1]:[pos=1]&lt;br /&gt;
 1:[pos=1]&lt;br /&gt;
 [pos=1]:4&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 divide([input=field1], [input=field1])&lt;br /&gt;
 divide(1, [input=field1])&lt;br /&gt;
 divide([input=field1], 4)&lt;br /&gt;
 divide([input=field1], [var=a])&lt;br /&gt;
 &lt;br /&gt;
 [input=field1]:[input=field1]&lt;br /&gt;
 1:[input=field1]&lt;br /&gt;
 [input=field1]:4&lt;br /&gt;
 [input=field1]:[var=a]&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Das Ergebnis lässt sich mit [[equal]] (&amp;quot;==&amp;quot;) vergleichen.&lt;br /&gt;
* Nicht zu verwechseln mit der Funktion [[Rational]]. Im Gegensatz zu [[Rational]] wird der Bruch mit Geteiltzeichen in der Plain-Umgebung für Zeichenketten und LaTeX ausgegeben.&lt;br /&gt;
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.&lt;br /&gt;
* 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. &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Chem-Evaluatorfunktion]][[Kategorie:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Divide&amp;diff=10952</id>
		<title>Divide</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Divide&amp;diff=10952"/>
		<updated>2024-05-22T08:55:42Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Division&#039;&#039; wird die eine Zahl durch die andere Zahl geteilt und soweit wie möglich gekürzt. &lt;br /&gt;
&lt;br /&gt;
Dabei wird nicht mehr automatisch gerundet. Soll der Bruch als Dezimalzahl ausgegeben werden, kann die Funktion &amp;lt;code&amp;gt;round()&amp;lt;/code&amp;gt; genutzt werden.  &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
 a:b&lt;br /&gt;
 divide(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt eine [[Ganzzahl]] oder einen Bruch zurück&lt;br /&gt;
Es wird soweit wie möglich die Eingabe gekürzt.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
In Plain-Umgebung:&lt;br /&gt;
 1:4    --&amp;gt;  returns 1:4 in Zeichenketten, \(1 \div 4\) in LaTeX&lt;br /&gt;
 &lt;br /&gt;
 divide(1, 4)    --&amp;gt;  returns 1:4 in Zeichenketten, \(1 \div 4\) in LaTeX&lt;br /&gt;
&lt;br /&gt;
==== Standardfälle ====&lt;br /&gt;
 &#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
 divide(1,4)    --&amp;gt; returns 0,25&lt;br /&gt;
 1:4            --&amp;gt; return 0,25&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 divide(1,4)    --&amp;gt; returns \(\frac{1}{4}\)&lt;br /&gt;
 1:4            --&amp;gt; returns \(\frac{1}{4}\)&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit Variablen ====&lt;br /&gt;
 divide([var=a], [var=b])&lt;br /&gt;
 divide(1, [var=b])&lt;br /&gt;
 divide([var=a], 4)&lt;br /&gt;
&lt;br /&gt;
 [var=a]:[var=b]&lt;br /&gt;
 1:[var=b]&lt;br /&gt;
 [var=a]:4&lt;br /&gt;
&lt;br /&gt;
==== Benutzung mit studentischen Eingaben ====&lt;br /&gt;
 &#039;&#039;&#039;Jack2:&#039;&#039;&#039;&lt;br /&gt;
 divide([pos=1], [pos=1])&lt;br /&gt;
 divide(1, [pos=1])&lt;br /&gt;
 divide([pos=1], 4)&lt;br /&gt;
 &lt;br /&gt;
 [pos=1]:[pos=1]&lt;br /&gt;
 1:[pos=1]&lt;br /&gt;
 [pos=1]:4&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Jack3:&#039;&#039;&#039;&lt;br /&gt;
 divide([input=field1], [input=field1])&lt;br /&gt;
 divide(1, [input=field1])&lt;br /&gt;
 divide([input=field1], 4)&lt;br /&gt;
 divide([input=field1], [var=a])&lt;br /&gt;
 &lt;br /&gt;
 [input=field1]:[input=field1]&lt;br /&gt;
 1:[input=field1]&lt;br /&gt;
 [input=field1]:4&lt;br /&gt;
 [input=field1]:[var=a]&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Das Ergebnis lässt sich mit [[equal]] (&amp;quot;==&amp;quot;) vergleichen.&lt;br /&gt;
* Nicht zu verwechseln mit der Funktion [[Rational]]. Im Gegensatz zu [[Rational]] wird der Bruch mit Geteiltzeichen in der Plain-Umgebung für Zeichenketten und LaTeX ausgegeben.&lt;br /&gt;
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.&lt;br /&gt;
* 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. &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Times&amp;diff=10951</id>
		<title>Times</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Times&amp;diff=10951"/>
		<updated>2024-05-22T08:54:38Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Multiplikation&#039;&#039; werden zwei Zahlen miteinander multipliziert. &lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  a * b&lt;br /&gt;
  times(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt ein [[Objekt]] zurück. Das zurückgegebene Element wird soweit wie möglich ausgerechnet zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 3 * 5    --&amp;gt; returns 15&lt;br /&gt;
 &lt;br /&gt;
 1.4 * 2.3    --&amp;gt; returns 3.22&lt;br /&gt;
 &lt;br /&gt;
 3 * a    --&amp;gt; returns 3 * a&lt;br /&gt;
 &lt;br /&gt;
 c * 7    --&amp;gt; returns 7 * c&lt;br /&gt;
 &lt;br /&gt;
 a * b    --&amp;gt; returns a * b&lt;br /&gt;
 &lt;br /&gt;
 sin(y) * sin(x)    --&amp;gt; returns sin(y) * sin(x)&lt;br /&gt;
 &lt;br /&gt;
 a * cos(0)    --&amp;gt; returns a&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit equal (\(==\)) lässt sich das Ergebnis anschließend ebenfalls mit einem anderem Objekt vergleichen&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Chem-Evaluatorfunktion]][[Kategorie:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Minus&amp;diff=10950</id>
		<title>Minus</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Minus&amp;diff=10950"/>
		<updated>2024-05-22T08:53:28Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Subtraktion&#039;&#039; werden zwei Zahlen subtrahiert.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  a - b&lt;br /&gt;
  minus(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt ein [[Objekt]] zurück.&lt;br /&gt;
Die Rückgabe ist abhängig von der Eingabe. Dabei wird soweit wie möglich die Eingabe ausgerechnet.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 5-3    --&amp;gt; returns 2 &lt;br /&gt;
 &lt;br /&gt;
 5/5 - 1/5    --&amp;gt; returns \(\frac{4}{5}\)&lt;br /&gt;
 &lt;br /&gt;
 5-a    --&amp;gt; returns 5-a &lt;br /&gt;
 &lt;br /&gt;
 b-c    --&amp;gt; returns b+-c &lt;br /&gt;
 &lt;br /&gt;
 sin(x) - z    --&amp;gt; returns sin(x) - z&lt;br /&gt;
 &lt;br /&gt;
 cos(0) - a    --&amp;gt; returns 1-a&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit [[equal]] (&amp;quot;==&amp;quot;) lässt sich das Ergebnis anschließend ebenfalls mit einem anderem [[Objekt]] vergleichen.&lt;br /&gt;
* Diese Funktion ist ein binärer Operator.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Chem-Evaluatorfunktion]][[Category:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Plus&amp;diff=10949</id>
		<title>Plus</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Plus&amp;diff=10949"/>
		<updated>2024-05-22T08:52:46Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Addition&#039;&#039; werden zwei [[Objekt]]e addiert.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  a + b&lt;br /&gt;
  plus(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt ein [[Objekt]] zurück.&lt;br /&gt;
Die Rückgabe ist abhängig von der Eingabe. Dabei wird soweit wie möglich die Eingabe ausgerechnet.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 3 + 5    --&amp;gt; returns 8&lt;br /&gt;
 &lt;br /&gt;
 1/2 + 3/2   --&amp;gt; returns 2 &lt;br /&gt;
 &lt;br /&gt;
 2 + a    --&amp;gt; returns 2 + a&lt;br /&gt;
 &lt;br /&gt;
 b + c    --&amp;gt; returns b + c&lt;br /&gt;
 &lt;br /&gt;
 sin(x) + z    --&amp;gt; returns sin(x) + z&lt;br /&gt;
 &lt;br /&gt;
 cos(0) + a    --&amp;gt; returns 1 + a&lt;br /&gt;
 &lt;br /&gt;
 &#039;1&#039; + &#039;Hallo&#039;   --&amp;gt; returns 1Hallo&lt;br /&gt;
 &lt;br /&gt;
 &#039;Hallo&#039; + &#039;World&#039;   --&amp;gt; returns HalloWorld&lt;br /&gt;
 &lt;br /&gt;
 vector(1,2) + vector(2,3)   --&amp;gt; returns vector(3,5)&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit [[equal]] (&amp;quot;==&amp;quot;) lässt sich das Ergebnis anschließend ebenfalls mit einem anderem [[Objekt]] vergleichen.&lt;br /&gt;
* Diese Funktion ist ein binärer Operator.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Chem-Evaluatorfunktion]][[Category:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=Plus&amp;diff=10948</id>
		<title>Plus</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=Plus&amp;diff=10948"/>
		<updated>2024-05-22T08:52:28Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Zugehörige Evaluatoren===&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;ChemEvaluator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Bei der &#039;&#039;Addition&#039;&#039; werden zwei [[Objekt]]e addiert.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
  a + b&lt;br /&gt;
  plus(a,b)&lt;br /&gt;
&lt;br /&gt;
===Parameter===&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
* &#039;&#039;&#039;b&#039;&#039;&#039; - [[Objekt]]&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
* Gibt ein [[Objekt]] zurück.&lt;br /&gt;
Die Rückgabe ist abhängig von der Eingabe. Dabei wird soweit wie möglich die Eingabe ausgerechnet.&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
 3 + 5    --&amp;gt; returns 8&lt;br /&gt;
 &lt;br /&gt;
 1/2 + 3/2   --&amp;gt; returns 2 &lt;br /&gt;
 &lt;br /&gt;
 2 + a    --&amp;gt; returns 2 + a&lt;br /&gt;
 &lt;br /&gt;
 b + c    --&amp;gt; returns b + c&lt;br /&gt;
 &lt;br /&gt;
 sin(x) + z    --&amp;gt; returns sin(x) + z&lt;br /&gt;
 &lt;br /&gt;
 cos(0) + a    --&amp;gt; returns 1 + a&lt;br /&gt;
 &lt;br /&gt;
 &#039;1&#039; + &#039;Hallo&#039;   --&amp;gt; returns 1Hallo&lt;br /&gt;
 &lt;br /&gt;
 &#039;Hallo&#039; + &#039;World&#039;   --&amp;gt; returns HalloWorld&lt;br /&gt;
 &lt;br /&gt;
 vector(1,2) + vector(2,3)   --&amp;gt; returns vector(3,5)&lt;br /&gt;
&lt;br /&gt;
===Hinweise===&lt;br /&gt;
* Mit [[equal]] (&amp;quot;==&amp;quot;) lässt sich das Ergebnis anschließend ebenfalls mit einem anderem [[Objekt]] vergleichen.&lt;br /&gt;
* Diese Funktion ist ein binärer Operator.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Category:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=IsMathematikerRealNumber&amp;diff=10417</id>
		<title>IsMathematikerRealNumber</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=IsMathematikerRealNumber&amp;diff=10417"/>
		<updated>2024-04-12T13:23:53Z</updated>

		<summary type="html">&lt;p&gt;PRanz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.}}&lt;br /&gt;
&lt;br /&gt;
==Zugehörige Evaluatoren==&lt;br /&gt;
*&#039;&#039;&#039;MathEvaluator&#039;&#039;&#039;&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
Die Funktion &#039;&#039;isMathematikerRealNumber&#039;&#039; prüft, ob es sich bei einem gegebenen [[Objekt]] um eine reelle Zahl handelt &#039;&#039;&#039;und&#039;&#039;&#039; der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Nicht zu verwechseln mit [[isRealNumber|IsRealNumber]]. [[Übersicht Numberfunktionen|Hier]] findet sich eine Übersicht aller Number-Funktionen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:&#039;&#039;&#039;&lt;br /&gt;
* Die Eingabe lässt sich nicht zu Unendlich ausrechnen,&lt;br /&gt;
* Die Eingabe lässt sich zu einer reellen Zahl ausrechnen und&lt;br /&gt;
* Die Eingabe kann nicht weiter vereinfacht werden.&lt;br /&gt;
&lt;br /&gt;
Eine Eingabe ist weiter vereinfachbar, wenn&lt;br /&gt;
* sie mindestens einen Operanten enthält &amp;lt;code&amp;gt;(+, -, *, /, ^, sqrt)&amp;lt;/code&amp;gt; &#039;&#039;&#039;und&#039;&#039;&#039;&lt;br /&gt;
* sich zu einer Ganzzahl ausrechnen lässt.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 isMathematikerRealNumber(Objekt objekt)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
* &#039;&#039;&#039;objekt&#039;&#039;&#039; - das zu überprüfende Objekt&lt;br /&gt;
&lt;br /&gt;
=== Return Value ===&lt;br /&gt;
* Gibt einen [[Boolean]] zurück. &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;, wenn es sich um eine reelle Zahl nach obigen Kriterien handelt.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
 //Kein Operant&lt;br /&gt;
 isMathematikerRealNumber(5.5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constE())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constPi())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(infinity())   --&amp;gt; returns &#039;&#039;false&#039;&#039;, da Unendlich nicht als Zahl definiert ist&lt;br /&gt;
 &lt;br /&gt;
 // Ein Operant&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(ln(4))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(cos(4))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sin(2))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(tan(1))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(-6)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(constE()^2)   --&amp;gt; returns &#039;&#039;true&#039;&#039; &lt;br /&gt;
 isMathematikerRealNumber(constPi()/2)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(2*3)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(0.5/0.5)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(sqrt(4))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(3^5)   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Zwei Operanden&lt;br /&gt;
 isMathematikerRealNumber(-1/5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(1/-5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(-sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(4/9))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3)/2)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(sqrt(3)))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(((3)^0.5)^0.5)   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(2^(1/3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(2)*constPi())   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(1+sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber(sqrt(-1))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, es handelt sich um eine komplexe Zahl&lt;br /&gt;
 isMathematikerRealNumber(sqrt(2^2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber(0.5/(1/2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Drei Operanden&lt;br /&gt;
 isMathematikerRealNumber(1/2*sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
 isMathematikerRealNumber(sqrt(3^2+5))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 isMathematikerRealNumber((1/2)/(1/2))   --&amp;gt; returns &#039;&#039;false&#039;&#039;, der Ausdruck lässt sich weiter vereinfachen&lt;br /&gt;
 &lt;br /&gt;
 // Vier Operanden&lt;br /&gt;
 isMathematikerRealNumber(-1/2*sqrt(3))   --&amp;gt; returns &#039;&#039;true&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von Variablen ====&lt;br /&gt;
 isMathematikerRealNumber([input=fillin1])&lt;br /&gt;
 &lt;br /&gt;
 isMathematikerRealNumber([var=a])&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
Die Überprüfung mit Textfeldern funktioniert nur, wenn man den [[:Formeleditor]] verwendet. &lt;br /&gt;
&lt;br /&gt;
Gibt man keinen Editor an, wird für ein Textfeld (&amp;lt;code&amp;gt;[input=fillin1] usw.&amp;lt;/code&amp;gt;) ein OpenMath String zurückgegeben. Dadurch gibt &amp;lt;code&amp;gt;isMathematikerRealNumber([input=fillin1])&amp;lt;/code&amp;gt; sowie &amp;lt;code&amp;gt; isMathematikerRealNumber(&#039;[input=fillin1]&#039;)&amp;lt;/code&amp;gt; immer false zurück.&lt;br /&gt;
Um ein richtiges Ergebnis zu erlangen, muss [[Matches#Benutzung von Textfeldern|Matches]] genutzt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:JACK3]]&lt;/div&gt;</summary>
		<author><name>PRanz</name></author>
	</entry>
</feed>