Subpage:Ruleviolation/InstantFillInChecker: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
PRanz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
PRanz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 7: | Zeile 7: | ||
====Beispiel==== | ====Beispiel==== | ||
<syntaxhighlight lang="xml" line='line'> | <syntaxhighlight lang="xml" line='line'> | ||
<correctanswer> | <correctanswer> | ||
<rule id="1">[pos=1]==[var=g1]</rule> | <rule id="1">[pos=1]==[var=g1]</rule> | ||
<rule id="2">[pos=2]==[var=h1]</rule> | <rule id="2">[pos=2]==[var=h1]</rule> | ||
<message>Richtig. Sehr gut!</message> | <message>Richtig. Sehr gut!</message> | ||
</correctanswer> | </correctanswer> | ||
<feedback> | <feedback> | ||
<ruleviolation test="exactly(1)" penalty="50"/> | <ruleviolation test="exactly(1)" penalty="50"/> | ||
<ruleviolation test="exactly(2)" penalty="100"/> | <ruleviolation test="exactly(2)" penalty="100"/> | ||
<ruleviolation test="condition(1)"> Der von dir für $x=[var=e]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation> | |||
<ruleviolation test="condition(2)"> Der von dir für $x=[var=f]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation> | <ruleviolation test="condition(2)"> Der von dir für $x=[var=f]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation> | ||
</feedback> | </feedback> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|Bearbeiten={{{Bearbeiten|0}}}}} | |Bearbeiten={{{Bearbeiten|0}}}}} |
Version vom 5. November 2018, 14:04 Uhr
InstantFillInChecker
Über das Attribut test
ist zu bestimmen, welche Regeln verletzt wurden. Dafür erlaubt JACK vier verschiedene Funktionen, die bei diesem Attribut eingetragen werden können und auf die im Folgenden eingegangen wird. Die Regeln, welche z.T. die Argumente dieser Funktionen sind, sind stets über ihre ID zu referenzieren. Wird im Tag Feedback genutzt.
- exactly: Erlaubt es, die Anzahl der verletzten Regeln genau zu zählen, unabhängig davon welche Regeln verletzt sind. Der Aufruf exactly(3) im Attribut
test
sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls genau drei Regeln verletzt sind. - atleast: Erlaubt es, die Anzahl der mindestens verletzten Regeln zu zählen, unabhängig davon welche Regeln verletzt sind. Der Aufruf atleast(3) im Attribut
test
sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls mindestens drei Regeln verletzt sind. - combined: Erlaubt es, eine Kombination von Regeln anzugeben, die verletzt sein müssen, damit das angegebene Feedback erscheint. Der Aufruf combined(1,2,3) im Attribut
test
sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls die Regeln 1,2 und 3 verletzt sind. - condition: Erlaubt es, einen logischen Ausdruck anzugeben, der beschreibt welche Regeln verletzt bzw. nicht verletzt sein müssen, damit das jeweilige Feedback erscheint. Der Aufruf condition((1||2)&&!3) im Attribut
test
sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls die Regel 1 oder 2 verletzt ist und 3 nicht verletzt ist. - andere: Wird ausgelöst, falls keine anderer Feedbackfall ausgelöst wird.
Beispiel
<correctanswer>
<rule id="1">[pos=1]==[var=g1]</rule>
<rule id="2">[pos=2]==[var=h1]</rule>
<message>Richtig. Sehr gut!</message>
</correctanswer>
<feedback>
<ruleviolation test="exactly(1)" penalty="50"/>
<ruleviolation test="exactly(2)" penalty="100"/>
<ruleviolation test="condition(1)"> Der von dir für $x=[var=e]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation>
<ruleviolation test="condition(2)"> Der von dir für $x=[var=f]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation>
</feedback>
Parent
Es wurde noch kein Parent eingefügt.
Child
Dieser Tag besitzt keine Untertags.