// Numbas version: finer_feedback_settings {"name": "10. Solving quadratics by factorising", "metadata": {"description": "
A cmprehensive set of questions covering the different ways to solve quadratics by factorising
", "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": "10.a. Solving (x+a)(x+b)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "solving a factorised quadratic
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[(\\simplify{x+{x1}})(\\simplify{x+{x2}})=0\\]
", "advice": "This equation is zero when either $(\\simplify{x+{x1}})=0$ or $(\\simplify{x+{x2}})=0$. We can re-arrange each equation to get the solutions
\n\\[\\simplify{x={-x1}},\\ \\simplify{x={-x2}}.\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "random(-15..15)", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "random(-15..15)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10.b. Solving x^2+bx+c=0", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Factorising and solving a quadratic with a=1
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{x^2+{b}x+{c}}=0\\]
", "advice": "To solve a quadratic equation of the form \\[ x^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(x+p)(x+q)=0,\\] where $p+q=b$ and $p \\times q = c$.
\nHence, for the equation \\[\\simplify{x^2+{b}x+{c}=0}, \\]
\nthis can be factorised to \\[\\simplify{(x+{x1})(x+{x2})=0}.\\] This equation is satisfied when either \\[\\simplify{x+{x1}=0} \\quad \\text{or} \\quad \\simplify{x+{x1}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify{x={-x1}} \\quad \\text{and} \\quad \\simplify{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "random(-15..15)", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "random(-15..15)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "x1+x2", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "x1*x2", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "b", "c"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10c. Solving x^2-c^2=0", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "quadratic solving using difference of two squares
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{x^2+{b}x+{c}}=0\\]
", "advice": "For a quadratic expression of this form we can make use of the Difference of Squares formula, which states that \\[a^2-b^2 = (a+b)(a-b).\\]
\nTherefore,
\n\\[\\simplify[unitFactor]{x^2-{c} = (x+{x1})(x-{x1})}.\\]
\nUse this link to find resources to help you revise how to factorise a quadratic equation using the difference of two squares formula.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "random(-12..12 except 0)", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "-x1", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "x1+x2", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "x1*x2", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "b", "c"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10d. Solving a1x^2+bx+c=(1+a1)x^2+b2x+c2", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Solving quadratics which need simplifying first.
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{{a1}x^2+{b1}x+{c1}}=\\simplify{{a2}x^2+{b2}x+{c2}}\\]
", "advice": "First we want to re-arrange to put all the terms on the same side. For the equation
\n\\[\\simplify{{a1}x^2+{b1}x+{c1}}=\\simplify{{a2}x^2+{b2}x+{c2}}\\]
\nwe can re-arrange to get
\n\\[\\simplify{x^2+{b}x+{c}=0}.\\]
\nTo solve a quadratic equation of the form \\[ x^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(x+p)(x+q)=0,\\] where $p+q=b$ and $p \\times q = c$.
\nHence, for the equation \\[\\simplify{x^2+{b}x+{c}=0}, \\]
\nthis can be factorised to \\[\\simplify{(x+{x1})(x+{x2})=0}.\\] This equation is satisfied when either \\[\\simplify{x+{x1}=0} \\quad \\text{or} \\quad \\simplify{x+{x1}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify{x={-x1}} \\quad \\text{and} \\quad \\simplify{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "x1+x2", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "x1*x2", "description": "", "templateType": "anything", "can_override": false}, "a1": {"name": "a1", "group": "Ungrouped variables", "definition": "random(-5..5)", "description": "", "templateType": "anything", "can_override": false}, "a2": {"name": "a2", "group": "Ungrouped variables", "definition": "1+a1", "description": "", "templateType": "anything", "can_override": false}, "b1": {"name": "b1", "group": "Ungrouped variables", "definition": "random(-30..30)", "description": "", "templateType": "anything", "can_override": false}, "b2": {"name": "b2", "group": "Ungrouped variables", "definition": "b+b1", "description": "", "templateType": "anything", "can_override": false}, "c1": {"name": "c1", "group": "Ungrouped variables", "definition": "random(-144..144)", "description": "", "templateType": "anything", "can_override": false}, "c2": {"name": "c2", "group": "Ungrouped variables", "definition": "c+c1", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "b", "c", "a1", "a2", "b1", "b2", "c1", "c2"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10e. Solving (x+a)/b=c/(x+d)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Solving equations involving algebraic fractions which simplify into quadratics
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{(x+{a})/{b}}=\\simplify{{c}/(x+{d})}\\]
", "advice": "First multiply through by $\\var{b}$ and $\\simplify{x+{d}}$ and re-arrange to get
\n\\[\\simplify{x^2+{xCoff}x+{Const}=0}\\]
\nTo solve a quadratic equation of the form \\[ x^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(x+p)(x+q)=0,\\] where $p+q=b$ and $p \\times q = c$.
\nHence, for the equation \\[\\simplify{x^2+{xCoff}x+{Const}=0}, \\]
\nthis can be factorised to \\[\\simplify{(x+{x1})(x+{x2})=0}.\\] This equation is satisfied when either \\[\\simplify{x+{x1}=0} \\quad \\text{or} \\quad \\simplify{x+{x2}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify{x={-x1}} \\quad \\text{and} \\quad \\simplify{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "random(separate(-100..100,x->x|(Const-a*d))[0])", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "-(Const-a*d)/b", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "random(-12..12 except 0)", "description": "", "templateType": "anything", "can_override": false}, "d": {"name": "d", "group": "Ungrouped variables", "definition": "xCoff-a", "description": "", "templateType": "anything", "can_override": false}, "xCoff": {"name": "xCoff", "group": "Ungrouped variables", "definition": "x1+x2", "description": "", "templateType": "anything", "can_override": false}, "Const": {"name": "Const", "group": "Ungrouped variables", "definition": "x1*x2", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "a*d<>0 and b*c<>0 and x1<>a and x2<>d and x2<>a and x1<>d", "maxRuns": "100"}, "ungrouped_variables": ["x1", "x2", "a", "b", "c", "d", "xCoff", "Const"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10f. Solving (ax+c)(bx+d)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Solving factorised quadratics with leading coefficient NOT 1
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[(\\simplify{{a}x+{c}})(\\simplify{{b}x+{d}})=0\\]
\nGive your answers as fractins or intergers as appropriate.
", "advice": "This equation is zero when either $(\\simplify{{a}x+{c}})=0$ or $(\\simplify{{b}x+{d}})=0$. We can re-arrange each equation to get the solutions
\n\\[\\simplify[fractionNumbers]{x={-x1}},\\ \\simplify[fractionNumbers]{x={-x2}}.\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "c/a", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "d/b", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "random(-10..10 except 0)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "random(-10..10 except 0)", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "d": {"name": "d", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "a", "b", "c", "d"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": "50", "displayAnswer": "", "showFractionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": "50", "displayAnswer": "", "showFractionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10.g. Solving ax^2+bx+c=0 for prime a", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Ensures that the quadratic factorises into a rational answer and an integer
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{{a}x^2+{b}x+{c}}=0\\]
", "advice": "To solve a quadratic equation of the form \\[ ax^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(mx+p)(nx+q)=0,\\] where $m\\times n=a$, $m\\times q+n\\times p=b$ and $p\\times q=c$.
\nFor the equation \\[\\simplify{{a}x^2+{b}x+{c}=0},\\]
\nwe know that $\\var{a}$ only has factors $\\var{a}$ and $1$ so this equation factorises as \\[\\simplify{({a}x+p)(x+q)}\\] for some $p$ and $q$ such that $p\\times q=\\var{c}$ and $\\var{a}q+p=\\var{b}$. We can test different factors of $\\var{c}$ to get that
\n\\[\\simplify{{a}x^2+{b}x+{c}=0}\\]
\ncan be factorised to \\[\\simplify{({a}x+{Fact1})(x+{x2})=0}.\\] This equation is satisfied when either \\[\\simplify{{a}x+{Fact1}=0} \\quad \\text{or} \\quad \\simplify{x+{x2}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify[fractionNumbers]{x={-x1}} \\quad \\text{and} \\quad \\simplify{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "Fact1/a", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "a*x2+Fact1", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "Fact1*x2", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "random(2,3,5,7)", "description": "polynomial factorises as (ax+Fact1)(x+x2), x1=Fact1/a
", "templateType": "anything", "can_override": false}, "Fact1": {"name": "Fact1", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "gcd(a,c)=1", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "b", "c", "a", "Fact1"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10.h. Solving ax^2+bx+c=0 for arbitrary a", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Factorising where a has multiple factor pairs
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{{a}x^2+{b}x+{c}}=0\\]
", "advice": "To solve a quadratic equation of the form \\[ ax^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(mx+p)(nx+q)=0,\\] where $m\\times n=a$, $m\\times q+n\\times p=b$ and $p\\times q=c$.
\nFor the equation \\[\\simplify{{a}x^2+{b}x+{c}=0},\\]
\nthe best strategy is to test different factors of $\\var{a}$ and $\\var{c}$. Writing out a table of different factors is a good way to keep track of what guesses you have tried. In this case our polynomial can be factorised to \\[\\simplify{({a1}x+{Fact1})({a2}x+{Fact2})=0}.\\] This equation is satisfied when either \\[\\simplify{{a1}x+{Fact1}=0} \\quad \\text{or} \\quad \\simplify{{a2}x+{Fact2}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify[fractionNumbers]{x={-x1}} \\quad \\text{and} \\quad \\simplify[fractionNumbers]{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "Fact1/a1", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "Fact2/a2", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "a1*Fact2+a2*Fact1", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "Fact1*Fact2", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "a1": {"name": "a1", "group": "Ungrouped variables", "definition": "random(2..5)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "Fact1": {"name": "Fact1", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "a2": {"name": "a2", "group": "Ungrouped variables", "definition": "random(2..5)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "a1*a2", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}, "Fact2": {"name": "Fact2", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2), x1=Fact1/a1, x2=Fact2/a2
", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["x1", "x2", "a", "b", "c", "a1", "a2", "Fact2", "Fact1"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10.i. Solving a^2x^2-c^2=0", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "Difference of two squares - where one square has a coefficient
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{{a^2}x^2+{c}}=0\\]
", "advice": "For a quadratic expression of this form we can make use of the Difference of Squares formula, which states that \\[a^2-b^2 = (a+b)(a-b).\\]
\nTherefore,
\n\\[\\simplify[unitFactor]{{a^2}x^2-{c} = ({a}x+{Fact1})({a}x-{Fact1})}.\\]
\nUse this link to find resources to help you revise how to factorise a quadratic equation using the difference of two squares formula.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"Fact1": {"name": "Fact1", "group": "Ungrouped variables", "definition": "random(-12..12 except 0)", "description": "", "templateType": "anything", "can_override": false}, "Fact2": {"name": "Fact2", "group": "Ungrouped variables", "definition": "-Fact1", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "Fact1*Fact2", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "random(1..12)", "description": "", "templateType": "anything", "can_override": false}, "x1": {"name": "x1", "group": "Ungrouped variables", "definition": "Fact1/a", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "Fact2/a", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["Fact1", "Fact2", "c", "a", "x1", "x2"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "10.j. Solving (gx+a)/b=c/(fx+d)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "tags": [], "metadata": {"description": "quadratics with some set up rearranging needed
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Solve the following equation for $x$.
\n\\[\\simplify{({g}x+{a})/{b}}=\\simplify{{c}/({f}x+{d})}\\]
", "advice": "First multiply through by $\\var{b}$ and $\\simplify{{f}x+{d}}$ and re-arrange to get
\n\\[\\simplify{{x2Coff}x^2+{xCoff}x+{Const}=0}.\\]
\nTo solve a quadratic equation of the form \\[ ax^2+bx+c=0\\] by factorisation, we want to factorise the equation into the form \\[(mx+p)(nx+q)=0,\\] where $mn=a$, $np+mq=b$, and $p \\times q = c$.
\nThe equation \\[\\simplify{{x2Coff}x^2+{xCoff}x+{Const}=0}\\]
\ncan be factorised to \\[\\simplify{({a1}x+{Fact1})({a2}x+{Fact2})=0}.\\] This equation is satisfied when either \\[\\simplify{{a1}x+{Fact1}=0} \\quad \\text{or} \\quad \\simplify{{a2}x+{Fact2}=0}, \\] which implies the solutions to this quadratic equation are \\[ \\simplify[fractionNumbers]{x={-x1}} \\quad \\text{and} \\quad \\simplify[fractionNumbers]{x={-x2}} .\\]
\nUse this link to find resources to help you revise how to solve quadratic equations.
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"x1": {"name": "x1", "group": "Ungrouped variables", "definition": "Fact1/a1", "description": "", "templateType": "anything", "can_override": false}, "x2": {"name": "x2", "group": "Ungrouped variables", "definition": "Fact2/a2", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "random(separate(-50..50,x->x|(Const-a*d))[0])", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "-(Const-a*d)/b", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Ungrouped variables", "definition": "VarChoice[2]", "description": "", "templateType": "anything", "can_override": false}, "d": {"name": "d", "group": "Ungrouped variables", "definition": "VarChoice[3]", "description": "", "templateType": "anything", "can_override": false}, "xCoff": {"name": "xCoff", "group": "Ungrouped variables", "definition": "a1*Fact2+a2*Fact1", "description": "Coefficient of x when written in form ax^2+bx+c
", "templateType": "anything", "can_override": false}, "Const": {"name": "Const", "group": "Ungrouped variables", "definition": "Fact1*Fact2", "description": "Constant term when written in form ax^2+bx+c
", "templateType": "anything", "can_override": false}, "f": {"name": "f", "group": "Ungrouped variables", "definition": "VarChoice[1]", "description": "", "templateType": "anything", "can_override": false}, "x2Coff": {"name": "x2Coff", "group": "Ungrouped variables", "definition": "a1*a2", "description": "Coefficient of x^2 when written in form ax^2+bx+c
", "templateType": "anything", "can_override": false}, "g": {"name": "g", "group": "Ungrouped variables", "definition": "VarChoice[0]", "description": "", "templateType": "anything", "can_override": false}, "Fact1": {"name": "Fact1", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2)
", "templateType": "anything", "can_override": false}, "Fact2": {"name": "Fact2", "group": "Ungrouped variables", "definition": "random(-12..12)", "description": "polynomial factorises as (a1x+Fact1)(a2x+Fact2)
", "templateType": "anything", "can_override": false}, "a1": {"name": "a1", "group": "Ungrouped variables", "definition": "random(-5..5 except 0)", "description": "", "templateType": "anything", "can_override": false}, "a2": {"name": "a2", "group": "Ungrouped variables", "definition": "random(-5..5 except 0)", "description": "", "templateType": "anything", "can_override": false}, "VarList": {"name": "VarList", "group": "Ungrouped variables", "definition": "[x,x2Coff/x,y,(xCoff-x2Coff/x*y)/x] for: x of:separate(-25..25,x->x|(a1*a2))[0] for: y of:-50..50", "description": "", "templateType": "anything", "can_override": false}, "VarListAllInt": {"name": "VarListAllInt", "group": "Ungrouped variables", "definition": "separate(VarList, x -> int(x[3])=x[3] && x[2]*x[3]<>Const)[0]", "description": "", "templateType": "anything", "can_override": false}, "VarChoice": {"name": "VarChoice", "group": "Ungrouped variables", "definition": "random(VarListAllInt)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "a*d<>0 and b*c<>0 and x1<>a and x2<>d and x2<>a and x1<>d", "maxRuns": "100"}, "ungrouped_variables": ["x1", "x2", "a", "b", "c", "d", "g", "f", "xCoff", "Const", "x2Coff", "Fact1", "Fact2", "a1", "a2", "VarList", "VarListAllInt", "VarChoice"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "student_set (The set of numbers that the student gave):\n set(x for: x of: interpreted_answers where: x<>nothing)\n\nexpected_set (The set of roots of the equation):\n set([-x1,-x2])\n\nnum_correct (The number of values in the student's set which are correct):\n len(intersection(student_set, expected_set))\n\nmark:\n if(num_correct=0,\n incorrect(\"Your answer is incorrect.\")\n , \n if(len(expected_set)=1, // there is one root\n if(len(student_set)=1, // student gave one correct root\n correct()\n , add_credit(0.5, \"One of your answers is not a root.\") // student gave one correct and one incorrect)\n )\n , // there are two roots\n switch(len(student_set)=1, // student gave one correct root and nothing else\n add_credit(0.5, \"You gave one correct root, but there is another root.\")\n , num_correct=1, // student gave one correct and one incorret\n add_credit(0.5, \"One of your answers is not a root.\")\n , // otherwise, student gave two correct answers\n correct()\n )\n )\n )", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "x=[[0]]
\nx=[[1]]
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x1", "maxValue": "-x1", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "student_empty: trim(studentAnswer)=\"\"\n\nmark:\n assert(student_empty, apply(base_mark))\n\ninterpreted_answer:\n if(student_empty, nothing, base_interpreted_answer)", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "-x2", "maxValue": "-x2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}]}], "allowPrinting": true, "navigation": {"allowregen": true, "reverse": true, "browse": true, "allowsteps": true, "showfrontpage": false, "navigatemode": "sequence", "onleave": {"action": "none", "message": ""}, "preventleave": false, "typeendtoleave": false, "startpassword": "", "autoSubmit": true, "allowAttemptDownload": false, "downloadEncryptionKey": "", "showresultspage": "oncompletion"}, "timing": {"allowPause": false, "timeout": {"action": "none", "message": ""}, "timedwarning": {"action": "none", "message": ""}}, "feedback": {"enterreviewmodeimmediately": true, "showactualmarkwhen": "always", "showtotalmarkwhen": "always", "showanswerstatewhen": "always", "showpartfeedbackmessageswhen": "always", "showexpectedanswerswhen": "inreview", "showadvicewhen": "inreview", "allowrevealanswer": true, "intro": "", "end_message": "", "results_options": {"printquestions": true, "printadvice": true}, "feedbackmessages": [], "reviewshowexpectedanswer": true, "showanswerstate": true, "reviewshowfeedback": true, "showactualmark": true, "showtotalmark": true, "reviewshowscore": true, "reviewshowadvice": true}, "diagnostic": {"knowledge_graph": {"topics": [], "learning_objectives": []}, "script": "diagnosys", "customScript": ""}, "contributors": [{"name": "Mash Sheffield", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4679/"}, {"name": "Andrew Neate", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/21832/"}], "extensions": [], "custom_part_types": [], "resources": []}