moodle/lib/tests/sample_questions.xml
Kilian 533a7edeae MDL-38829 core: Unit test for xmlize using two sample xml files.
The file sample_questions.xml from moodle-stack is properly formed.
The file sample_questions_wrong.xml has mismatching tags.
Comparison is performed with recursive array comparison.
Error messages and returned data structures are compared.
Call with: phpunit lib/tests/xmlize_test.php
2018-03-06 15:36:14 +08:00

3153 lines
103 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<!-- question: 0 -->
<question type="category">
<category>
<text>$course$/Default for Scratch/input_samples</text>
</category>
</question>
<!-- question: 1 -->
<question type="stack">
<name>
<text>Algebraic input</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Type in {@ta@}.<br></p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>ta:a*b</text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>ta</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>2</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords>solve</forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 2 -->
<question type="stack">
<name>
<text>Algebraic input (answer box sizes test)</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>This question just tests answer boxes of multiple sizes.</p><p>[[input:ans1]] [[validation:ans1]]</p><p>[[input:ans2]] [[validation:ans2]]</p><p>[[input:ans3]] [[validation:ans3]]</p><p>[[input:ans4]] [[validation:ans4]]</p><p>[[input:ans5]] [[validation:ans5]]</p><p>[[input:ans7]] [[validation:ans7]]</p><p>[[input:ans10]] [[validation:ans10]]</p><p>[[input:ans15]] [[validation:ans15]]</p><p>[[input:ans20]] [[validation:ans20]]</p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>1</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>2</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans10</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>10</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>2222222222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans15</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>222222222222222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans2</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>2</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>22</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans20</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>20</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>12345123451234512345</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans3</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>3</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans4</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>4</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>2222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans5</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>5</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>22222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans7</name>
<type>algebraic</type>
<tans>2</tans>
<boxsize>5</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint>2222222</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>2</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text><![CDATA[<p>This just takes account of the first answer box!</p>]]></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>This just takes account of the first answer box!<br></p>]]></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 3 -->
<question type="stack">
<name>
<text>Checkbox</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Differentiate {@p@} with respect to \(x\).</p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text><![CDATA[/* Create a list of potential answers. */
p:sin(2*x);
ta:[[diff(p,x),true],[p,false],[int(p,x),false],[cos(2*x)+c,false]];
/* The actual correct answer. */
tac:diff(p,x)
/* Add in a "None of these" to the end of the list. The Maxima value is the atom null. */
tao:[null, false, "None of these"];
ta:append(ta,[tao]);]]></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>checkbox</type>
<tans>ta</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>1</mustverify>
<showvalidation>2</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>Diff</answertest>
<sans>first(ans1)</sans>
<tans>diff(p,x)</tans>
<testoptions>x</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 4 -->
<question type="stack">
<name>
<text>Dropdown (shuffle)</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Differentiate {@p@} with respect to \(x\).</p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text><![CDATA[/* Create a list of potential answers. */
p:sin(2*x);
ta:[[diff(p,x),true],[p,false],[int(p,x),false],[cos(2*x)+c,false]];
/* The actual correct answer. */
tac:diff(p,x)
/* Randomly shuffle the list "ta". */
ta:random_permutation(ta);
/* Add in a "None of these" to the end of the list. The Maxima value is the atom null. */
tao:[null, false, "None of these"];
ta:append(ta,[tao]);]]></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text>{@ta@}</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>dropdown</type>
<tans>ta</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>1</mustverify>
<showvalidation>2</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>Diff</answertest>
<sans>first(ans1)</sans>
<tans>diff(p,x)</tans>
<testoptions>x</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 5 -->
<question type="stack">
<name>
<text>Equiv input test</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Solve {@p@}.<br></p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>sangwinc<br></p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>v:x
p:3*v+7=4
ta:[p,x=(4-7)/3,x=-1]</text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>equiv</type>
<tans>ta</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>5</insertstars>
<syntaxhint>firstline</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>last(ans1)</sans>
<tans>last(ta)</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 6 -->
<question type="stack">
<name>
<text>Matrix</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Type in {@M@}<br></p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>M:matrix([1,2],[3,4])</text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>matrix</type>
<tans>M</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>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>M</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 7 -->
<question type="stack">
<name>
<text>Notes</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Show your working in this box! \(x\).<br></p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>notes</type>
<tans>true</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>true</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 8 -->
<question type="stack">
<name>
<text>Radio</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Differentiate {@p@} with respect to \(x\).</p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text><![CDATA[/* Create a list of potential answers. */
p:sin(2*x);
ta:[[diff(p,x),true],[p,false],[int(p,x),false],[cos(2*x)+c,false]];
/* The actual correct answer. */
tac:diff(p,x)
/* Add in a "None of these" to the end of the list. The Maxima value is the atom null. */
tao:[null, false, "None of these"];
ta:append(ta,[tao]);]]></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>radio</type>
<tans>ta</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>Diff</answertest>
<sans>first(ans1)</sans>
<tans>diff(p,x)</tans>
<testoptions>x</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 9 -->
<question type="stack">
<name>
<text>Single char</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Type in \(x\)<br></p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>singlechar</type>
<tans>x</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>x</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 0 -->
<question type="category">
<category>
<text>$course$/Default for Scratch</text>
</category>
</question>
<!-- question: 13 -->
<question type="stack">
<name>
<text>test_1_integration</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Find \[ \int {@p@} d{@v@}\] [[input:ans1]] [[validation:ans1]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>We can either do this question by inspection (i.e. spot the answer) or in a more formal manner by using the substitution \[ u = ({@v@}-{@a@}).\] Then, since \(\frac{d}{d{@v@}}u=1\) we have \[ \int {@p@} d{@v@} = \int u^{@n@} du = \frac{u^{@n+1@}}{@n+1@}+c = {@ta@}+c.\]</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>n:rand(5)+3;
a:rand(5)+3;
v:rand([x,t]);
p:(v-a)^n;
ta:(v-a)^(n+1)/(n+1);</text>
</questionvariables>
<specificfeedback format="html">
<text><![CDATA[<p>[[feedback:prt1]]</p>]]></text>
</specificfeedback>
<questionnote>
<text>\(\int {@p@} d{@v@} = {@ta@}\)</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p><span class="correct">Correct answer, well done.</span></p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p><span class="partially">Your answer is partially correct.</span></p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p><span class="incorrect">Incorrect answer.</span></p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>ta+c</tans>
<boxsize>20</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords>int</forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>Int</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions>v</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>1-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>1-0-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<deployedseed>1</deployedseed>
<deployedseed>1001758021</deployedseed>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>ta+c</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>1-0-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>ta</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>1-0-F</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>3</testcase>
<testinput>
<name>ans1</name>
<value>n*(v-a)^(n-1)</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>1-0-F</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>4</testcase>
<testinput>
<name>ans1</name>
<value>(v-a)^(n+1)</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>1-0-F</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 14 -->
<question type="stack">
<name>
<text>test_2_rectangle</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>A rectangle has length {@sg@}cm greater than its width. If it has an area of \({@abs(ar)@}cm^2\), find the dimensions of the rectangle.</p>
<p>1. Write down an equation which relates the side lengths to the area of the rectangle. <br />[[input:ans1]] [[validation:ans1]] [[feedback:eq]]</p>
<p>2. Solve your equation. Enter your answer as a set of numbers. <br /> [[input:ans2]] [[validation:ans2]] [[feedback:sol]]</p>
<p>3. Hence, find the length of the shorter side. <br />[[input:ans3]] cm [[validation:ans3]] [[feedback:short]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>If \(x\)cm is the width then \((x+{@sg@})\) is the length. Now the area is \({@abs(ar)@}cm^2\) and so \[ {@x*(x+sg)=-ar@}.\] \[ {@x^2+sg*x+ar@}=0\] \[ {@(x+rp)*(x+rn)=0@} \] So that \(x={@-rp@}\) or \(x={@-rn@}\). Since lengths are positive quantities \(x&gt;0\) and we discard the negative root. Hence the length of the shorter side is \(x={@-rn@}\)cm.</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>rn:-1*(rand(4)+2);
rp:9+rand(6);
ar:rn*rp;
sg:rn+rp;
ta1:x*(x+sg)=-ar;
ta2:x*(x-sg)=-ar;
tas1:setify(map(rhs,solve(ta1,x)));
tas2:setify(map(rhs,solve(ta2,x)));</text>
</questionvariables>
<specificfeedback format="html">
<text></text>
</specificfeedback>
<questionnote>
<text>{@ta1@}, {@tas1@}.</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p><span class="correct">Correct answer, well done.</span></p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p><span class="partially">Your answer is partially correct.</span></p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p><span class="incorrect">Incorrect answer.</span></p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>ta1</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>1</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans2</name>
<type>algebraic</type>
<tans>tas1</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>1</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans3</name>
<type>algebraic</type>
<tans>rp</tans>
<boxsize>5</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>1</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>eq</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>SubstEquiv</answertest>
<sans>ans1</sans>
<tans>ta1</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>eq-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>1</falsenextnode>
<falseanswernote>eq-0-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>SubstEquiv</answertest>
<sans>ans1</sans>
<tans>ta2</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>eq-1-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>eq-1-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>short</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans3</sans>
<tans>-rn</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>short-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>short-0-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>sol</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text>v1:first(listofvars(ans1));
ftm:setify(map(rhs,solve(ans1,v1)));</text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>SubstEquiv</answertest>
<sans>ans1</sans>
<tans>ta1</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>3</truenextnode>
<trueanswernote>sol-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>1</falsenextnode>
<falseanswernote>sol-0-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>SubstEquiv</answertest>
<sans>ans1</sans>
<tans>ta2</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>4</truenextnode>
<trueanswernote>sol-1-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>2</falsenextnode>
<falseanswernote>sol-1-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>2</name>
<answertest>AlgEquiv</answertest>
<sans>ans2</sans>
<tans>ftm</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>sol-2-T </trueanswernote>
<truefeedback format="html">
<text><![CDATA[<p>You have correctly solved the equation you have entered in part 1. Please try both parts again!</p>]]></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>sol-2-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>3</name>
<answertest>AlgEquiv</answertest>
<sans>ans2</sans>
<tans>tas1</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>sol-3-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>sol-3-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>4</name>
<answertest>AlgEquiv</answertest>
<sans>ans2</sans>
<tans>tas2</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>sol-5-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>-</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>sol-5-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<deployedseed>92</deployedseed>
<deployedseed>1621764605</deployedseed>
<deployedseed>79313047</deployedseed>
<deployedseed>1740562616</deployedseed>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>ta1</value>
</testinput>
<testinput>
<name>ans2</name>
<value>ev({-rp,-rn},simp)</value>
</testinput>
<testinput>
<name>ans3</name>
<value>ev(-rn,simp)</value>
</testinput>
<expected>
<name>eq</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>eq-0-T</expectedanswernote>
</expected>
<expected>
<name>short</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>short-0-T</expectedanswernote>
</expected>
<expected>
<name>sol</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>sol-3-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>ta2</value>
</testinput>
<testinput>
<name>ans2</name>
<value>ev({rp,rn},simp)</value>
</testinput>
<testinput>
<name>ans3</name>
<value>ev(-rn,simp)</value>
</testinput>
<expected>
<name>eq</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>eq-1-T</expectedanswernote>
</expected>
<expected>
<name>short</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>short-0-T</expectedanswernote>
</expected>
<expected>
<name>sol</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>sol-5-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>3</testcase>
<testinput>
<name>ans1</name>
<value>x+sg=-ar</value>
</testinput>
<testinput>
<name>ans2</name>
<value>{-ar-sg}</value>
</testinput>
<testinput>
<name>ans3</name>
<value></value>
</testinput>
<expected>
<name>eq</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>eq-1-F</expectedanswernote>
</expected>
<expected>
<name>short</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
<expected>
<name>sol</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>sol-2-T</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 15 -->
<question type="stack">
<name>
<text>test_3_matrix</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Calculate \[ {@A@}.{@B@}\]</p>
<p> [[input:ans1]] [[validation:ans1]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>To multiply matrices \(A\) and \(B\) we need to remember that the \((i,j)\)th entry is the scalar product of the \(i\)th row of \(A\) with the \(j\)th column of \(B\).</p>
<p>\[ {@A@}.{@B@} = {@C@} = {@D@}.\]</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text><![CDATA[A:ev(rand(matrix([5,5],[5,5]))+matrix([2,2],[2,2]),simp);
B:ev(rand(matrix([5,5],[5,5]))+matrix([2,2],[2,2]),simp);
TA:ev(A.B,simp);
TB:ev(A*B,simp);
BT:transpose(B);
C:zeromatrix (first(matrix_size(A)), second(matrix_size(A)));
S:for a:1 thru first(matrix_size(A)) do for b:1 thru second(matrix_size(A)) do C[ev(a,simp),ev(b,simp)]:apply("+",zip_with("*",A[ev(a,simp)],BT[ev(b,simp)]));
D:ev(C,simp);
C:C;]]></text>
</questionvariables>
<specificfeedback format="html">
<text><![CDATA[<p>[[feedback:prt1]]</p>]]></text>
</specificfeedback>
<questionnote>
<text>\({@A@}.{@B@}={@TA@}\)</text>
</questionnote>
<questionsimplify>0</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p><span class="correct">Correct answer, well done.</span></p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p><span class="partially">Your answer is partially correct.</span></p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p><span class="incorrect">Incorrect answer.</span></p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>matrix</type>
<tans>TA</tans>
<boxsize>3</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>TA</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>1-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>1</falsenextnode>
<falseanswernote>1-0-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>TB</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>0.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>1-1-T </trueanswernote>
<truefeedback format="html">
<text><![CDATA[<p>Remember, you don't multiply matrices by multiplying the corresponding entries! A quite different process is needed.</p>]]></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>2</falsenextnode>
<falseanswernote>1-1-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>2</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>A+B</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>0.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>1-3-T</trueanswernote>
<truefeedback format="html">
<text><![CDATA[<p>Please multiply the matrices. It looks like you have added them instead!</p>]]></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>1-3-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<deployedseed>86</deployedseed>
<deployedseed>219862533</deployedseed>
<deployedseed>1167893775</deployedseed>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>TA</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>1-0-T </expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>TB</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>1-1-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>4</testcase>
<testinput>
<name>ans1</name>
<value>1</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>5</testcase>
<testinput>
<name>ans1</name>
<value>A</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>1-3-F</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 18 -->
<question type="stack">
<name>
<text>test_5_cubic_spline</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Consider the real function</p>
<p>\[ f(x) :=\left\{ \begin{array}{ll} {@f0@} &amp; \mbox{for } x\leq {@x0@}, \\ p(x) &amp; \mbox{for } {@x0@} &lt; x &lt; {@x1@}, \\ {@f1@} &amp; \mbox{for } {@x1@}\leq x.\end{array} \right. \]</p>
<p>{@plot(pg,[x,(x0-3),(x1+3)],[y,-3,3])@}</p>
<p>Find the cubic polynomial \(p(x)\) which makes \(f(x)\) continuously differentiable. </p>
<p>\(p(x)=\)[[input:ans1]]</p>
<div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>First we need to find the information which \(p(x)\) needs to satisfy.  This is</p>
<p>\[ p({@x0@})={@subst(x=x0,f0)@}.\]</p>
<p>\[ p({@x1@})={@subst(x=x1,f1)@}.\]</p>
<p>\[ p'({@x0@})={@subst(x=x0,diff(f0,x))@}.\]</p>
<p>\[ p'({@x1@})={@subst(x=x1,diff(f1,x))@}.\]</p>
<p>If we define \(p(x)\) to be the cubic </p>
<p>\[ p(x) = a_3 x^3 + a_2 x^2 + a_1 x + a_0,\]</p>
<p>We then set up the matrix equation</p>
<p>\[ {@CS@} {@CV@} = {@CT@} \]</p>
<p>Solving this gives the coefficients, from which we get the polynomial.</p>
<p>{@ta@}.</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.0000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text><![CDATA[x0 : -1;
f0 : 1;
x1 : 2;
f1 : sin(%pi*x)
/* Note, we should really use inf instead of 1000 here, but Maxima gives up plotting with the options used by STACK */
pg:if x<x0 then f0 else if x<x1 then 1000 else f1;
CS:matrix([1,x0,x0^2,x0^3],[0,1,2*x0,3*x0^2],[1,x1,x1^2,x1^3],[0,1,2*x1,3*x1^2])
CT:transpose(matrix([ev(f0,x=x0),subst(x=x0,diff(f0,x)),ev(f1,x=x1),subst(x=x1,diff(f1,x))]));
CV:transpose(matrix([a0,a1,a2,a3]));
CS2:invert(CS).CT;
ta : matrix([1,x,x^2,x^3]).CS2;]]></text>
</questionvariables>
<specificfeedback format="html">
<text><![CDATA[<p>[[feedback:prt1]]</p>]]></text>
</specificfeedback>
<questionnote>
<text>{@ta@}</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p>Correct answer, well done.</p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p>Your answer is partially correct.</p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p>Incorrect answer.</p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>ta</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text><![CDATA[anspt : if (x>x0 and x<x1) then ans1 else 1000;]]></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>subst(x=x0,ans1)</sans>
<tans>subst(x=x0,f0)</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.2500000</truescore>
<truepenalty></truepenalty>
<truenextnode>1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer does not satisfy \({@p(x0)=subst(x=x0,f0)@}\).</p>]]></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>AlgEquiv</answertest>
<sans>subst(x=x1,ans1)</sans>
<tans>subst(x=x1,f1)</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.2500000</truescore>
<truepenalty></truepenalty>
<truenextnode>2</truenextnode>
<trueanswernote>prt1-2-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>+</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>2</falsenextnode>
<falseanswernote>prt1-2-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer does not satisfy \({@p(x1)=subst(x=x1,f1)@}\).</p>]]></text>
</falsefeedback>
</node>
<node>
<name>2</name>
<answertest>AlgEquiv</answertest>
<sans>subst(x=x0,diff(ans1,x))</sans>
<tans>subst(x=x0,diff(f0,x))</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.2500000</truescore>
<truepenalty></truepenalty>
<truenextnode>3</truenextnode>
<trueanswernote>prt1-3-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>+</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>3</falsenextnode>
<falseanswernote>prt1-3-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer does not satisfy \(p'({@x0@})={@subst(x=x0,diff(f0,x))@}\).</p>]]></text>
</falsefeedback>
</node>
<node>
<name>3</name>
<answertest>AlgEquiv</answertest>
<sans>subst(x=x1,diff(ans1,x))</sans>
<tans>subst(x=x1,diff(f1,x))</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.2500000</truescore>
<truepenalty></truepenalty>
<truenextnode>4</truenextnode>
<trueanswernote>prt1-4-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>+</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>4</falsenextnode>
<falseanswernote>prt1-4-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer does not satisfy \(p'({@x1@})={@subst(x=x1,diff(f1,x))@}\).</p>]]></text>
</falsefeedback>
</node>
<node>
<name>4</name>
<answertest>AlgEquiv</answertest>
<sans>degree(ans1,x)</sans>
<tans>3</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>5</truenextnode>
<trueanswernote>prt1-5-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>5</falsenextnode>
<falseanswernote>prt1-5-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is not a cubic!</p>]]></text>
</falsefeedback>
</node>
<node>
<name>5</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-6-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>+</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-6-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is plotted below, although part of your graph might appear out of range of the plot!</p>
<p>{@plot([pg,anspt],[x,(x0-3),(x1+3)],[y,-3,3])@}</p>]]></text>
</falsefeedback>
</node>
</prt>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>ta</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt1-6-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>x^2</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt1-6-F</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>3</testcase>
<testinput>
<name>ans1</name>
<value>(2*%pi/9+2/27)*x^3-x^2/9+(-2*%pi/3-4/9)*x-4*%pi/9+20/27</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.7500000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt1-6-F</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 16 -->
<question type="stack">
<name>
<text>text_4_complex-De Moivre's</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>Given a complex number \(\displaystyle z={@q@}\) <span class="nolink">determine<br /></span></p>
<p>\(|z^{@n@}|=\)[[input:ans1]] [[validation:ans1]] [[feedback:prt1]]</p>
<p>and \(\arg(z^{@n@})=\)[[input:ans2]] [[validation:ans2]] [[feedback:prt2]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>It makes sense that the index laws should still apply.  This is called De Moivre's theorem.</p>
<p>\[ {@q^n@} ={@a^n@} e^{@b*n*%i*%pi@}.\]</p>
<p>Recall that</p>
<p>\[ e^{i\theta} = \cos(\theta)+i\sin(\theta).\]</p>
<p>Working with the principle argument \(0\leq \theta \leq 2\pi\) gives us</p>
<p>\[ {@q^n@} = {@a^n@} e^{@b*n*%i*%pi@} = {@a^n@} e^{@ev(b*n,simp)*%i*%pi@} = {@a^n@} e^{@p*%i*%pi@}.\]</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>a : ev(2+rand(15),simp);
b : ev((-1)^rand(2)*((1+rand(10)))/(2+rand(15)),simp);
n : ev(3+rand(20),simp);
q : a*%e^(b*%i*%pi);
p : ev(mod(b*n,2),simp);</text>
</questionvariables>
<specificfeedback format="html">
<text></text>
</specificfeedback>
<questionnote>
<text>{@q^n = a^n*(cos(p*%i*%pi)+%i*sin(p*%i*%pi))@}</text>
</questionnote>
<questionsimplify>0</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p>Correct answer, well done.</p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p>Your answer is partially correct.</p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p>Incorrect answer.</p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>a^n</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans2</name>
<type>algebraic</type>
<tans>p*%pi</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>a^n</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty>0.0000000</truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty>0.0000000</falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>prt2</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>[cos(ans2),sin(ans2)]</sans>
<tans>[cos(b*%pi*n),sin(b*%pi*n)]</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt2-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt2-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>a^n</value>
</testinput>
<testinput>
<name>ans2</name>
<value></value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt1-1-T</expectedanswernote>
</expected>
<expected>
<name>prt2</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value></value>
</testinput>
<testinput>
<name>ans2</name>
<value>b*n*%pi</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
<expected>
<name>prt2</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt2-1-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>3</testcase>
<testinput>
<name>ans1</name>
<value></value>
</testinput>
<testinput>
<name>ans2</name>
<value>p*%pi</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
<expected>
<name>prt2</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt2-1-T</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 19 -->
<question type="stack">
<name>
<text>text_6_odd_even</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>1. Give an example of an odd function by typing an expression which represents it. \(f_1(x)=\) [[input:ans1]]. [[validation:ans1]] [[feedback:odd]]</p>
<p>2. Give an example of an even function. \(f_2(x)=\) [[input:ans2]]. [[validation:ans2]] [[feedback:even]]</p>
<p>3. Give an example of a function which is odd and even. \(f_3(x)=\) [[input:ans3]]. [[validation:ans3]] [[feedback:oddeven]]</p>
<p>4. Is the answer to 3. unique? [[input:ans4]] (Or are there many different possibilities.) [[validation:ans4]] [[feedback:unique]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.3333333</penalty>
<hidden>0</hidden>
<questionvariables>
<text></text>
</questionvariables>
<specificfeedback format="html">
<text></text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text><![CDATA[<p><span class="correct">Correct answer, well done.</span></p>]]></text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text><![CDATA[<p><span class="incorrect">Your answer is partially correct.</span></p>]]></text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text><![CDATA[<p><span class="partially">Incorrect answer.</span></p>]]></text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>algebraic</type>
<tans>x^3</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans2</name>
<type>algebraic</type>
<tans>x^4</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans3</name>
<type>algebraic</type>
<tans>0</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<input>
<name>ans4</name>
<type>boolean</type>
<tans>true</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>0</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>1</requirelowestterms>
<checkanswertype>1</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>even</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text>sa:ans2-subst(x=-x,ans2);</text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>sa</sans>
<tans>0</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>even-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>even-0-F </falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is not an even function. Look, \[ f(x)-f(-x)={@sa@} \neq 0.\]</p>]]></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>odd</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text>sa:subst(x=-x,ans1)+ans1;</text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>sa</sans>
<tans>0</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>odd-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>odd-0-F </falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is not an odd function. Look, \[ f(x)+f(-x)={@sa@} \neq 0.\]</p>]]></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>oddeven</name>
<value>2.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text>sa1:subst(x=-x,ans3)+ans3;
sa2:ans3-subst(x=-x,ans3);</text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>sa1</sans>
<tans>0</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>0.5000000</truescore>
<truepenalty></truepenalty>
<truenextnode>1</truenextnode>
<trueanswernote>ODD</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>1</falsenextnode>
<falseanswernote>oddeven-0-F </falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is not an odd function. Look, \[ f(x)+f(-x)={@sa1@} \neq 0.\]</p>]]></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>AlgEquiv</answertest>
<sans>sa2</sans>
<tans>0</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>+</truescoremode>
<truescore>0.5000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>EVEN</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>+</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>oddeven-1-F </falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Your answer is not an even function. Look, \[ f(x)-f(-x)={@sa2@} \neq 0.\]</p>]]></text>
</falsefeedback>
</node>
</prt>
<prt>
<name>unique</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans4</sans>
<tans>true</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>unique-0-T </trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>unique-0-F </falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>x^3</value>
</testinput>
<testinput>
<name>ans2</name>
<value>cos(x)</value>
</testinput>
<testinput>
<name>ans3</name>
<value>0</value>
</testinput>
<testinput>
<name>ans4</name>
<value>true</value>
</testinput>
<expected>
<name>even</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>even-0-T</expectedanswernote>
</expected>
<expected>
<name>odd</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>odd-0-T</expectedanswernote>
</expected>
<expected>
<name>oddeven</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>EVEN</expectedanswernote>
</expected>
<expected>
<name>unique</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>unique-0-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>x^2</value>
</testinput>
<testinput>
<name>ans2</name>
<value>x^3</value>
</testinput>
<testinput>
<name>ans3</name>
<value>x^3</value>
</testinput>
<testinput>
<name>ans4</name>
<value>false</value>
</testinput>
<expected>
<name>even</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.3333333</expectedpenalty>
<expectedanswernote>even-0-F</expectedanswernote>
</expected>
<expected>
<name>odd</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.3333333</expectedpenalty>
<expectedanswernote>odd-0-F</expectedanswernote>
</expected>
<expected>
<name>oddeven</name>
<expectedscore>0.5000000</expectedscore>
<expectedpenalty>0.3333333</expectedpenalty>
<expectedanswernote>oddeven-1-F</expectedanswernote>
</expected>
<expected>
<name>unique</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.3333333</expectedpenalty>
<expectedanswernote>unique-0-F</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 23 -->
<question type="stack">
<name>
<text>text_7_solve_quadratic</text>
</name>
<questiontext format="html">
<text><![CDATA[<p></p><p>Solve {@first(ta)@}, by factoring and working line by line. &nbsp;Leave your answer in the form \({@v@}=\cdots \mbox{ or } {@v@}=\cdots\) in fully simplified form.</p><p>[[input:ans1]] [[validation:ans1]]</p>]]></text>
</questiontext>
<generalfeedback format="html">
<text><![CDATA[<p>\[ {@stack_disp_arg(ta, true)@} \]</p>]]></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>n1:2
n2:n1+3
v:x
p:expand((v-n1)*(v-n2))
simp:false
ta:[p=0,(v-n1)*(v-n2)=0,v-n1=0 nounor v-n2=0,v=n1 nounor v=n2]</text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text>{@ta@}</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>none</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>equiv</type>
<tans>ta</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>5</insertstars>
<syntaxhint>firstline</syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options>firstline</options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>0</autosimplify>
<feedbackvariables>
<text>foundfac1:ev(sublist(ans1,lambda([ex], equationp(ex) and is(rhs(ex)=0))),simp);
foundfac2:ev(any_listp(lambda([ex], second(ATFacForm(lhs(ex),lhs(ex),x))), foundfac1),simp);</text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>EquivFirst</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions>x</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
<node>
<name>1</name>
<answertest>EqualComAss</answertest>
<sans>last(ans1)</sans>
<tans>last(ta)</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>+</truescoremode>
<truescore>0.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>2</truenextnode>
<trueanswernote>prt1-2-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>2</falsenextnode>
<falseanswernote>prt1-2-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[Your answer is not in the correct form, which is \({@v@}=\cdots \mbox{ or } {@v@}=\cdots\) where numbers are fully simplified.<p><br></p>]]></text>
</falsefeedback>
</node>
<node>
<name>2</name>
<answertest>AlgEquiv</answertest>
<sans>foundfac2</sans>
<tans>true</tans>
<testoptions></testoptions>
<quiet>1</quiet>
<truescoremode>+</truescoremode>
<truescore>0.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-3-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-3-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>The question asked you to solve the equation by factoring the equation. &nbsp;The factored form should appear as one line in your working.</p>]]></text>
</falsefeedback>
</node>
</prt>
<qtest>
<testcase>1</testcase>
<testinput>
<name>ans1</name>
<value>ta</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>1.0000000</expectedscore>
<expectedpenalty>0.0000000</expectedpenalty>
<expectedanswernote>prt1-3-T</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>2</testcase>
<testinput>
<name>ans1</name>
<value>[p=0, (x-n1)*(x-n1) = 0, x=n1 nounor n2]</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore></expectedscore>
<expectedpenalty></expectedpenalty>
<expectedanswernote>NULL</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>3</testcase>
<testinput>
<name>ans1</name>
<value> [p=0,x-n1 = 0 nounor x-n2 = 0,x = n1 nounor x = n2]</value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>prt1-3-F</expectedanswernote>
</expected>
</qtest>
<qtest>
<testcase>4</testcase>
<testinput>
<name>ans1</name>
<value>[p=0,(x-(n1+n2)/2)^2-ev((n1+n2)^2/4-n1*n2,simp)=0,(x-(n1+n2)/2)^2=ev((n1+n2)^2/4-n1*n2,simp),(x-(n1+n2)/2)=+-ev(sqrt((n1+n2)^2/4-n1*n2),simp),x=ev((n1+n2)/2+sqrt((n1+n2)^2/4-n1*n2),simp) nounor x=ev((n1+n2)/2-sqrt((n1+n2)^2/4-n1*n2),simp)] </value>
</testinput>
<expected>
<name>prt1</name>
<expectedscore>0.0000000</expectedscore>
<expectedpenalty>0.1000000</expectedpenalty>
<expectedanswernote>prt1-3-F</expectedanswernote>
</expected>
</qtest>
</question>
<!-- question: 0 -->
<question type="category">
<category>
<text>$course$/Default for Scratch/input_samples</text>
</category>
</question>
<!-- question: 10 -->
<question type="stack">
<name>
<text>Textarea test</text>
</name>
<questiontext format="html">
<text><![CDATA[Dummy maths input:&nbsp; \({@ta@}\).<br>[[input:ans1]] [[validation:ans1]]]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>ta:[x=1,x=2]</text>
</questionvariables>
<specificfeedback format="html">
<text><![CDATA[[[feedback:prt1]]&lt;/p&gt;&lt;div&gt;]]></text>
</specificfeedback>
<questionnote>
<text>vendor/bin/phpunit --group qtype_stack</text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>textarea</type>
<tans>ta</tans>
<boxsize>15</boxsize>
<strictsyntax>1</strictsyntax>
<insertstars>1</insertstars>
<syntaxhint></syntaxhint>
<syntaxattribute>0</syntaxattribute>
<forbidwords></forbidwords>
<allowwords></allowwords>
<forbidfloat>1</forbidfloat>
<requirelowestterms>0</requirelowestterms>
<checkanswertype>0</checkanswertype>
<mustverify>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 11 -->
<question type="stack">
<name>
<text>True/false</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>All generalizations are false: [[input:ans1]] [[validation:ans1]]</p><p><br></p>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text></text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>boolean</type>
<tans>false</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>AlgEquiv</answertest>
<sans>ans1</sans>
<tans>false</tans>
<testoptions></testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>0.5000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text><![CDATA[<p>Who knows!</p>]]></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.5000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text><![CDATA[<p>Who knows!<br></p>]]></text>
</falsefeedback>
</node>
</prt>
</question>
<!-- question: 12 -->
<question type="stack">
<name>
<text>Units</text>
</name>
<questiontext format="html">
<text><![CDATA[<p>What is gravity?</p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text>
</questiontext>
<generalfeedback format="html">
<text></text>
</generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.1000000</penalty>
<hidden>0</hidden>
<questionvariables>
<text>ta:9.81*m*s^-2</text>
</questionvariables>
<specificfeedback format="html">
<text>[[feedback:prt1]]</text>
</specificfeedback>
<questionnote>
<text></text>
</questionnote>
<questionsimplify>1</questionsimplify>
<assumepositive>0</assumepositive>
<assumereal>0</assumereal>
<prtcorrect format="html">
<text>Correct answer, well done.</text>
</prtcorrect>
<prtpartiallycorrect format="html">
<text>Your answer is partially correct.</text>
</prtpartiallycorrect>
<prtincorrect format="html">
<text>Incorrect answer.</text>
</prtincorrect>
<multiplicationsign>dot</multiplicationsign>
<sqrtsign>1</sqrtsign>
<complexno>i</complexno>
<inversetrig>cos-1</inversetrig>
<matrixparens>[</matrixparens>
<variantsselectionseed></variantsselectionseed>
<input>
<name>ans1</name>
<type>units</type>
<tans>ta</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>1</mustverify>
<showvalidation>1</showvalidation>
<options></options>
</input>
<prt>
<name>prt1</name>
<value>1.0000000</value>
<autosimplify>1</autosimplify>
<feedbackvariables>
<text></text>
</feedbackvariables>
<node>
<name>0</name>
<answertest>Units</answertest>
<sans>ans1</sans>
<tans>ta</tans>
<testoptions>3</testoptions>
<quiet>0</quiet>
<truescoremode>=</truescoremode>
<truescore>1.0000000</truescore>
<truepenalty></truepenalty>
<truenextnode>-1</truenextnode>
<trueanswernote>prt1-1-T</trueanswernote>
<truefeedback format="html">
<text></text>
</truefeedback>
<falsescoremode>=</falsescoremode>
<falsescore>0.0000000</falsescore>
<falsepenalty></falsepenalty>
<falsenextnode>-1</falsenextnode>
<falseanswernote>prt1-1-F</falseanswernote>
<falsefeedback format="html">
<text></text>
</falsefeedback>
</node>
</prt>
</question>
</quiz>