// Numbas version: finer_feedback_settings {"name": "Inequalities that involve a single absolute value", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Inequalities that involve a single absolute value", "tags": [], "metadata": {"description": "

Inequality involving a single absolute value, question solution uses the piecewise nature of the absolute value function.

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

You are given the inequality \\[|\\simplify{{a}x+{b}}| \\var{latex(sym)} \\var{c}.\\]

\n

", "advice": "

Short-cut Method

\n

\n

For questions of this type (where the absolute value is 'less than' or 'less than and equal to' something positive) we can set out our working in a shorter way:

\n

\\begin{alignat}{2} &&|\\simplify{{a}x+{b}}| &\\var{latex(sym)} \\var{c}\\\\ \\var{-c} &\\var{latex(sym)}&\\simplify{{a}x+{b}}&\\var{latex(sym)}\\var{c}\\\\ \\var{-c-b} &\\var{latex(sym)} &\\simplify{{a}x}\\quad&\\var{latex(sym)}\\var{c-b}\\\\ \\var[fractionNumbers]{r1}&\\var{latex(sym)}&x\\quad&\\var{latex(sym)}\\var[fractionNumbers]{r2}.\\end{alignat}

\n

\\begin{alignat}{2} &&|\\simplify{{a}x+{b}}| &\\var{latex(sym)} \\var{c}\\\\ \\var{-c} &\\var{latex(sym)}&\\simplify{{a}x+{b}}&\\var{latex(sym)}\\var{c}\\\\ \\var{-c-b} &\\var{latex(sym)} &\\simplify{{a}x}\\quad&\\var{latex(sym)}\\var{c-b}.\\end{alignat}

\n

\\begin{alignat}{2} &&|\\simplify{{a}x+{b}}| &\\var{latex(sym)} \\var{c}\\\\ \\var{-c} &\\var{latex(sym)}&\\simplify{{a}x+{b}}&\\var{latex(sym)}\\var{c}\\\\ \\var{-c-b} &\\var{latex(sym)} &\\simplify{{a}x}\\quad&\\var{latex(sym)}\\var{c-b}\\\\ \\var[fractionNumbers]{r2}&\\var{latex(backsym)}&x\\quad&\\var{latex(backsym)}\\var[fractionNumbers]{r1}\\\\\\var[fractionNumbers]{r1}&\\var{latex(sym)}&x\\quad&\\var{latex(sym)}\\var[fractionNumbers]{r2}.\\end{alignat}

\n

\n

Cases Method

\n

 

\n

Recall that the absolute value is defined as the piecewise function \\[|x|=\\begin{cases}x, &\\text{ for } x\\ge 0\\\\ -x, &\\text{ for } x<0. \\end{cases}\\]

\n

This means that $|\\simplify{{a}x+{b}}|$ is actually $\\simplify{{a}x+{b}}$ when $\\simplify{{a}x+{b}}\\ge 0$ but it is $-(\\simplify{{a}x+{b}})$ when $\\simplify{{a}x+{b}}<0$. We have two cases:

\n

\n

Case 1: $\\simplify{{a}x+{b}}\\ge 0$

\n

Rearranging $\\simplify{{a}x+{b}}\\ge 0$ for $x$ gives $x \\ge \\simplify[fractionNumbers]{{-b/a}}$ $x \\le \\simplify[fractionNumbers]{{-b/a}}$ and so case 1 is only relevant for $x \\ge \\simplify[fractionNumbers]{{-b/a}}$ $x \\le \\simplify[fractionNumbers]{{-b/a}}$.

\n

In case 1, our inequality is simply $\\simplify{{a}x+{b}} \\var{latex(sym)} \\var{c}$, and so rearranging it for $x$ gives $x \\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,!unitDenominator]{{(c-b)/a}}$ $x \\var{latex(backsym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$

\n

So in conclusion for case 1, we require that $x \\ge \\simplify[fractionNumbers]{{-b/a}}$ $x \\le \\simplify[fractionNumbers]{{-b/a}}$   and  $x \\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$ $x \\var{latex(backsym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$ which is the same as $\\simplify[fractionNumbers]{-{b/a}}\\le x\\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$ $\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}\\var{latex(sym)} x\\le \\simplify[fractionNumbers]{{-b/a}}$ $x\\var{latex(sym)}\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$ $x\\var{latex(backsym)}\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(c-b)/a}}$.

\n

\n

Case 2: $\\simplify{{a}x+{b}}< 0$

\n

Rearranging $\\simplify{{a}x+{b}}< 0$ for $x$ gives $x < \\simplify[fractionNumbers]{{-b/a}}$ $x > \\simplify[fractionNumbers]{{-b/a}}$ and so case 2 is only relevant for $x < \\simplify[fractionNumbers]{{-b/a}}$ $x > \\simplify[fractionNumbers]{{-b/a}}$.

\n

In case 2, our inequality is actually $-(\\simplify{{a}x+{b}}) \\var{latex(sym)} \\var{c}$, and so rearranging it for $x$ gives $x \\var{latex(backsym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$ $x \\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$

\n

So in conclusion for case 2, we require that $x < \\simplify[fractionNumbers]{-{b/a}}$ $x > \\simplify[fractionNumbers]{-{b/a}}$  and  $x \\var{latex(backsym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$ $x \\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$ which is the same as $\\simplify[fractionNumbers]{{-(b+c)/a}}\\var{latex(sym)} x< \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{-b}/{a}}$ $\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{-b/a}}< x \\var{latex(sym)} \\simplify[fractionNumbers,simplifyFractions,unitDenominator]{-{(b+c)/a}}$ $x\\var{latex(backsym)}\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$ $x\\var{latex(sym)}\\simplify[fractionNumbers,simplifyFractions,unitDenominator]{{(-c-b)/a}}$.

\n

\n

Therefore the solution to our original inequality $|\\simplify{{a}x+{b}}| \\var{latex(sym)} \\var{c}$ is 

\n

\\[\\var[fractionNumbers]{r1}<x<\\var[fractionNumbers]{r2}.\\]

\n

\\[\\var[fractionNumbers]{r1}\\le x \\le\\var[fractionNumbers]{r2}.\\]

\n

\\[x< \\var[fractionNumbers]{r1} \\text{ or } x> \\var[fractionNumbers]{r2}.  \\]

\n

\\[x\\le \\var[fractionNumbers]{r1} \\text{ or } x\\ge\\var[fractionNumbers]{r2}.  \\]

", "rulesets": {}, "extensions": ["jsxgraph"], "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"a": {"name": "a", "group": "Ungrouped variables", "definition": "random(-12..12 except 0)", "description": "", "templateType": "anything", "can_override": false}, "choice": {"name": "choice", "group": "Ungrouped variables", "definition": "random(1..4)", "description": "", "templateType": "anything", "can_override": false}, "hole": {"name": "hole", "group": "Ungrouped variables", "definition": "-b/d", "description": "", "templateType": "anything", "can_override": false}, "c": {"name": "c", "group": "Ungrouped variables", "definition": "random(1..12)", "description": "", "templateType": "anything", "can_override": false}, "d": {"name": "d", "group": "Ungrouped variables", "definition": "random(-12..12 except -1..1)", "description": "

d

", "templateType": "anything", "can_override": false}, "r1": {"name": "r1", "group": "Ungrouped variables", "definition": "rootList[0]", "description": "

r1

", "templateType": "anything", "can_override": false}, "prod": {"name": "prod", "group": "Ungrouped variables", "definition": "leadCoeff*choice", "description": "", "templateType": "anything", "can_override": false}, "backprod": {"name": "backprod", "group": "Ungrouped variables", "definition": "leadCoeff*backchoice", "description": "", "templateType": "anything", "can_override": false}, "leadCoeff": {"name": "leadCoeff", "group": "Ungrouped variables", "definition": "sign(a)", "description": "", "templateType": "anything", "can_override": false}, "r2": {"name": "r2", "group": "Ungrouped variables", "definition": "rootList[1]", "description": "

r2

", "templateType": "anything", "can_override": false}, "extremeY": {"name": "extremeY", "group": "Ungrouped variables", "definition": "(r2-r1)^2/4\n\n//abs((c*b-a)*b-(b*(d*d-1)+d*(c*b-a))^2/(4*d*(c*d-1)))", "description": "

approx of the furthest we need to plot in the y direction

", "templateType": "anything", "can_override": false}, "nonhole": {"name": "nonhole", "group": "Ungrouped variables", "definition": "(a-b*c)/(c*d-1)", "description": "", "templateType": "anything", "can_override": false}, "one": {"name": "one", "group": "Ungrouped variables", "definition": "if(choice=3 or choice=4,true,false)", "description": "", "templateType": "anything", "can_override": false}, "sym": {"name": "sym", "group": "Ungrouped variables", "definition": "['>','\\\\ge','<','\\\\le'][choice-1]", "description": "", "templateType": "anything", "can_override": false}, "dr": {"name": "dr", "group": "Ungrouped variables", "definition": "r2-r1", "description": "", "templateType": "anything", "can_override": false}, "strict": {"name": "strict", "group": "Ungrouped variables", "definition": "if(choice=1 or choice=3,true,false)", "description": "", "templateType": "anything", "can_override": false}, "rootList": {"name": "rootList", "group": "Ungrouped variables", "definition": "sort([(-b-c)/a,(-b+c)/a])", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "random(-12..12 except 0)", "description": "", "templateType": "anything", "can_override": false}, "backChoice": {"name": "backChoice", "group": "Ungrouped variables", "definition": "mod(choice+1,4)+1", "description": "", "templateType": "anything", "can_override": false}, "backsym": {"name": "backsym", "group": "Ungrouped variables", "definition": "['>','\\\\ge','<','\\\\le'][backChoice-1]", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["choice", "sym", "a", "c", "d", "b", "leadCoeff", "prod", "one", "rootList", "r1", "r2", "strict", "backChoice", "backsym", "extremeY", "backprod", "dr", "hole", "nonhole"], "variable_groups": [], "functions": {"graph": {"parameters": [], "type": "html", "language": "javascript", "definition": "a = Numbas.jme.unwrapValue(scope.variables.leadcoeff);\nr1 = Numbas.jme.unwrapValue(scope.variables.r1);\nr2 = Numbas.jme.unwrapValue(scope.variables.r2);\nprod = Numbas.jme.unwrapValue(scope.variables.backprod);\ndr=Numbas.jme.unwrapValue(scope.variables.dr);\nexy=Numbas.jme.unwrapValue(scope.variables.extremey);\nhole = Numbas.jme.unwrapValue(scope.variables.hole);\nnonhole = Numbas.jme.unwrapValue(scope.variables.nonhole);\n\nvar div = Numbas.extensions.jsxgraph.makeBoard('400px','400px',{boundingBox:[r1-dr,1.2*exy,r2+dr,-1.2*exy],grid:true,axis:false});\nvar board = div.board;\n\n// create the x-axis.\nvar xaxis = board.create('line',[[0,0],[1,0]], { strokeColor: 'black', fixed: true});\nvar xticks = board.create('ticks',[xaxis,2],{\n drawLabels: true,\n label: {offset: [-4, -10]},\n minorTicks: 0\n});\n\n// create the y-axis\nvar yaxis = board.create('line',[[0,0],[0,1]], { strokeColor: 'black', fixed: true });\nvar yticks = board.create('ticks',[yaxis,10],{\ndrawLabels: true,\nlabel: {offset: [-20, 0]},\nminorTicks: 0,\n});\n\n\n\nif(prod==2 || prod==4 || prod==-2 || prod==-4){ptColour = 'green';} else {ptColour = 'red';};\n\nboard.create('point',[hole,0],{fixed:true,withLabel:false,strokeColour:'red', fillColor:'red'});\nboard.create('point',[nonhole,0],{fixed:true,withLabel:false,strokeColor:ptColour,fillColor:ptColour});\n\nif(prod==2 || prod==-4 || prod== 1 || prod==-3){ outColour = 'green';} else {outColour = 'red';};\nif(prod==-2 || prod==4 || prod== -1 || prod==3){inColour = 'green';} else {inColour = 'red';};\n\nboard.create('functiongraph',[function(x){return a*(x**2-(r1+r2)*x+r1*r2);},r1,r2],{strokeColor:inColour,strokeWidth:2});\nboard.create('functiongraph',[function(x){return a*(x**2-(r1+r2)*x+r1*r2);},r1-dr,r1],{strokeColor:outColour,strokeWidth:2});\nboard.create('functiongraph',[function(x){return a*(x**2-(r1+r2)*x+r1*r2);},r2,r2+dr],{strokeColor:outColour,strokeWidth:2});\n\nreturn div;"}}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

The solution to the above inequality is [[0]].

\n

Note: To type $\\ge$ use >= and for $\\le$ use <=.

\n

Note: If your answer consists of two infinite intervals, such as $x<-1, \\,x>5$, type your inequalities with the word or between them, such as x<-1 or x>5, rather than using a comma between them. 

", "gaps": [{"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": false, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "answer": "switch({one}=true and {strict}=true, {r1}{r2}, {one}=false and {strict}=false, x<={r1} or x>={r2})", "showPreview": false, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": "30", "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "notallowed": {"strings": ["abs", "^", "root", "power"], "showStrings": false, "partialCredit": 0, "message": ""}, "valuegenerators": [{"name": "x", "value": "random([a-0.01,a,a+0.01,b-0.01,b,b+0.01])"}]}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "resources": []}]}], "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}]}