// Numbas version: finer_feedback_settings {"name": "simon's copy of Block sliding down a slope (with graphic)", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "simon's copy of Block sliding down a slope (with graphic)", "tags": [], "extensions": ["jsxgraph"], "parts": [{"correctAnswerFraction": false, "prompt": "

Find the normal reaction, $R \\ \\mathrm{N}$ between the block and the plane, to 3 decimal places.

", "scripts": {}, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "maxValue": "R", "type": "numberentry", "allowFractions": false, "minValue": "R", "correctAnswerStyle": "plain", "showCorrectAnswer": true, "marks": 1, "notationStyles": ["plain", "en", "si-en"]}, {"correctAnswerFraction": false, "precisionMessage": "You have not given your answer to the correct precision.", "scripts": {}, "showPrecisionHint": false, "type": "numberentry", "minValue": "mu", "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "maxValue": "mu", "precisionType": "dp", "strictPrecision": false, "showCorrectAnswer": true, "allowFractions": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain", "precision": "3", "marks": 1, "prompt": "

Using $R$ find the coefficient of friction, $\\mu$, between the block and the plane, to 3 decimal places.

", "precisionPartialCredit": 0}, {"correctAnswerFraction": false, "precisionMessage": "You have not given your answer to the correct precision.", "scripts": {}, "showPrecisionHint": false, "type": "numberentry", "minValue": "v^2/2*a", "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "maxValue": "v^2/2*a", "precisionType": "dp", "strictPrecision": false, "showCorrectAnswer": true, "allowFractions": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain", "precision": "3", "marks": 1, "prompt": "

Suppose that the block hits the bottom of the slope at a speed of $\\var{v}\\mathrm{ms^{-1}}$. To 3 decimal places, how far in metres ($\\mathrm{m}$) has the block slid from its initial position?

", "precisionPartialCredit": 0}], "functions": {"draw_block": {"type": "html", "language": "javascript", "parameters": [], "definition": "// Takes variables\n\n// showing K or C?\n//k_c = Numbas.jme.unwrapValue(scope.variables.k_c_switch);\n//\n//if (k_c = 0) {\n// var k_c_corr =0;\n// var k_c_str=\"K\";\n//} else {\n// var k_c_corr =-273;\n// var k_c_str=\"\u00b0C\";\n//}\n\n//Set values\ntheta = Numbas.jme.unwrapValue(scope.variables.theta);\nr_theta = theta * Math.PI / 180. \n//et = Numbas.jme.unwrapValue(scope.variables.end_temp)+k_c_corr;\n//pt1 = Numbas.jme.unwrapValue(scope.variables.phase1_temp)+k_c_corr;\n//pt2 = Numbas.jme.unwrapValue(scope.variables.phase2_temp)+k_c_corr;\n\n\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('300px','260px',\n//{boundingBox: [-0.1,-0.1,1.,1.],\n {boundingBox: [1.,0.8,-0.1,-0.1],\n axis: false,\n showNavigation: false,\n grid: false\n });\n\n// div.board is the object created by JSXGraph, which you use to\n// manipulate elements\nvar board = div.board;\n\n\n\n// create the x-axis.\n//var xaxis = board.create('line',[[0,0],[1,0]], {strokeColor: 'black', fixed: true});\n//var xticks = board.create('ticks',[xaxis,20],{\n// drawLabels: true,\n// minorTicks: 0\n//});\n\n// create the y-axis\n\n//var yaxis = board.create('line',[[0,0],[0,1]], { strokeColor: 'black', fixed: true });\n//var yticks = board.create('ticks',[yaxis,parseInt((et-st)/50.)*10],{\n//drawZero:true,\n//drawLabels: true,\n//label: {offset: [20, 0]},\n//minorTicks: 0\n//});\n\n\n// each line needs four coordinates start x,y and end x,y - these can then all be rotated\n\n// the slope itself\n\nvar l1_x1=0.\nvar l1_x2=0.9\nvar l1_y1=0.\nvar l1_y2=0.\n\n\n\t// the left edge of the box \n\nvar l2_x1=0.3\nvar l2_x2=0.3\nvar l2_y1=0\nvar l2_y2=0.2\n\n\t\t// the top edge of the box \n\nvar l3_x1=0.3\nvar l3_x2=0.6\nvar l3_y1=0.2\nvar l3_y2=0.2\n\t\t\t\n\t\t\t// the right edge of the box \n\nvar l4_x1=0.6\nvar l4_x2=0.6\nvar l4_y1=0.2\nvar l4_y2=0.\n\n\n\n\n//each line must be rotated by theta to get to the correct angle\n\n\n// the slope itself\n\nvar ql1_x1=l1_x1*Math.cos(r_theta)-l1_y1*Math.sin(r_theta)\nvar ql1_y1=l1_x1*Math.sin(r_theta)-l1_y1*Math.cos(r_theta)\nvar ql1_x2=l1_x2*Math.cos(r_theta)-l1_y2*Math.sin(r_theta)\nvar ql1_y2=l1_x2*Math.sin(r_theta)-l1_y2*Math.cos(r_theta)\n\n\t// the left edge of the box \n\nvar ql2_x1=l2_x1*Math.cos(r_theta)-l2_y1*Math.sin(r_theta)\nvar ql2_y1=l2_x1*Math.sin(r_theta)+l2_y1*Math.cos(r_theta)\nvar ql2_x2=l2_x2*Math.cos(r_theta)-l2_y2*Math.sin(r_theta)\nvar ql2_y2=l2_x2*Math.sin(r_theta)+l2_y2*Math.cos(r_theta)\n\n\t\t// the top edge of the box \n\nvar ql3_x1=l3_x1*Math.cos(r_theta)-l3_y1*Math.sin(r_theta)\nvar ql3_y1=l3_x1*Math.sin(r_theta)+l3_y1*Math.cos(r_theta)\nvar ql3_x2=l3_x2*Math.cos(r_theta)-l3_y2*Math.sin(r_theta)\nvar ql3_y2=l3_x2*Math.sin(r_theta)+l3_y2*Math.cos(r_theta)\n\t\t\t\n\t\t\t// the right edge of the box \n\nvar ql4_x1=l4_x1*Math.cos(r_theta)-l4_y1*Math.sin(r_theta)\nvar ql4_y1=l4_x1*Math.sin(r_theta)+l4_y1*Math.cos(r_theta)\nvar ql4_x2=l4_x2*Math.cos(r_theta)-l4_y2*Math.sin(r_theta)\nvar ql4_y2=l4_x2*Math.sin(r_theta)+l4_y2*Math.cos(r_theta)\n\n\n\n\n//var block = board.create('polygon',[ [0.3,0], [0.3,0.2] , [0.6,0.2] ,[0.6,0] ] );\n\n//\n//slope 1\nvar line1 = board.create('line',[[l1_x1,l1_y1],[l1_x2,l1_y2]], {straightFirst:true, straightLast:true, strokeColor: 'black', fixed: true });\nvar line1b = board.create('line',[[ql1_x1,ql1_y1],[ql1_x2,ql1_y2]], {straightFirst:false, straightLast:true, strokeColor: 'black', fixed: true });\nvar line2 = board.create('line',[[ql2_x1,ql2_y1],[ql2_x2,ql2_y2]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar line3 = board.create('line',[[ql3_x1,ql3_y1],[ql3_x2,ql3_y2]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar line4 = board.create('line',[[ql4_x1,ql4_y1],[ql4_x2,ql4_y2]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n//var slope6 = board.create('line',[[4,pt1],[20,pt2]], {dash:2,straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n//var dash1 = board.create('line',[[s1sz+4,st-10],[s1sz+4,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//var dash2 = board.create('line',[[s1sz+8,st-10],[s1sz+8,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//var dash3 = board.create('line',[[s1sz+s3sz+8,st-10],[s1sz+s3sz+8,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//var dash4 = board.create('line',[[s1sz+s3sz+12,st-10],[s1sz+s3sz+12,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n\n//label the y-axis\nvar label = board.create('text',[0.25,0.05,theta+'\\xB0'],{fontSize:20});\n\n\n// and return the container div\nreturn div;"}}, "variablesTest": {"condition": "mu<1", "maxRuns": 100}, "variable_groups": [], "statement": "

{draw_block()}

\n

A block of mass $\\var{mass}\\mathrm{kg}$ slides down a rough plane which is inclined at an angle $\\theta = \\var{theta}^{\\circ}$ to the horizontal. The mass begins at rest and accelerates at $\\var{a}\\mathrm{ms^{-2}}$.

\n

The acceleration due to gravity is $g=9.8\\mathrm{ms^{-2}}.$

", "ungrouped_variables": ["mass", "theta", "a", "R", "mu", "v", "s", "slide_distance"], "rulesets": {}, "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

A copy of Amy Chadwicks block question, with adaptions to provide a diagram for the student.

\n

A block of given mass is sliding down the plane, with given acceleration. Find the normal reaction force, the coefficient of friction, and the distance travelled before reaching a given speed.

"}, "preamble": {"css": "", "js": ""}, "advice": "

a)

\n

To find the normal reaction force $R$, we resolve the forces perpendicular to the plane.

\n

\\begin{align}
R - mg \\cos \\theta & = 0, \\\\
R & = mg \\cos \\theta, \\\\
& = (\\var{mass} \\times 9.8) \\cos (\\var{theta}^{\\circ}), \\\\
& = \\var{R} \\ \\mathrm{N}.
\\end{align}

\n

b)

\n

To find the coefficient of friction, $\\mu$, we resolve parallel to the plane and use our $R$ value from part a).

\n

\\begin{align}
mg \\cos (90^{\\circ} - \\theta) - \\mu R & = ma, \\\\
\\mu & = \\frac{mg \\cos(90^{\\circ} - \\theta) - ma}{R}, \\\\
& = \\frac{ (\\var{mass} \\times 9.8) \\cos (\\var{90 - theta}^{\\circ}) - (\\var{mass} \\times \\var{a})}{\\var{R}}, \\\\
& = \\var{precround(mu,3)}. \\end{align}

\n

The coefficient of friction between the block and the plane is $\\var{precround(mu,3)}$.

\n

c)

\n

This question can be solved using the SUVAT equations.

\n

We know that the block was initially at rest, so $u = 0$.

\n

The acceleration $a = \\var{a}$.

\n

The final velocity $v = \\var{v}$.

\n

We can use the equation $v^2 = u^2 + 2as$, and solve for the distance, $s$.

\n

\\begin{align}
v^2 & = u^2 + 2 as, \\\\
\\var{v}^2 & = 0 + (2 \\times \\var{a}s), \\\\
s & = \\simplify[]{{v}/(2*{a})}, \\\\
& = \\var{precround(slide_distance,3)}\\mathrm{m}. \\end{align}

\n

The block slid $\\var{precround(v^2/2*a,3)}\\mathrm{m}$ down the slope before reaching the given speed.

", "variables": {"a": {"description": "

The acceleration of the block down the slope.

", "templateType": "randrange", "name": "a", "group": "Ungrouped variables", "definition": "random(2..4.5#0.25)"}, "slide_distance": {"description": "

Copy of s for the program

", "templateType": "anything", "name": "slide_distance", "group": "Ungrouped variables", "definition": "s"}, "mass": {"description": "

The mass of the block.

", "templateType": "randrange", "name": "mass", "group": "Ungrouped variables", "definition": "random(0.25..10#0.25)"}, "theta": {"description": "

The angle of the slope.

", "templateType": "randrange", "name": "theta", "group": "Ungrouped variables", "definition": "random(30..60#1)"}, "v": {"description": "", "templateType": "randrange", "name": "v", "group": "Ungrouped variables", "definition": "random(0.5..5#0.25)"}, "s": {"description": "

The distance the block slides before it reaches the given velocity.

", "templateType": "anything", "name": "s", "group": "Ungrouped variables", "definition": "v^2/(2*a)"}, "R": {"description": "

The normal reaction force of the plane on the block, rounded to 3 d.p.

", "templateType": "anything", "name": "R", "group": "Ungrouped variables", "definition": "precround(mass*9.8*cos(radians(theta)),3)"}, "mu": {"description": "

The coefficient of friction between the block and the plane.

", "templateType": "anything", "name": "mu", "group": "Ungrouped variables", "definition": "(mass*9.8*cos(radians(90-theta))-mass*a)/R"}}, "type": "question", "contributors": [{"name": "simon warwick", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1264/"}]}]}], "contributors": [{"name": "simon warwick", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1264/"}]}