// Numbas version: exam_results_page_options {"name": "Nick's copy of Differentiation: Displacement-time to velocity-time graphs", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"variablesTest": {"maxRuns": 100, "condition": ""}, "functions": {"plot": {"parameters": [["q", "number"], ["n", "number"], ["a", "number"], ["b", "number"], ["c", "number"], ["d", "number"]], "type": "html", "language": "javascript", "definition": "//The variable q randomises which style of graph you get: linear, quadratic or piecewise linear\n//The variable n controls whether you are plotting the question, the correct answer or one of three incorrect answers.\n//a,b,c and d are variables that vary parameters in the graphs, e.g. gradient, etc.\n\n\n\n//Maximum and minimum of graph goes here\n\nvar x_min = -5;\nvar x_max = 5;\nvar y_min = -6;\nvar y_max = 6;\n\n\n// Make the JSXGraph board.\nvar div = Numbas.extensions.jsxgraph.makeBoard('400px','400px',\n {boundingBox: [x_min,y_max,x_max,y_min], \n axis: false,\n showNavigation: false,\n grid: true\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 and y-axis\nvar xaxis = board.create('axis',[[0,0],[1,0]],\n {name:'t', \n\t\t\t withLabel: true, \n\t\t\t label: {position: 'rt', \n\t\t\t\t\t offset: [-15, 10] // (in pixels)\n\t\t\t\t\t }\n });\n\n// create the y-axis\nvar yaxis = board.create('axis',[[0,0],[0,1]]);\n\n\n\n \n// FUNCTIONS DEFINED HERE\n\n\nswitch(q) {\n case 1:\n var f1 = function(x) {return b*(x-a)+c;}\n var f2 = function(x) {return b;}\n var f3 = function(x) {return -b;}\n var f4 = function(x) {return b+1;}\n var f5 = function(x) {return b*(x-a)+c;}\n break;\n \n case 2:\n var f1 = function(x) {return a*(x+b)*(x+d);}\n var f2 = function(x) {return a*(2*x+b+d);}\n var f3 = function(x) {return -a*(2*x+b+d);}\n var f4 = function(x) {return a*(2*(x-1)+b+d);}\n var f5 = function(x) {return -a*(2*(x-1)+b+d);}\n break;\n \n case 3:\n var f1 = function(x) {\n if ((x-a)<0)\n return b*(x-a)+c;\n else\n return d*(x-a)+c;\n }\n var f2 = function(x) {\n if ((x-a)<0)\n return b;\n else\n return d;\n }\n var f3 = function(x) {\n if ((x-a-1)<0)\n return b;\n else\n return d;\n }\n var f4 = function(x) {\n if ((x-a)<0)\n return d;\n else\n return b;\n }\n var f5 = function(x) {\n if ((x-a)<0)\n return b-1;\n else\n return d-1;\n }\n break;\n \n} \n \n \n \n\n\n// PLOT THE FUNCTION\n\nswitch(n) {\n case 1:\n board.create('functiongraph', [f1], {strokeWidth:3});\n break;\n \n case 2:\n board.create('functiongraph', [f2], {strokeWidth:3});\n break;\n \n case 3:\n board.create('functiongraph', [f3], {strokeWidth:3});\n break;\n \n case 4:\n board.create('functiongraph', [f4], {strokeWidth:3});\n break;\n \n case 5:\n board.create('functiongraph', [f5], {strokeWidth:3});\n break;\n}\n\n\nreturn div;"}}, "tags": [], "extensions": ["jsxgraph"], "name": "Nick's copy of Differentiation: Displacement-time to velocity-time graphs", "variable_groups": [], "rulesets": {}, "ungrouped_variables": ["a", "b", "c", "d", "q"], "variables": {"d": {"definition": "[b[0]+random(-2..2 except 0),\n b[1]+random(-2..2 except 0),\n b[2]+random(-2..2 except 0),\n b[3]+random(-2..2 except 0)]", "templateType": "anything", "name": "d", "group": "Ungrouped variables", "description": ""}, "b": {"definition": "shuffle([-2,-1,1,2])", "templateType": "anything", "name": "b", "group": "Ungrouped variables", "description": ""}, "c": {"definition": "shuffle([-2,-1,1,2])", "templateType": "anything", "name": "c", "group": "Ungrouped variables", "description": ""}, "q": {"definition": "[1,3,random(2..3),2]", "templateType": "anything", "name": "q", "group": "Ungrouped variables", "description": ""}, "a": {"definition": "shuffle([-2,-1,1,2])", "templateType": "anything", "name": "a", "group": "Ungrouped variables", "description": ""}}, "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. There are four such questions.

\n

If the displacement-time graph is a straight line, then the velocity can be calculated via the gradient.

\n

If the displacement-time graph is curvy, then the correct graph can be found by considering the following: when is the velocity positive, when is the velocity negative and when is the velocity zero.

", "parts": [{"scripts": {}, "type": "m_n_2", "maxMarks": "1", "maxAnswers": "1", "showFeedbackIcon": true, "warningType": "none", "distractors": ["", "", "", ""], "matrix": ["1", 0, 0, 0], "showCorrectAnswer": true, "prompt": "

The graph below is the displacement-time graph of a body.

\n

{plot(q[0],1,{a[0]},{b[0]},{c[0]},{d[0]})}

\n

Select the graph that shows the corresponding velocity-time graph.

\n

", "displayType": "checkbox", "customMarkingAlgorithm": "", "minAnswers": "1", "extendBaseMarkingAlgorithm": true, "displayColumns": 0, "minMarks": "0", "choices": ["

{plot(q[0],2,{a[0]},{b[0]},{c[0]},{d[0]})}

", "

{plot(q[0],3,{a[0]},{b[0]},{c[0]},{d[0]})}

", "

{plot(q[0],4,{a[0]},{b[0]},{c[0]},{d[0]})}

", "

{plot(q[0],5,{a[0]},{b[0]},{c[0]},{d[0]})}

"], "marks": 0, "shuffleChoices": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "unitTests": []}, {"scripts": {}, "type": "m_n_2", "maxMarks": "1", "maxAnswers": "1", "showFeedbackIcon": true, "warningType": "none", "distractors": ["", "", "", ""], "matrix": ["1", 0, 0, 0], "showCorrectAnswer": true, "prompt": "

The graph below is the displacement-time graph of a body.

\n

{plot(q[1],1,{a[1]},{b[1]},{c[1]},{d[1]})}

\n

Select the graph that shows the corresponding velocity-time graph.

\n

", "displayType": "checkbox", "customMarkingAlgorithm": "", "minAnswers": "1", "extendBaseMarkingAlgorithm": true, "displayColumns": 0, "minMarks": 0, "choices": ["

{plot(q[1],2,{a[1]},{b[1]},{c[1]},{d[1]})}

", "

{plot(q[1],3,{a[1]},{b[1]},{c[1]},{d[1]})}

", "

{plot(q[1],4,{a[1]},{b[1]},{c[1]},{d[1]})}

", "

{plot(q[1],5,{a[1]},{b[1]},{c[1]},{d[1]})}

"], "marks": 0, "shuffleChoices": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "unitTests": []}, {"scripts": {}, "type": "m_n_2", "maxMarks": "1", "maxAnswers": "1", "showFeedbackIcon": true, "warningType": "none", "distractors": ["", "", "", ""], "matrix": ["1", 0, 0, 0], "showCorrectAnswer": true, "prompt": "

The graph below is the displacement-time graph of a body.

\n

{plot(q[2],1,{a[2]},{b[2]},{c[2]},{d[2]})}

\n

Select the graph that shows the corresponding velocity-time graph.

\n

", "displayType": "checkbox", "customMarkingAlgorithm": "", "minAnswers": "1", "extendBaseMarkingAlgorithm": true, "displayColumns": 0, "minMarks": 0, "choices": ["

{plot(q[2],2,{a[2]},{b[2]},{c[2]},{d[2]})}

", "

{plot(q[2],3,{a[2]},{b[2]},{c[2]},{d[2]})}Choice 2

", "

{plot(q[2],4,{a[2]},{b[2]},{c[2]},{d[2]})}

", "

{plot(q[2],5,{a[2]},{b[2]},{c[2]},{d[2]})}

"], "marks": 0, "shuffleChoices": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "unitTests": []}, {"scripts": {}, "type": "m_n_2", "maxMarks": "1", "maxAnswers": "1", "showFeedbackIcon": true, "warningType": "none", "distractors": ["", "", "", ""], "matrix": ["1", 0, 0, 0], "showCorrectAnswer": true, "prompt": "

The graph below is the displacement-time graph of a body.

\n

{plot(q[3],1,{a[3]},{b[3]},{c[3]},{d[3]})}

\n

Select the graph that shows the corresponding velocity-time graph.

\n

", "displayType": "checkbox", "customMarkingAlgorithm": "", "minAnswers": "1", "extendBaseMarkingAlgorithm": true, "displayColumns": 0, "minMarks": 0, "choices": ["

{plot(q[3],2,{a[3]},{b[3]},{c[3]},{d[3]})}

", "

{plot(q[3],3,{a[3]},{b[3]},{c[3]},{d[3]})}

", "

{plot(q[3],4,{a[3]},{b[3]},{c[3]},{d[3]})}

", "

{plot(q[3],5,{a[3]},{b[3]},{c[3]},{d[3]})}

"], "marks": 0, "shuffleChoices": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "unitTests": []}], "preamble": {"js": "", "css": ""}, "statement": "", "type": "question", "contributors": [{"name": "Nick Walker", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2416/"}]}]}], "contributors": [{"name": "Nick Walker", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2416/"}]}