// Numbas version: exam_results_page_options {"name": "mock_exam Finding multipe solutions of sin(x)= (in degrees 0 to 360) WORKING", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"functions": {"eqnline": {"type": "html", "parameters": [["a", "number"], ["b", "number"], ["x2", "number"], ["y2", "number"], ["v", "number"], ["sin0", "number"]], "language": "javascript", "definition": "// This function creates the board and sets it up, then returns an\n// HTML div tag containing the board.\n\n//Put in your values of x here\n\nvar x_min = -60;\nvar x_max = 380;\nvar y_min = -1.5;\nvar y_max = 1.5;\n\n// First, make the JSXGraph board.\n// The function provided by the JSXGraph extension wraps the board up in \n// a div tag so that it's easier to embed in the page.\nvar div = Numbas.extensions.jsxgraph.makeBoard('600px','600px',\n//{boundingBox: [-8,10,8,-10],\n {boundingBox: [x_min,y_max,x_max,y_min], \n axis: false,\n showNavigation: true,\n grid: true\n});\n\n\n\n\n// div.board is the object created by JSXGraph, which you use to \n// manipulate elements\nvar board = div.board; \n\n// create the x-axis.\nvar xaxis = board.create('axis',[[0,0],[1,0]], {strokeColor: 'black', fixed: true,\n name:'x', \n\t\t\t\n withLabel: true, \n\t\t\tlabel: {position: 'rt', // possible values are 'lft', 'rt', 'top', 'bot'\n\t\t\t\t\t offset: [-15, 20] // (in pixels)\n\t\t\t\t\t }\n\n});\nxaxis.removeAllTicks();\nvar xticks = board.create('ticks',[xaxis,60],{\n\n drawLabels: true,\n label: {offset: [-10, -20]},\n minorTicks: 0\n});\n\n\n// create the line y= value which is sin0.\n\n\nboard.create('line',[[x_min,sin0],[x_max,sin0]],{strokeColor:'red',\n //name:'y=sin0', \n name:sin0,\n\t\t\t\n withLabel: true, \n\t\t\tlabel: {position: 'lft', // possible values are 'lft', 'rt', 'top', 'bot'\n\t\t\t\t\t offset: [+25, 10] // (in pixels)\n\t\t\t\t\t }\n\n});\n\n// create the y-axis\n\nvar yaxis = board.create('axis',[[0,0],[0,1]], { strokeColor: 'black', fixed: true,\n name:'sin(x)', \n\t\t\t\n withLabel: true, \n\t\t\tlabel: {position: 'top', // possible values are 'lft', 'rt', 'top', 'bot'\n\t\t\t\t\t offset: [-45, 240] // (in pixels)\n\t\t\t\t\t }\n\n});\n\n\nyaxis.removeAllTicks();\nvar yticks = board.create('ticks',[yaxis,1],{\ndrawLabels: true,\nlabel: {offset: [-20, 0]},\nminorTicks: 0\n});\n\n\n // PUT YOUR FUNCTION HERE\n\n// sin (x) in degrees\nboard.create('functiongraph',[function(x){ return Math.sin(x*(Math.PI/180));},x_min,x_max]);\n//board.create('functiongraph',[function(x){ return Math.sin(x*(Math.PI/180))+v;},-360,360],{ strokeColor: 'red'});\n//board.create('functiongraph',[function(x){ return Math.sin(x*(Math.PI/180))-(v+1);},-360,360],{ strokeColor: 'black'});\n//Change axis range from -360 tp +360 y from -8 to +8 \n\n//board.create('functiongraph',[function(x){ return Math.exp(x);},x_min,x_max]);\n//board.create('functiongraph',[function(x){ return Math.log(x);},x_min,x_max]);\n//board.create('functiongraph',[function(x){ return (x);},x_min,x_max]);\n\n\n//board.create('functiongraph',[function(x){ return (x-a)*(x-b);},-8,8]);\n//board.create('functiongraph',[function(x){ return (x-a)*(x-b)+v;},-8,8],{ strokeColor: 'red'});\n\n//board.create('functiongraph',[function(x){ return x*x;},-8,8]);\n//board.create('functiongraph',[function(x){ return x*x+v;},-8,8],{ strokeColor: 'red'});\n//board.create('functiongraph',[function(x){ return x*x-(v+1);},-8,8],{ strokeColor: 'black'});\n\n\n//board.create('functiongraph',[function(x){ return x*x;},-8,8]);\n//board.create('functiongraph',[function(x){ return (x-v)*(x-v);},-8,8],{ strokeColor: 'red'});\n//board.create('functiongraph',[function(x){ return (x+v+1)*(x+v+1);},-8,8],{ strokeColor: 'black'});\n\n//board.create('functiongraph',[function(x){ return x*x;},-8,8]);\n//board.create('functiongraph',[function(x){ return v*(x)*(x);},-8,8],{ strokeColor: 'red'});\n//board.create('functiongraph',[function(x){ return (1/v)*(x)*(x);},-8,8],{ strokeColor: 'black'});\n\n//board.create('functiongraph',[function(x){ return (x)*(x)+v;},-8,8]);\n//board.create('functiongraph',[function(x){ return -((x)*(x)+v);},-8,8],{ strokeColor: 'red'});\n//board.create('functiongraph',[function(x){ return -(x)*(x);},-8,8],{ strokeColor: 'black'});\n\n\n\n\n\n\nreturn div;"}}, "advice": "", "parts": [{"showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "scripts": {}, "marks": 0, "variableReplacements": [], "type": "gapfill", "gaps": [{"allowFractions": false, "precision": "2", "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "mustBeReducedPC": 0, "marks": 1, "strictPrecision": false, "type": "numberentry", "minValue": "arcsin({sin0)*180/pi", "correctAnswerFraction": false, "mustBeReduced": false, "correctAnswerStyle": "plain", "precisionPartialCredit": 0, "showCorrectAnswer": true, "precisionType": "dp", "scripts": {}, "maxValue": "arcsin({sin0)*180/pi", "variableReplacements": [], "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "precisionMessage": "

You have not given your answer to the correct precision.

"}, {"allowFractions": false, "precision": "2", "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "mustBeReducedPC": 0, "marks": 1, "strictPrecision": false, "type": "numberentry", "minValue": "(pi-arcsin({sin0}))*180/pi", "correctAnswerFraction": false, "mustBeReduced": false, "correctAnswerStyle": "plain", "precisionPartialCredit": 0, "showCorrectAnswer": true, "precisionType": "dp", "scripts": {}, "maxValue": "(pi-arcsin({sin0}))*180/pi", "variableReplacements": [], "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "precisionMessage": "You have not given your answer to the correct precision."}], "prompt": "

Calulate the solutions to the equation \$sin(x)=\\var{sin0}\$  in the range \$0 \\leqslant x \\leqslant 360\$

\n

Give your values of \$x\$ in assending order to 2 decimal places.

\n

The smallest value is \$x=\\;\$  [[0]]

\n

\n

The largest value is \$x=\\;\$ [[1]]

\n

", "showFeedbackIcon": true}], "ungrouped_variables": ["a", "x2", "b", "y2", "c", "v", "sin0", "random"], "preamble": {"js": "", "css": ""}, "name": "mock_exam Finding multipe solutions of sin(x)= (in degrees 0 to 360) WORKING", "variablesTest": {"maxRuns": 100, "condition": ""}, "tags": [], "variable_groups": [], "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

Given the original formula the student enters the transformed formula

\n

"}, "rulesets": {}, "extensions": ["jsxgraph"], "statement": "", "variables": {"x2": {"description": "", "group": "Ungrouped variables", "name": "x2", "templateType": "anything", "definition": "random(-3..3 except -1..1)"}, "sin0": {"description": "", "group": "Ungrouped variables", "name": "sin0", "templateType": "anything", "definition": "random/10"}, "v": {"description": "", "group": "Ungrouped variables", "name": "v", "templateType": "anything", "definition": "random(2..4)"}, "b": {"description": "", "group": "Ungrouped variables", "name": "b", "templateType": "anything", "definition": "random(-5..5 except [0,a,-a])"}, "a": {"description": "", "group": "Ungrouped variables", "name": "a", "templateType": "anything", "definition": "random(-4..4 except 0)"}, "y2": {"description": "", "group": "Ungrouped variables", "name": "y2", "templateType": "anything", "definition": "x2*a+b"}, "c": {"description": "", "group": "Ungrouped variables", "name": "c", "templateType": "anything", "definition": "a*b"}, "random": {"description": "", "group": "Ungrouped variables", "name": "random", "templateType": "anything", "definition": "random(2..9)"}}, "type": "question", "contributors": [{"name": "steve kilgallon", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/268/"}]}]}], "contributors": [{"name": "steve kilgallon", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/268/"}]}