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 |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Template:Tag/Checker|Checkername=InstantFillInChecker|TagName=Ruleviolation|Kurzertext=Über das Attribut <code>test</code> 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 | {{Template:Tag/Checker|Checkername=InstantFillInChecker|TagName=Ruleviolation|Kurzertext=Über das Attribut <code>test</code> 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 <code><feedback></code> genutzt.| | ||
Langertext=* '''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 <code>test</code> sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls genau drei Regeln verletzt sind. | Langertext=* '''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 <code>test</code> 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 <code>test</code> sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls mindestens 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 <code>test</code> sorgt also dafür, dass der Inhalt dieses Tags als Feedback zurückgegeben wird, falls mindestens drei Regeln verletzt sind. | ||
Zeile 7: | Zeile 7: | ||
====Beispiel==== | ====Beispiel==== | ||
<syntaxhighlight lang="xml" line='line'> | <syntaxhighlight lang="xml" line='line'> | ||
<correctanswer> | <correctanswer> | ||
<!--Die Regeln, welche erfüllt sein müssen, damit die Lösung als richtig gewertet wird--> | |||
<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> | ||
<!--Wenn genau eine Regel verletzt ist, bekommt der Student 50 Punkte abgezogen--> | |||
<ruleviolation test="exactly(1)" penalty="50"/> | <ruleviolation test="exactly(1)" penalty="50"/> | ||
<ruleviolation test="exactly(2)" penalty="100"/> | <!--Wennn genau zwei Regeln verletzt sind, bekommt der Student 100 Punkte abgezogen--> | ||
<ruleviolation test="exactly(2)" penalty="100"/> | |||
<!--Wenn die Regel mit der Id=1 verletzt ist, wird dem Studenten das Feedback ausgegeben--> | |||
<ruleviolation test="condition(1)"> Der von dir für $x=[var=e]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation> | |||
<!--Wenn die Regel mit der Id=2 verletzt ist, wird dem Studenten das Feedback ausgegeben--> | |||
<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}}}}} | |Parent=*<code><feedback></code> ([[:Feedback|Link]])|Child=Dieser Tag hat keine Untertags.|Bearbeiten={{{Bearbeiten|0}}}}} | ||
<noinclude>[[Category:InstantFillInChecker]]</noinclude> |
Aktuelle Version vom 15. November 2018, 12:55 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>
<!--Die Regeln, welche erfüllt sein müssen, damit die Lösung als richtig gewertet wird-->
<rule id="1">[pos=1]==[var=g1]</rule>
<rule id="2">[pos=2]==[var=h1]</rule>
<message>Richtig. Sehr gut!</message>
</correctanswer>
<feedback>
<!--Wenn genau eine Regel verletzt ist, bekommt der Student 50 Punkte abgezogen-->
<ruleviolation test="exactly(1)" penalty="50"/>
<!--Wennn genau zwei Regeln verletzt sind, bekommt der Student 100 Punkte abgezogen-->
<ruleviolation test="exactly(2)" penalty="100"/>
<!--Wenn die Regel mit der Id=1 verletzt ist, wird dem Studenten das Feedback ausgegeben-->
<ruleviolation test="condition(1)"> Der von dir für $x=[var=e]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation>
<!--Wenn die Regel mit der Id=2 verletzt ist, wird dem Studenten das Feedback ausgegeben-->
<ruleviolation test="condition(2)"> Der von dir für $x=[var=f]$ angegebene Funktionswert stimmt leider nicht. </ruleviolation>
</feedback>
Parent
<feedback>
(Link)
Child
Dieser Tag hat keine Untertags.