<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<!-- question: 8989581  -->
  <question type="stack">
    <name>
      <text>Dezimalzahlen und Brüche</text>
    </name>
    <questiontext format="moodle_auto_format">
      <text><![CDATA[<p>Verschieben Sie die Elemente, um den Zahlen ihre anderen Schreibweisen zuzuordnen.</p>
[[parsons input="ans1" columns="3" rows="2"]]
{
    "steps" : {#match_encode(steps)#},
    "headers" : {#headers#}
}
[[/parsons]]
<p>[[input:ans1]] [[validation:ans1]]</p>]]></text>
    </questiontext>
    <generalfeedback format="moodle_auto_format">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.1000000</penalty>
    <hidden>0</hidden>
    <idnumber></idnumber>
    <stackversion>
      <text>2025073100</text>
    </stackversion>
    <questionvariables>
      <text><![CDATA[/*  
Die Aufgabe „Dezimalzahlen und Brüche“ von Jonas Lache, Team E-Learning@Hochschule Ruhr West, ist lizenziert unter einer CC BY-SA 4.0 International Lizenz (https://creativecommons.org/licenses/by-sa/4.0/). Sie basiert auf der Aufgabe „Drag and drop -2- Grid“, die als Teil der STACK-Fragenbibliothek ebenfalls unter CC BY-SA 4.0 lizenziert ist (https://github.com/maths/moodle-qtype_stack/blob/aa372f1b0c8aa6cfb86d15f36978c747dbbda9b5/samplequestions/stacklibrary/Doc-Examples/Specialist-Tools-Docs/Drag-and-drop/Drag_and_drop-2-Grid.xml).  
*/

/*import parsons' code library*/
stack_include("contribl://matchlib.mac");


/*options to drag from, can be changed*/
steps : [
  ["d1", "\\(7,\\!75\\)"],
  ["b1", "\\(\\frac{31}{4}\\)"],
  ["g1", "\\(7\\frac{3}{4}\\)"],
  ["d2", "\\(3,\\!6\\)"],
  ["b2", "\\(\\frac{18}{5}\\)"],
  ["g2", "\\(3\\frac{3}{5}\\)"]
];
/*create random order*/
steps: random_permutation(steps);
/*Categories to drag to, can be changed*/
headers: [
  "Dezimalzahl", 
  "Bruch", 
  "Gemischter Bruch"
];
/*a correct answer, edit if changing question*/
ta: [
  ["d1", "d2"], 
  ["b1", "b2"], 
  ["g1", "g2"]
];
/*another correct answer for testing, edit if changing question*/
ta2: [
  ["d2", "d1"], 
  ["b2", "b1"], 
  ["g2", "g1"]
];

/*example of a wrong response for tests, edit if changing question*/
wa: [
  ["d2", "d1"], 
  ["g1", "b1"], 
  ["g2", "b2"]
];]]></text>
    </questionvariables>
    <specificfeedback format="html">
      <text>[[feedback:prt1]]</text>
    </specificfeedback>
    <questionnote format="html">
      <text>{@map(first, steps)@}</text>
    </questionnote>
    <questiondescription format="html">
      <text></text>
    </questiondescription>
    <questionsimplify>1</questionsimplify>
    <assumepositive>0</assumepositive>
    <assumereal>0</assumereal>
    <prtcorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:green;"><i class="fa fa-check"></i></span> Richtige Antwort, gut gemacht!]]></text>
    </prtcorrect>
    <prtpartiallycorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:orange;"><i class="fa fa-adjust"></i></span> Ihre Antwort ist teilweise korrekt.]]></text>
    </prtpartiallycorrect>
    <prtincorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:red;"><i class="fa fa-times"></i></span> Falsche Antwort.]]></text>
    </prtincorrect>
    <decimals>.</decimals>
    <scientificnotation>*10</scientificnotation>
    <multiplicationsign>dot</multiplicationsign>
    <sqrtsign>1</sqrtsign>
    <complexno>i</complexno>
    <inversetrig>cos-1</inversetrig>
    <logicsymbol>lang</logicsymbol>
    <matrixparens>[</matrixparens>
    <isbroken>0</isbroken>
    <variantsselectionseed></variantsselectionseed>
    <input>
      <name>ans1</name>
      <type>parsons</type>
      <tans>[ta, steps, 3, 2]</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint></syntaxhint>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords></forbidwords>
      <allowwords></allowwords>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options></options>
    </input>
    <prt>
      <name>prt1</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>1</feedbackstyle>
      <feedbackvariables>
        <text>sans: match_decode(ans1, true);
sans: match_set_row(sans);
tans: match_set_row(ta);</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description></description>
        <answertest>AlgEquiv</answertest>
        <sans>sans</sans>
        <tans>tans</tans>
        <testoptions></testoptions>
        <quiet>1</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty></truepenalty>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-1-T</trueanswernote>
        <truefeedback format="html">
          <text></text>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty></falsepenalty>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt1-1-F</falseanswernote>
        <falsefeedback format="html">
          <text></text>
        </falsefeedback>
      </node>
    </prt>
    <deployedseed>1947593236</deployedseed>
    <deployedseed>1130563116</deployedseed>
    <deployedseed>160122485</deployedseed>
    <deployedseed>862853402</deployedseed>
    <deployedseed>591920221</deployedseed>
    <qtest>
      <testcase>1</testcase>
      <description>Test case assuming the teacher's input gets full marks.</description>
      <testinput>
        <name>ans1</name>
        <value>apply(match_answer,[ta, steps, 3])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-1-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <description>Checks that an incorrect configuration is marked as wrong</description>
      <testinput>
        <name>ans1</name>
        <value> 	apply(match_answer,[wa, steps, 3])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>0.0000000</expectedscore>
        <expectedpenalty>0.1000000</expectedpenalty>
        <expectedanswernote>prt1-1-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>3</testcase>
      <description></description>
      <testinput>
        <name>ans1</name>
        <value>apply(match_answer,[ta2, steps, 3])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-1-T</expectedanswernote>
      </expected>
    </qtest>
  </question>

<!-- question: 8989580  -->
  <question type="stack">
    <name>
      <text>Quadratische Funktionen</text>
    </name>
    <questiontext format="html">
      <text><![CDATA[<p>Ordnen Sie die quadratischen Funktionen in die linken Spalten ein, je nachdem, wie viele reelle Nullstellen sie besitzen.</p>
[[parsons input="ans1" columns="3"]]
{
    "steps" : {#match_encode(steps)#},
    "headers" : {#headers#}
}
[[/parsons]]
<p>[[input:ans1]] [[validation:ans1]]</p>]]></text>
    </questiontext>
    <generalfeedback format="moodle_auto_format">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.1000000</penalty>
    <hidden>0</hidden>
    <idnumber></idnumber>
    <stackversion>
      <text>2025073100</text>
    </stackversion>
    <questionvariables>
      <text><![CDATA[/*  
Die Aufgabe „Quadratische Funktionen“ von Jonas Lache, Team E-Learning@Hochschule Ruhr West, ist lizenziert unter einer CC BY-SA 4.0 International Lizenz (https://creativecommons.org/licenses/by-sa/4.0/). Sie basiert auf der Aufgabe „Drag and drop - 1 - grouping example“, die als Teil der STACK-Fragenbibliothek ebenfalls unter CC BY-SA 4.0 lizenziert ist (https://github.com/maths/moodle-qtype_stack/blob/aa372f1b0c8aa6cfb86d15f36978c747dbbda9b5/samplequestions/stacklibrary/Doc-Examples/Specialist-Tools-Docs/Drag-and-drop/Drag_and_drop-1-grouping.xml).  
*/

/*import parsons' code library*/
stack_include("contribl://matchlib.mac");

/*options to drag from, can be changed*/
steps : [
    ["1", "\\(x^2 + x + 1\\)"],
    ["2", "\\(2x^2 + 3x + 5\\)"],
    ["3", "\\(x^2 - 2x + 1\\)"],
    ["4", "\\(4x^2 + 4x + 1\\)"],
    ["5", "\\(x^2 - x - 6\\)"],
    ["6", "\\(3x^2 - 5x - 8\\)"]
];

/*create random order*/
steps: random_permutation(steps);

/*Categories to drag to, can be changed*/
headers: [
    "Keine Nullstellen", 
    "Eine Nullstelle", 
    "Zwei Nullstellen"
];

/*a correct answer, edit if changing question*/
ta: [
    ["1", "2"], 
    ["3", "4"], 
    ["5", "6"]
];
/*example of a wrong response for tests, edit if changing question*/
wa: [
    ["1", "3"], 
    ["2", "5"], 
    ["4", "6"]
];]]></text>
    </questionvariables>
    <specificfeedback format="html">
      <text>[[feedback:prt1]]</text>
    </specificfeedback>
    <questionnote format="html">
      <text>{@map(first, steps)@}</text>
    </questionnote>
    <questiondescription format="html">
      <text></text>
    </questiondescription>
    <questionsimplify>1</questionsimplify>
    <assumepositive>0</assumepositive>
    <assumereal>0</assumereal>
    <prtcorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:green;"><i class="fa fa-check"></i></span> Richtige Antwort, gut gemacht!]]></text>
    </prtcorrect>
    <prtpartiallycorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:orange;"><i class="fa fa-adjust"></i></span> Ihre Antwort ist teilweise korrekt.]]></text>
    </prtpartiallycorrect>
    <prtincorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:red;"><i class="fa fa-times"></i></span> Falsche Antwort.]]></text>
    </prtincorrect>
    <decimals>.</decimals>
    <scientificnotation>*10</scientificnotation>
    <multiplicationsign>dot</multiplicationsign>
    <sqrtsign>1</sqrtsign>
    <complexno>i</complexno>
    <inversetrig>cos-1</inversetrig>
    <logicsymbol>lang</logicsymbol>
    <matrixparens>[</matrixparens>
    <isbroken>0</isbroken>
    <variantsselectionseed></variantsselectionseed>
    <input>
      <name>ans1</name>
      <type>parsons</type>
      <tans>[ta, steps, 3]</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint></syntaxhint>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords></forbidwords>
      <allowwords></allowwords>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options></options>
    </input>
    <prt>
      <name>prt1</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>1</feedbackstyle>
      <feedbackvariables>
        <text>sans: match_decode(ans1);
sans: match_column_set(sans);
tans: match_column_set(ta);</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description></description>
        <answertest>AlgEquiv</answertest>
        <sans>sans</sans>
        <tans>tans</tans>
        <testoptions></testoptions>
        <quiet>1</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty></truepenalty>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-1-T</trueanswernote>
        <truefeedback format="html">
          <text></text>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty></falsepenalty>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt1-1-F</falseanswernote>
        <falsefeedback format="html">
          <text></text>
        </falsefeedback>
      </node>
    </prt>
    <deployedseed>802508</deployedseed>
    <deployedseed>1004559667</deployedseed>
    <deployedseed>1294254750</deployedseed>
    <deployedseed>947081346</deployedseed>
    <qtest>
      <testcase>1</testcase>
      <description>Test case assuming the teacher's input gets full marks.</description>
      <testinput>
        <name>ans1</name>
        <value>apply(group_answer,[ta, steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-1-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <description></description>
      <testinput>
        <name>ans1</name>
        <value> 	apply(group_answer,[wa, steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>0.0000000</expectedscore>
        <expectedpenalty>0.1000000</expectedpenalty>
        <expectedanswernote>prt1-1-F</expectedanswernote>
      </expected>
    </qtest>
  </question>

<!-- question: 8989578  -->
  <question type="stack">
    <name>
      <text>Satz des Euklid</text>
    </name>
    <questiontext format="html">
      <text><![CDATA[<p>Beweisen Sie, dass es unendlich viele Primzahlen gibt.</p>
[[parsons input="ans1"]]
{# parsons_encode(proof_steps) #}
[[/parsons ]]
<p>[[input:ans1]] [[validation:ans1]]</p>]]></text>
    </questiontext>
    <generalfeedback format="moodle_auto_format">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.1000000</penalty>
    <hidden>0</hidden>
    <idnumber></idnumber>
    <stackversion>
      <text>2025073100</text>
    </stackversion>
    <questionvariables>
      <text><![CDATA[/*  
Die Aufgabe „Satz des Euklid“ von Jonas Lache, Team E-Learning@Hochschule Ruhr West, ist lizenziert unter einer CC BY-SA 4.0 International Lizenz (https://creativecommons.org/licenses/by-sa/4.0/). Sie basiert auf der Aufgabe „Parsons proofs 1- Minimal“, die als Teil der STACK-Fragenbibliothek ebenfalls unter CC BY-SA 4.0 lizenziert ist (https://github.com/maths/moodle-qtype_stack/blob/aa372f1b0c8aa6cfb86d15f36978c747dbbda9b5/samplequestions/stacklibrary/Doc-Examples/Specialist-Tools-Docs/ParsonsProof/Parsons-1-minimal.xml).  
*/

/*import parsons' code library*/
stack_include("contribl://prooflib.mac");

/*Steps of proof*/
proof_steps: [
    ["1", "Angenommen, es gibt nur endlich viele Primzahlen \\(p_1, p_2, \\ldots, p_n\\)."],
    ["2", "Betrachte die Zahl \\(Q = p_1 \\cdot p_2 \\cdots p_n+1\\)."],
    ["3", "Keine der Primzahlen \\(p_i\\) teilt \\(Q\\), denn bei Division bleibt immer Rest 1."],
    ["4", "Also ist entweder \\(Q\\) selbst prim oder hat einen Primfaktor, der nicht in der Liste ist."],
    ["5", "Dies widerspricht der Annahme, dass alle Primzahlen aufgezählt sind."],
    ["6", "Daher gibt es unendlich viele Primzahlen."]
];

/*create random order*/
proof_steps: random_permutation(proof_steps);

/*a correct order, edit if changing question*/
ta: proof("1", "2", "3", "4", "5", "6");]]></text>
    </questionvariables>
    <specificfeedback format="html">
      <text>[[feedback:prt1]]</text>
    </specificfeedback>
    <questionnote format="html">
      <text>{@ map(first, proof_steps) @}</text>
    </questionnote>
    <questiondescription format="markdown">
      <text></text>
    </questiondescription>
    <questionsimplify>1</questionsimplify>
    <assumepositive>0</assumepositive>
    <assumereal>0</assumereal>
    <prtcorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:green;"><i class="fa fa-check"></i></span> Richtige Antwort, gut gemacht!]]></text>
    </prtcorrect>
    <prtpartiallycorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:orange;"><i class="fa fa-adjust"></i></span> Ihre Antwort ist teilweise korrekt.]]></text>
    </prtpartiallycorrect>
    <prtincorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:red;"><i class="fa fa-times"></i></span> Falsche Antwort.]]></text>
    </prtincorrect>
    <decimals>.</decimals>
    <scientificnotation>*10</scientificnotation>
    <multiplicationsign>dot</multiplicationsign>
    <sqrtsign>1</sqrtsign>
    <complexno>i</complexno>
    <inversetrig>cos-1</inversetrig>
    <logicsymbol>lang</logicsymbol>
    <matrixparens>[</matrixparens>
    <isbroken>0</isbroken>
    <variantsselectionseed></variantsselectionseed>
    <input>
      <name>ans1</name>
      <type>parsons</type>
      <tans>[ta, proof_steps]</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint></syntaxhint>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords></forbidwords>
      <allowwords></allowwords>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options></options>
    </input>
    <prt>
      <name>prt1</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>1</feedbackstyle>
      <feedbackvariables>
        <text>sa: parsons_decode(ans1);
[pd, saa]:proof_assessment(sa, proof_alternatives(ta));</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description>Check distance to nearest correct proof.</description>
        <answertest>AlgEquiv</answertest>
        <sans>pd</sans>
        <tans>0</tans>
        <testoptions></testoptions>
        <quiet>1</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty></truepenalty>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-1-T</trueanswernote>
        <truefeedback format="html">
          <text></text>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty></falsepenalty>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt1-1-F</falseanswernote>
        <falsefeedback format="html">
          <text>{@proof_assessment_display(saa, proof_steps)@}</text>
        </falsefeedback>
      </node>
    </prt>
    <deployedseed>927793447</deployedseed>
    <deployedseed>241245299</deployedseed>
    <deployedseed>652900190</deployedseed>
    <deployedseed>1939981977</deployedseed>
    <deployedseed>1718433118</deployedseed>
    <qtest>
      <testcase>1</testcase>
      <description>Test case assuming the teacher's input gets full marks.</description>
      <testinput>
        <name>ans1</name>
        <value>apply(parsons_answer,[ta, proof_steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-1-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <description>Check a random variant isn't correct!</description>
      <testinput>
        <name>ans1</name>
        <value>apply(parsons_answer,[map(first,proof_steps), proof_steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>0.0000000</expectedscore>
        <expectedpenalty></expectedpenalty>
        <expectedanswernote>prt1-1-F</expectedanswernote>
      </expected>
    </qtest>
  </question>

<!-- question: 8989579  -->
  <question type="stack">
    <name>
      <text>Teilbarkeit durch 6</text>
    </name>
    <questiontext format="moodle_auto_format">
      <text><![CDATA[<p>Geben Sie das Vorgehen an um zu bestimmen, ob die Zahl \(n={@n@}\) durch \(6\) teilbar ist.</p>
[[parsons input="ans1"]]
{# parsons_encode(proof_steps) #}
[[/parsons ]]
<p>[[input:ans1]] [[validation:ans1]]</p>]]></text>
    </questiontext>
    <generalfeedback format="moodle_auto_format">
      <text><![CDATA[Hier sehen Sie das Vorgehen strukturiert aufgeschrieben:
{@proof_display(tal[2], proof_steps)@}
Beachten Sie, dass Sie zuerst die Teilbarkeit durch 2 oder die Teilbarkeit durch 3 überprüfen können, daher besitzt die Aufgabe zwei mögliche Lösungen:
<table><tr>
<td><div class="proof">{@proof_display_para(tal[1], proof_steps)@}</div></td>
<td><div class="proof">{@proof_display_para(tal[2], proof_steps)@}</div></td>
</tr></table>
Erkennen Sie den Unterschied zwischen den beiden Lösungen?]]></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.1000000</penalty>
    <hidden>0</hidden>
    <idnumber></idnumber>
    <stackversion>
      <text>2025073100</text>
    </stackversion>
    <questionvariables>
      <text><![CDATA[/*  
Die Aufgabe „Teilbarkeit durch 6“ von Jonas Lache, Team E-Learning@Hochschule Ruhr West, ist lizenziert unter einer CC BY-SA 4.0 International Lizenz (https://creativecommons.org/licenses/by-sa/4.0/). Sie basiert auf der Aufgabe „parsons proof 2-Interchangable order“, die als Teil der STACK-Fragenbibliothek ebenfalls unter CC BY-SA 4.0 lizenziert ist (https://github.com/maths/moodle-qtype_stack/blob/aa372f1b0c8aa6cfb86d15f36978c747dbbda9b5/samplequestions/stacklibrary/Doc-Examples/Specialist-Tools-Docs/ParsonsProof/Parsons-2-Interchangable-order.xml).  
*/

/*import parsons' code library*/
stack_include("contribl://prooflib.mac");

n: rand_with_step(12*6, 26*6, 6);

/*Steps of proof, can be changed*/
proof_steps: [
    ["1", sconcat("Gegeben sei eine Zahl \\(n=", n, "\\). Wir wollen prüfen, ob \\(n\\) durch 6 teilbar ist.")],
    ["2a", "Prüfe, ob \\(n\\) durch 2 teilbar ist (d. h. \\(n\\) ist gerade."],
    ["3a", sconcat("Es gilt: \\(n = 2 \\cdot", n/2, "\\), daher ist \\(n\\) durch 2 teilbar.")],
    ["2b", "Prüfe, ob \\(n\\) durch 3 teilbar ist (d. h. Quersumme von \\(n\\) ist durch 3 teilbar)."],
    ["3b", sconcat("Es gilt: \\(n = 3 \\cdot", n/3, "\\), daher ist \\(n\\) durch 3 teilbar.")],
    ["4", "Beides ist erfüllt, daher ist \\(n\\) durch 6 teilbar."]
];

/* Permute the steps randomly. */ 
proof_steps: random_permutation(proof_steps);

/*a correct order, edit if changing question. Iff statement accounts for alternative orders*/
ta: proof("1", proof_c(proof("2a","3a"), proof("2b","3b")), "4" );


/*a wrongorder, edit if changing question*/
wa: proof("4", proof_c(proof("2a","3a"), proof("2b","3b")), "1" );

/* Generate the alternative proofs. */
tal: proof_alternatives(ta);

/* Create a set of flattened proofs. */
tas: setify(map(proof_flatten, tal));]]></text>
    </questionvariables>
    <specificfeedback format="html">
      <text>[[feedback:prt1]]</text>
    </specificfeedback>
    <questionnote format="html">
      <text>{@ map(first, proof_steps) @}, \(n={@n@}\)</text>
    </questionnote>
    <questiondescription format="html">
      <text></text>
    </questiondescription>
    <questionsimplify>1</questionsimplify>
    <assumepositive>0</assumepositive>
    <assumereal>0</assumereal>
    <prtcorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:green;"><i class="fa fa-check"></i></span> Richtige Antwort, gut gemacht!]]></text>
    </prtcorrect>
    <prtpartiallycorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:orange;"><i class="fa fa-adjust"></i></span> Ihre Antwort ist teilweise korrekt.]]></text>
    </prtpartiallycorrect>
    <prtincorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:red;"><i class="fa fa-times"></i></span> Falsche Antwort.]]></text>
    </prtincorrect>
    <decimals>.</decimals>
    <scientificnotation>*10</scientificnotation>
    <multiplicationsign>dot</multiplicationsign>
    <sqrtsign>1</sqrtsign>
    <complexno>i</complexno>
    <inversetrig>cos-1</inversetrig>
    <logicsymbol>lang</logicsymbol>
    <matrixparens>[</matrixparens>
    <isbroken>0</isbroken>
    <variantsselectionseed></variantsselectionseed>
    <input>
      <name>ans1</name>
      <type>parsons</type>
      <tans>[ta, proof_steps]</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint></syntaxhint>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords></forbidwords>
      <allowwords></allowwords>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options></options>
    </input>
    <prt>
      <name>prt1</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>1</feedbackstyle>
      <feedbackvariables>
        <text>sa: parsons_decode(ans1);
[pd, saa]:proof_assessment(sa, proof_alternatives(ta));</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description></description>
        <answertest>AlgEquiv</answertest>
        <sans>pd</sans>
        <tans>0</tans>
        <testoptions></testoptions>
        <quiet>1</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty></truepenalty>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-1-T</trueanswernote>
        <truefeedback format="html">
          <text></text>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty></falsepenalty>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt1-1-F</falseanswernote>
        <falsefeedback format="html">
          <text>{@proof_assessment_display(saa, proof_steps)@}</text>
        </falsefeedback>
      </node>
    </prt>
    <deployedseed>1798089405</deployedseed>
    <deployedseed>1853010259</deployedseed>
    <deployedseed>375239048</deployedseed>
    <deployedseed>2074079694</deployedseed>
    <deployedseed>143522682</deployedseed>
    <deployedseed>1760482061</deployedseed>
    <deployedseed>519518437</deployedseed>
    <deployedseed>352261893</deployedseed>
    <deployedseed>1529991456</deployedseed>
    <deployedseed>1519510173</deployedseed>
    <deployedseed>100884674</deployedseed>
    <deployedseed>1980223410</deployedseed>
    <deployedseed>1913235171</deployedseed>
    <deployedseed>931967296</deployedseed>
    <deployedseed>1119612554</deployedseed>
    <deployedseed>1629271165</deployedseed>
    <deployedseed>604852071</deployedseed>
    <deployedseed>1684254586</deployedseed>
    <deployedseed>1034748457</deployedseed>
    <deployedseed>374352140</deployedseed>
    <deployedseed>353873755</deployedseed>
    <deployedseed>2061325072</deployedseed>
    <deployedseed>501971463</deployedseed>
    <deployedseed>117395871</deployedseed>
    <deployedseed>936474796</deployedseed>
    <qtest>
      <testcase>1</testcase>
      <description>Test case assuming the teacher's input gets full marks.</description>
      <testinput>
        <name>ans1</name>
        <value>apply(parsons_answer,[ta, proof_steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-1-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <description></description>
      <testinput>
        <name>ans1</name>
        <value>apply(parsons_answer,[wa, proof_steps])</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>0.0000000</expectedscore>
        <expectedpenalty>0.1000000</expectedpenalty>
        <expectedanswernote>prt1-1-F</expectedanswernote>
      </expected>
    </qtest>
  </question>

</quiz>