// Numbas version: exam_results_page_options {"name": "HELM Book 1.3.3 exercises", "metadata": {"description": "

HELM Book 1.3.1 exercises

", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "duration": 0, "percentPass": 0, "showQuestionGroupNames": false, "shuffleQuestionGroups": false, "showstudentname": true, "question_groups": [{"name": "Group", "pickingStrategy": "all-ordered", "pickQuestions": 1, "questionNames": ["", "", ""], "variable_overrides": [[], [], []], "questions": [{"name": "1.3.3.2 Remove brackets from an expression", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Merryn Horrocks", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4052/"}], "tags": [], "metadata": {"description": "

Expand something like a(b+c) or (b+c)a or a(bc), where a, b and c can be +ve or -ve expressions. Part of HELM Book 1.3

", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "

Practise these questions repeatedly until you are very confident at removing brackets.

", "advice": "

Multiply the term outside the bracket (including its sign) with each term inside the bracket (including its sign):

\n

Multiply all the terms together:

\n

$\\var{q1expr}=\\var{q1ans}$

", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"q1expr": {"name": "q1expr", "group": "question 1", "definition": "latex(q1strs[q1idx])", "description": "", "templateType": "anything", "can_override": false}, "q1ans": {"name": "q1ans", "group": "question 1", "definition": "simplify(expression(q1exprs[q1idx]),[\"all\",\"expandBrackets\"])", "description": "", "templateType": "anything", "can_override": false}, "alphabet": {"name": "alphabet", "group": "Ungrouped variables", "definition": "['a','b','c','d','f','g','h','k','m','n','p','q','r','s','t','u','v','w','x','y','z']", "description": "", "templateType": "anything", "can_override": false}, "q1idx": {"name": "q1idx", "group": "question 1", "definition": "random(0..8)", "description": "", "templateType": "anything", "can_override": false}, "q1exprs": {"name": "q1exprs", "group": "question 1", "definition": "[q1c[0] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"*\" + q1c[3] + \"*\" + q1v[1] + \")\",\n q1c[0] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"+\" + q1c[3] + \"*\" + q1v[1] + \")\",\n q1c[0] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"-\" + q1c[3] + \"*\" + q1v[1] + \")\",\n q1v[2] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"*\" + q1v[1] + \")\",\n q1v[2] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"+\" + q1c[3] + \"*\" + q1v[1] + \")\",\n q1v[2] + \"*(\" + q1c[2] + \"*\" + q1v[0] + \"-\" + q1c[3] + \"*\" + q1v[1] + \")\",\n \"(\" + q1c[2] + \"*\" + q1v[0] + \"*\" + q1v[1] + \")*\"+ q1c[3] + \"*\" + q1v[2],\n \"(\" + q1c[2] + \"*\" + q1v[0] + \"+\" + q1c[3] + \"*\" + q1v[1] + \")*\" + q1v[2],\n \"(\" + q1c[2] + \"*\" + q1v[0] + \"-\" + q1c[3] + \"*\" + q1v[1] + \")*\" + q1v[2],\n ]", "description": "", "templateType": "anything", "can_override": false}, "q1c": {"name": "q1c", "group": "question 1", "definition": "[random(-9..9 except [-1,0,1]),random(-9..9 except [-1,0,1]),\n weighted_random([[1,0.7],[random(-9..9 except [0,1]),0.3] ]),\n weighted_random([[1,0.7],[random(2..9),0.3] ])\n]", "description": "", "templateType": "anything", "can_override": false}, "q1v": {"name": "q1v", "group": "question 1", "definition": "shuffle(alphabet)[0..3]", "description": "", "templateType": "anything", "can_override": false}, "q1strs": {"name": "q1strs", "group": "question 1", "definition": "[q1cstr[0] + \"(\" + q1cstr[2] + q1v[0] + \"\\\\times \" + q1cstr[3] + q1v[1] + \")\",\n q1cstr[0] + \"(\" + q1cstr[2] + q1v[0] + \"+\" + q1cstr[3] + q1v[1] + \")\",\n q1cstr[0] + \"(\" + q1cstr[2] + q1v[0] + \"-\" + q1cstr[3] + q1v[1] + \")\",\n q1v[2] + \"(\" + q1cstr[2] + q1v[0] + q1v[1] + \")\",\n q1v[2] + \"(\" + q1cstr[2] + q1v[0] + \"+\" + q1cstr[3] + q1v[1] + \")\",\n q1v[2] + \"(\" + q1cstr[2] + q1v[0] + \"-\" + q1cstr[3] + q1v[1] + \")\",\n \"(\" + q1cstr[2] + q1v[0] + \"\\\\times \" + q1v[1] + \")\"+ q1cstr[3] + q1v[2],\n \"(\" + q1cstr[2] + q1v[0] + \"+\" + q1cstr[3] + q1v[1] + \")\" + q1v[2],\n \"(\" + q1cstr[2] + q1v[0] + \"-\" + q1cstr[3] + q1v[1] + \")\" + q1v[2],\n]", "description": "", "templateType": "anything", "can_override": false}, "q1cstr": {"name": "q1cstr", "group": "question 1", "definition": "[if(q1c[0]=-1,\"-\",if(q1c[0]=1,\"\",string(q1c[0]))),\n if(q1c[1]=-1,\"-\",if(q1c[1]=1,\"\",string(q1c[1]))),\n if(q1c[2]=-1,\"-\",if(q1c[2]=1,\"\",string(q1c[2]))),\n if(q1c[3]=-1,\"-\",if(q1c[3]=1,\"\",string(q1c[3])))\n ]", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["alphabet"], "variable_groups": [{"name": "question 1", "variables": ["q1idx", "q1exprs", "q1c", "q1v", "q1expr", "q1ans", "q1strs", "q1cstr"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "jme", "useCustomName": true, "customName": "Exercise 1", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Remove the brackets from $\\var{q1expr}$

", "answer": "{q1ans}", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": true, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "notallowed": {"strings": ["(", ")"], "showStrings": false, "partialCredit": 0, "message": ""}, "mustmatchpattern": {"pattern": "`! m_anywhere(?*(? + ?`+))", "partialCredit": 0, "message": "You must not have any brackets in your answer.", "nameToCompare": ""}, "valuegenerators": []}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "1.3.3.3 Expand (a+b)(c+d)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Merryn Horrocks", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4052/"}], "tags": [], "metadata": {"description": "

Expand (a+b)(c+d). a,b,c,d are random terms that can be +ve or -ve, and can consist of a number and/or a letter.

\n

The answer must contain no brackets but will be accepted if it is not simplified from there.

\n

Part of HELM Book 1.3

", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "

Practise these questions repeatedly until you are very confident at removing brackets.

", "advice": "

\\[\\begin{align*}(\\var{te[0]})(\\var{te[1]})&=(\\var{te[0]})\\times(\\var{te[1]})\\\\ &=(\\var{te[2]})(\\var{te[1]})+(\\var{te[3]})(\\var{te[1]}) \\\\ &=(\\var{te[4]})+(\\var{te[5]})\\\\&=\\var{q2ans}   \\end{align*}\\]

", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"q2expr": {"name": "q2expr", "group": "question 2", "definition": "q2exprs[q2idx]", "description": "", "templateType": "anything", "can_override": false}, "q2ans": {"name": "q2ans", "group": "question 2", "definition": "simplify(expression(q2expr),[\"all\",\"expandBrackets\"])", "description": "", "templateType": "anything", "can_override": false}, "alphabet": {"name": "alphabet", "group": "Ungrouped variables", "definition": "['a','b','c','d','f','g','h','k','m','n','p','q','r','s','t','u','v','w','x','y','z']", "description": "", "templateType": "anything", "can_override": false}, "q2idx": {"name": "q2idx", "group": "question 2", "definition": "random(0..4)", "description": "", "templateType": "anything", "can_override": false}, "q2exprs": {"name": "q2exprs", "group": "question 2", "definition": "[\"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2v[0] + \")(\" \n + q2signs[2] + q2cstr[1] + q2signs[3] + q2v[1]+\")\",\n \"(\"+ q2signs[0] + q2cstr[2] + q2v[0] + q2signs[1] + q2cstr[0] + \")(\"\n + q2signs[2] + q2cstr[3] + q2v[0] + q2signs[3] + q2cstr[1] + \")\",\n \"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2cstr[2] + q2v[0] + \")(\" \n + q2signs[2] + q2cstr[3] + q2v[0] + q2signs[3] + q2cstr[1] + \")\",\n \"(\"+ q2signs[0] + q2cstr[2] + q2v[0] + q2signs[1] + q2cstr[0] + \")(\"\n + q2signs[2] + q2cstr[1] + q2signs[3] + q2cstr[3] + q2v[0] + \")\",\n \"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2cstr[2] + q2v[0] + \")(\"\n + q2signs[2] + q2cstr[1] + q2signs[3] + q2cstr[3] + q2v[0] + \")\" \n ]", "description": "

(2+a)(3+b), (x+1)(x+2), (1+x)(x+2), (x+1)(2+x), (1+x)(2+x)

", "templateType": "anything", "can_override": false}, "q2c": {"name": "q2c", "group": "question 2", "definition": "[random(1..9),\n random(1..9),\n weighted_random([[1,0.7],[random(2..9),0.3] ]),\n weighted_random([[1,0.7],[random(2..9),0.3] ])\n]", "description": "

const 1, const 2, coeff 1, coeff 2

", "templateType": "anything", "can_override": false}, "q2signs": {"name": "q2signs", "group": "question 2", "definition": "[random(\"\",\"-\"),random(\"+\",\"-\"),random(\"\",\"-\"),random(\"+\",\"-\")]", "description": "", "templateType": "anything", "can_override": false}, "q2cstr": {"name": "q2cstr", "group": "question 2", "definition": "[string(q2c[0]),\n string(q2c[1]),\n if(q2c[2]=1,\"\",string(q2c[2])),\n if(q2c[3]=1,\"\",string(q2c[3]))\n ]", "description": "", "templateType": "anything", "can_override": false}, "q2v": {"name": "q2v", "group": "question 2", "definition": "shuffle(alphabet)[0..4]", "description": "", "templateType": "anything", "can_override": false}, "terms": {"name": "terms", "group": "question 2", "definition": "[[\"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2v[0] + \")\",\"(\" \n + q2signs[2] + q2cstr[1] + q2signs[3] + q2v[1]+\")\",\n q2signs[0] + q2cstr[0],\n q2signs[1] + q2v[0]\n ],\n [\"(\"+ q2signs[0] + q2cstr[2] + q2v[0] + q2signs[1] + q2cstr[0] + \")\",\"(\"\n + q2signs[2] + q2cstr[3] + q2v[0] + q2signs[3] + q2cstr[1] + \")\",\n q2signs[0] + q2cstr[2] + q2v[0],\n q2signs[1] + q2cstr[0]\n ],\n [\"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2cstr[2] + q2v[0] + \")\",\"(\" \n + q2signs[2] + q2cstr[3] + q2v[0] + q2signs[3] + q2cstr[1] + \")\",\n q2signs[0] + q2cstr[0],\n q2signs[1] + q2cstr[2] + q2v[0]\n ],\n [\"(\"+ q2signs[0] + q2cstr[2] + q2v[0] + q2signs[1] + q2cstr[0] + \")\",\"(\"\n + q2signs[2] + q2cstr[1] + q2signs[3] + q2cstr[3] + q2v[0] + \")\",\n q2signs[0] + q2cstr[2] + q2v[0],\n q2signs[1] + q2cstr[0]\n ],\n [\"(\"+ q2signs[0] + q2cstr[0] + q2signs[1] + q2cstr[2] + q2v[0] + \")\",\"(\"\n + q2signs[2] + q2cstr[1] + q2signs[3] + q2cstr[3] + q2v[0] + \")\",\n q2signs[0] + q2cstr[0],\n q2signs[1] + q2cstr[2] + q2v[0]\n ] \n ][q2idx]", "description": "

for display in the advice

", "templateType": "anything", "can_override": false}, "te": {"name": "te", "group": "question 2", "definition": "[expression(terms[0]),\n expression(terms[1]),\n expression(terms[2]),\n expression(terms[3]),\n simplify(expression(\n \"(\"+string(expression(terms[2]))+\")*(\"+string(expression(terms[1]))+\")\"\n ),[\"expandBrackets\",\"basic\",\"unitFactor\",\"unitPower\",\"zeroFactor\",\n \"zeroTerm\",\"zeroPower\",\"collectNumbers\",\"constantsFirst\",\n \"cancelFactors\"]),\n simplify(expression(\n \"(\"+string(expression(terms[3]))+\")*(\"+string(expression(terms[1]))+\")\"\n ),[\"expandBrackets\",\"basic\",\"unitFactor\",\"unitPower\",\"zeroFactor\",\n \"zeroTerm\",\"zeroPower\",\"collectNumbers\",\"constantsFirst\",\n \"cancelFactors\"]),\n \n ]", "description": "

the terms, done as expressions, for display in the advice.

", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["alphabet"], "variable_groups": [{"name": "question 2", "variables": ["q2idx", "q2signs", "q2c", "q2cstr", "q2v", "q2exprs", "q2expr", "q2ans", "terms", "te"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "jme", "useCustomName": true, "customName": "Exercise 2", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Remove the brackets from $\\var{q2expr}$ and simplify where possible.

", "answer": "{q2ans}", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": true, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "notallowed": {"strings": ["(", ")"], "showStrings": false, "partialCredit": 0, "message": ""}, "mustmatchpattern": {"pattern": "m_associative(\n m_commutative(\n (((`+-$n`?)*$v^2 `| -$v^2 `| (`+-$n`?)*$v*$v `| -$v*$v) +\n ( (`+-$n`?*$v `| -$v) )`? + (`+-$n)`?)\n `|\n (((-$v*$v `|(`+-$n`?)* $v*$v) + \n (((`+-$n)`?*$v;a) `| (-$v;a) ) + \n (((`+-$n)`?*$v;b) `| (-$v;b) ) + \n (`+-$n)`?)`where(a<>b))\n )\n)", "partialCredit": "50", "message": "You need to remove all brackets and fully simplify the answer", "nameToCompare": ""}, "valuegenerators": []}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "1.3.3.4 Expand (x+a)(x+b)(x+c)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Merryn Horrocks", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4052/"}], "tags": [], "metadata": {"description": "

Expand (x+a)(x+b)(x+c), where x is a randomised variable, and a,b,c are randomised integers.

\n

Note that the pattern restriction in the marking checks that there are no brackets and that the expression is simplified to at most a single x^3, x^2, x and constant term; but it will let you get away with an additional -x^2 and/or -x term. (e.g., you could write 3x as 4x -x and the marking would accept this. This was to stop the pattern matching getting too complicated.

\n

Part of HELM Book 1.3

", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "

Practise these questions repeatedly until you are very confident at removing brackets.

", "advice": "

\\[\\begin{align*} \\var{expression(q3expr)} &= \\left[(  \\var{t[0]} )(\\var{t[1]})\\right]\\times(\\var{t[2]})\\\\ &=(\\var{te[0]})\\times(\\var{t[2]})\\\\ &= \\var{te[1]}\\\\ &=(\\var{te[2]})+(\\var{te[3]})\\\\&=\\var{q3ans} \\end{align*}\\]

", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"q3expr": {"name": "q3expr", "group": "question 3", "definition": "\"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")(\" \n + q3v + q3signs[2] + q3c[2] + \")\"", "description": "", "templateType": "anything", "can_override": false}, "q3ans": {"name": "q3ans", "group": "question 3", "definition": "simplify(expression(q3expr),[\"all\",\"expandBrackets\"])", "description": "", "templateType": "anything", "can_override": false}, "alphabet": {"name": "alphabet", "group": "Ungrouped variables", "definition": "['a','b','c','d','f','g','h','k','m','n','p','q','r','s','t','u','v','w','x','y','z']", "description": "", "templateType": "anything", "can_override": false}, "q3v": {"name": "q3v", "group": "question 3", "definition": "random(alphabet)", "description": "", "templateType": "anything", "can_override": false}, "q3c": {"name": "q3c", "group": "question 3", "definition": "repeat(random(1..9),3)", "description": "", "templateType": "anything", "can_override": false}, "q3signs": {"name": "q3signs", "group": "question 3", "definition": "repeat(random(\"+\",\"-\"),3)", "description": "", "templateType": "anything", "can_override": false}, "ve": {"name": "ve", "group": "question 3", "definition": "expression(q3v)", "description": "

for display in the advice

", "templateType": "anything", "can_override": false}, "t": {"name": "t", "group": "question 3", "definition": "[expression(q3v + q3signs[0] + q3c[0]),\n expression(q3v + q3signs[1] + q3c[1]),\n expression(q3v + q3signs[2] + q3c[2]),\n]", "description": "

The terms, for display in the advice.

", "templateType": "anything", "can_override": false}, "te": {"name": "te", "group": "question 3", "definition": "[\nsimplify(expression(\"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")\"),\"expandBrackets,all\"),\nexpression( \n \"(\"+string(simplify(expression(\n \"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")\"\n ),\"expandBrackets,all\"))+\n \")*\"+q3v+\"+(\"+ string(simplify(expression(\n \"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")\"\n ),\"expandBrackets,all\"))+\n \")*\"+string(simplify(expression(\"(\"+q3signs[2] + q3c[2]+\")\"),\"all\"))\n ),\nsimplify(expression( \n \"(\"+string(simplify(expression(\n \"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")\"\n ),\"expandBrackets,all\"))+\n \")*\"+q3v\n ),[\"expandBrackets\",\"basic\",\"unitFactor\",\"unitPower\",\"zeroFactor\",\n \"zeroTerm\",\"zeroPower\",\"collectNumbers\",\"constantsFirst\",\n \"cancelFactors\"]),\nsimplify(expression(\n \"(\"+ string(simplify(expression(\n \"(\" + q3v + q3signs[0] + q3c[0] + \")(\" \n + q3v + q3signs[1] + q3c[1] + \")\"\n ),\"expandBrackets,all\"))+\n \")*\"+string(simplify(expression(\"(\"+q3signs[2] + q3c[2]+\")\"),\"all\")) \n ),[\"expandBrackets\",\"basic\",\"unitFactor\",\"unitPower\",\"zeroFactor\",\n \"zeroTerm\",\"zeroPower\",\"collectNumbers\",\"constantsFirst\",\n \"cancelFactors\"]) \n]", "description": "

The terms, getting expanded, for display in the advice.

", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["alphabet"], "variable_groups": [{"name": "question 3", "variables": ["q3v", "q3c", "q3expr", "q3ans", "q3signs", "ve", "t", "te"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "jme", "useCustomName": true, "customName": "Exercise 3", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Remove the brackets from $\\var{q3expr}$ and simplify.

", "answer": "{q3ans}", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": true, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "mustmatchpattern": {"pattern": "`! m_anywhere(?*(? + ?`+))\n`& (\n$v^3+(`+-$n`?*$v^2)`?+\n(`+-$n`?*$v)`?+(`+-$n)`?\n -($v^2)`?-($v)`?\n)", "partialCredit": 0, "message": "You need to fully factorise the expression.", "nameToCompare": ""}, "valuegenerators": []}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}]}], "allowPrinting": true, "navigation": {"allowregen": true, "reverse": true, "browse": true, "allowsteps": true, "showfrontpage": true, "showresultspage": "oncompletion", "navigatemode": "menu", "onleave": {"action": "none", "message": ""}, "preventleave": true, "startpassword": "", "allowAttemptDownload": false, "downloadEncryptionKey": ""}, "timing": {"allowPause": true, "timeout": {"action": "none", "message": ""}, "timedwarning": {"action": "none", "message": ""}}, "feedback": {"showactualmark": true, "showtotalmark": true, "showanswerstate": true, "allowrevealanswer": true, "advicethreshold": 0, "intro": "

Work through these practice questions. You are encouraged to try each question multiple times as the expressions in each question will change each time you try it. 

", "end_message": "", "reviewshowscore": true, "reviewshowfeedback": true, "reviewshowexpectedanswer": true, "reviewshowadvice": true, "feedbackmessages": []}, "diagnostic": {"knowledge_graph": {"topics": [], "learning_objectives": []}, "script": "diagnosys", "customScript": ""}, "contributors": [{"name": "Merryn Horrocks", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4052/"}], "extensions": [], "custom_part_types": [], "resources": []}