// Numbas version: exam_results_page_options {"name": "Integral of a graph. Version I", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Integral of a graph. Version I", "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

A graph is drawn. A student is to identify the derivative of this graph from four other graphs.

\n

\n

Version II. Graph is horizontal

\n

Version III. Graph is cubic

\n

Version IV. Graph is sinusoidal

"}, "extensions": ["jsxgraph"], "type": "question", "statement": "", "variable_groups": [], "preamble": {"css": "", "js": ""}, "variables": {"root2": {"templateType": "anything", "name": "root2", "description": "", "group": "Ungrouped variables", "definition": "root1 - random(2..4 #0.5)"}, "root1": {"templateType": "anything", "name": "root1", "description": "", "group": "Ungrouped variables", "definition": "random(1..3 #0.5)"}, "a": {"templateType": "anything", "name": "a", "description": "", "group": "Ungrouped variables", "definition": "random(1,-1)"}}, "tags": [], "parts": [{"distractors": ["", "", "", ""], "matrix": ["2", "0", 0, 0], "displayColumns": 0, "variableReplacements": [], "maxMarks": "2", "unitTests": [], "choices": ["

{plotpoly(2,{root1},{root2},{a})}

", "

{plotpoly(3,{root1},{root2},{a})}

", "

{plotpoly(4,{root1},{root2},{a})}

", "

{plotpoly(5,{root1},{root2},{a})}

"], "showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "prompt": "

Here is a graph of \$f\$.

\n

{plotpoly(1,{root1},{root2},{a})}

\n

Which of the graphs below could be the graph of an integral of \$f\$.

\n

", "minMarks": 0, "displayType": "radiogroup", "shuffleChoices": true, "extendBaseMarkingAlgorithm": true, "scripts": {}, "type": "1_n_2", "customMarkingAlgorithm": "", "marks": 0}], "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["root1", "root2", "a"], "functions": {"plotpoly": {"type": "html", "parameters": [["n", "number"], ["r1", "number"], ["r2", "number"], ["a", "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 = -4;\nvar x_max = 4;\nvar y_min = -10;\nvar y_max = 10;\n\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('400px','400px',\n//{boundingBox: [-8,10,8,-10],\n {boundingBox: [x_min,y_max,x_max,y_min], \n axis: false,\n showNavigation: false,\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('line',[[0,0],[1,0]], { strokeColor: 'black', fixed: true});\nvar xticks = board.create('ticks',[xaxis,1],{\n drawLabels: false,\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,1],{\ndrawLabels: false,\nlabel: {offset: [-20, 0]},\nminorTicks: 0\n});\n\n\n // PUT YOUR FUNCTION HERE\n\nb=(r1+r2)/2;\nc=r1*r2;\n\nd2=(Math.floor(Math.random()*2)*2 - 1); //This produces -1 or 1 with 50% odds\nd3=(Math.floor(Math.random()*2)*2 - 1)*2; //This produces -2 or 2 with 50% odds\nd4=(Math.floor(Math.random()*2)*2 - 1)*3; //This produces -3 or 3 with 50% odds\nd5=(Math.floor(Math.random()*2)*2 - 1); //This produces -1 or 1 with 50% odds\n\nif(n==1)\n board.create('functiongraph',[function(x){ return a*(x+r1)*(x+r2);},x_min,x_max]);\nelse if (n==2)\n board.create('functiongraph',[function(x){ return a*(x*x*x/3 + x*x*b + c*x)+d2;},x_min,x_max]);\nelse if (n==3)\n board.create('functiongraph',[function(x){ return -a*(x*x*x/3 + x*x*b + c*x)+d3;},x_min,x_max]);\nelse if (n==4)\n board.create('functiongraph',[function(x){ return a*(x*x*x/3 + x*x*(b-1) + c*x)+d4;},x_min,x_max]);\nelse if (n==5)\n board.create('functiongraph',[function(x){ return -a*(x*x*x/3 + x*x*b + (c-1)*x)+d5;},x_min,x_max]);\n\nreturn div;"}}, "rulesets": {}, "advice": "", "contributors": [{"name": "Lovkush Agarwal", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1358/"}, {"name": "Xiaodan Leng", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2146/"}]}]}], "contributors": [{"name": "Lovkush Agarwal", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1358/"}, {"name": "Xiaodan Leng", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2146/"}]}