Subpage:Ruleviolation/InstantFillInChecker: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
<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>
Zeile 13: Zeile 14:
     </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>
<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}}}}}
|Bearbeiten={{{Bearbeiten|0}}}}}

Version vom 5. November 2018, 14:15 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

Es wurde noch kein Parent eingefügt.

Child

Dieser Tag besitzt keine Untertags.