// Numbas version: exam_results_page_options {"name": "Test", "metadata": {"description": "

Answer all the questions

", "licence": "All rights reserved"}, "duration": 120, "percentPass": "75", "showQuestionGroupNames": true, "shuffleQuestionGroups": false, "showstudentname": true, "question_groups": [{"name": "Wonder", "pickingStrategy": "all-ordered", "pickQuestions": 1, "questionNames": ["", "", "", "", ""], "variable_overrides": [[], [], [], [], []], "questions": [{"name": "Application of differentiation (optimisation)", "extensions": [], "custom_part_types": [], "resources": [["question-resources/Picture1_6woS8OC.jpg", "/srv/numbas/media/question-resources/Picture1_6woS8OC.jpg"]], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Martin Jones", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/145/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "

A metal box will be constructed. The base length must be three times the base width, and the volume must be {volume} m3. The metal used to build the top and bottom costs £{tb_cost} per m2 and the metal used to build the sides costs just £{side_cost} per m2.

\n

", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"n": {"name": "n", "group": "Ungrouped variables", "definition": "random(2..5)", "description": "", "templateType": "anything", "can_override": false}, "volume": {"name": "volume", "group": "Ungrouped variables", "definition": "3*random(10..30)", "description": "", "templateType": "anything", "can_override": false}, "tb_cost": {"name": "tb_cost", "group": "Ungrouped variables", "definition": "random(8..12)", "description": "", "templateType": "anything", "can_override": false}, "side_cost": {"name": "side_cost", "group": "Ungrouped variables", "definition": "random(3..tb_cost-2)", "description": "", "templateType": "anything", "can_override": false}, "w_opt": {"name": "w_opt", "group": "Ungrouped variables", "definition": "(2*side_cost*volume/(9*tb_cost))^(1/3)", "description": "", "templateType": "anything", "can_override": false}, "secder": {"name": "secder", "group": "Ungrouped variables", "definition": "16*side_cost*volume/3/w_opt^3+12*tb_cost", "description": "", "templateType": "anything", "can_override": false}, "h_opt": {"name": "h_opt", "group": "Ungrouped variables", "definition": "volume/3/w_opt^2", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["n", "volume", "tb_cost", "side_cost", "w_opt", "secder", "h_opt"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Enter a formula for the volume of the box in terms of $w$ and $h$, simplifying where possible.

", "answer": "3*w^2*h", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": true, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "musthave": {"strings": ["w^2"], "showStrings": false, "partialCredit": 0, "message": "Simplify by using $w^2$."}, "valuegenerators": [{"name": "h", "value": ""}, {"name": "w", "value": ""}]}, {"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 volume must be {volume} m3. Use this volume constraint to write $h$ in terms of $w$.

\n

$h=\\;$[[0]]

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Equate the volume to {volume} and rearrange to make $h$ the subject.

"}], "gaps": [{"type": "jme", "useCustomName": true, "customName": "h", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "answer": "{volume/3}/w^2", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}], "sortAnswers": false}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Enter a formula (in terms of $w$ only) for the total area of the top and bottom of the box. Simplify where possible.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Add together the area of the top and the area of the bottom.

"}], "answer": "6*w^2", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

The metal used to build the top and bottom costs £{tb_cost} per m2. Enter a formula for the cost of the top and bottom.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Multiply the area by the cost per square metre.

"}], "answer": "{6*tb_cost}*w^2", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Enter a formula (in terms of $w$ and $h$) for the total area of the four sides of the box.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Add together the area of the 4 sides of the box. Don't include the top or bottom.

"}], "answer": "8*w*h", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": true, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "h", "value": ""}, {"name": "w", "value": ""}]}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

The metal used to build the sides costs £{side_cost} per m2. Enter a formula for the cost of the four sides.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Multiply the area by the cost per square metre.

"}], "answer": "{8*side_cost}*w*h", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": true, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "h", "value": ""}, {"name": "w", "value": ""}]}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Using your answer from part (b), write the formula above in terms of $w$ only.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Substitute your formula for $h$ in part (b) into the formula in part (f).

"}], "answer": "{8*side_cost*volume/3}/w", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}, {"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": "

Now write down a formula for the total cost $C$ of building the box in terms of $w$.

\n

$C=\\;$[[0]]

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

This is the cost of the top, bottom and sides. So add together the costs for these.

"}], "gaps": [{"type": "jme", "useCustomName": true, "customName": "cost", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "answer": "{8*side_cost*volume/3}/w+{6*tb_cost}*w^2", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}], "sortAnswers": false}, {"type": "jme", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Differentiate the formula for $C$ to obtain $\\frac{dC}{dw}$.

", "answer": "-{8*side_cost*volume/3}/w^2+{12*tb_cost}*w", "showPreview": true, "checkingType": "absdiff", "checkingAccuracy": 0.001, "failureRate": 1, "vsetRangePoints": 5, "vsetRange": [0, 1], "checkVariableNames": false, "singleLetterVariables": false, "allowUnknownFunctions": true, "implicitFunctionComposition": false, "caseSensitive": false, "valuegenerators": [{"name": "w", "value": ""}]}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Calculate the value of $w$ for which $C$ has a stationary point.

", "stepsPenalty": 0, "steps": [{"type": "information", "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": "

Solve the equation

\n

\\[\\frac{dC}{dw}=0\\]

\n

by collecting all the $w$ terms together, and taking the cube root.

"}], "minValue": "{w_opt}", "maxValue": "{w_opt}", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": "2", "precisionPartialCredit": "100", "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": true, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Verify that the stationary point is a minimum by calculating the second derivative $\\frac{d^2C}{dw^2}$ at this value of $w$. (A positive second derivative implies a minimum.)

", "minValue": "{secder}", "maxValue": "{secder}", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"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": "

Hence enter the dimensions of the box which minimise the cost of materials.

\n

Width: [[0]] m

\n

Length: [[1]] m

\n

Height: [[2]] m

", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "width", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "w_opt", "maxValue": "w_opt", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": "1", "precisionPartialCredit": "100", "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": true, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "length", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "3*w_opt", "maxValue": "3*w_opt", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": "1", "precisionPartialCredit": "100", "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": true, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "height", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "h_opt", "maxValue": "h_opt", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": "1", "precisionPartialCredit": "100", "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": true, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "The Exponential distribution", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Stefan Siegert", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/4982/"}], "tags": [], "metadata": {"description": "

No description

", "licence": "All rights reserved"}, "statement": "

Let the random variable $X$ have an Exponential distribution with rate parameter $\\lambda$:

\n

$X \\sim Exp(\\lambda)$

", "advice": "

The random variable $X\\sim Exp(\\lambda)$ has

\n", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"lambda": {"name": "lambda", "group": "Ungrouped variables", "definition": "random(1 .. 20#1)", "description": "

Rate parameter of the Exponential distribution.

", "templateType": "randrange", "can_override": true}, "lambda2": {"name": "lambda2", "group": "Ungrouped variables", "definition": "random(1 .. 20#1)", "description": "

Rate parameter of the Exponential distribution.

", "templateType": "randrange", "can_override": false}, "lambda3": {"name": "lambda3", "group": "Ungrouped variables", "definition": "random(1 .. 20#1)", "description": "", "templateType": "randrange", "can_override": false}, "lambda4": {"name": "lambda4", "group": "Ungrouped variables", "definition": "random(1 .. 5#0.5)", "description": "", "templateType": "randrange", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["lambda", "lambda2", "lambda3", "lambda4"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "1_n_2", "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 probability density function of $X$ is given by $f_X(x) =  \\dots$ (for $x > 0$)

", "minMarks": 0, "maxMarks": 0, "shuffleChoices": true, "displayType": "radiogroup", "displayColumns": 0, "showCellAnswerState": true, "choices": ["$\\lambda e^{-\\lambda x}$", "$e^{-\\lambda x}$", "$1 - e^{-\\lambda x}$", "$e^{\\lambda x}$"], "matrix": ["2", 0, "1", 0], "distractors": ["", "", "", ""]}, {"type": "1_n_2", "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 cumulative distribution function of $X$ is given by $F_X(x)=  \\dots $ (for $x > 0$

", "minMarks": 0, "maxMarks": 0, "shuffleChoices": true, "displayType": "radiogroup", "displayColumns": 0, "showCellAnswerState": true, "choices": ["$\\lambda e^{-\\lambda x}$", "$\\lambda x$", "$1 - e^{-\\lambda x}$", "$1+e^{\\lambda x}$"], "matrix": ["1", "0", "2", 0], "distractors": ["", "", "", ""]}, {"type": "numberentry", "useCustomName": true, "customName": "Expectation", "marks": "2", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Calculate $E[X]$ when $\\lambda=$ {lambda}.

", "minValue": "1 / lambda", "maxValue": "1 / lambda", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": "50", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "Variance", "marks": "2", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Calculate $Var[X]$ when $\\lambda=$ {lambda2}.

", "minValue": "1 / lambda2^2", "maxValue": "1 / lambda2^2", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": "50", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "Median", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Calculate the Median of $X$ when $\\lambda=$ {lambda3}.

", "minValue": "ln(2) / lambda3", "maxValue": "ln(2) / lambda3", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": "50", "precisionType": "sigfig", "precision": "2", "precisionPartialCredit": "75", "precisionMessage": "You have not given the correct number of significant figures.", "strictPrecision": false, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "Exceedance probability", "marks": "3", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Calculate $P(X >1)$ when $\\lambda=$ {lambda4}.

", "minValue": "exp(-lambda4)", "maxValue": "exp(-lambda4)", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": "50", "precisionType": "sigfig", "precision": "2", "precisionPartialCredit": "65", "precisionMessage": "You have not given the correct number of significant figures.", "strictPrecision": false, "showPrecisionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Multiplication 3 digit by 2 digit", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": [], "metadata": {"description": "

Multiplication algorithm with integers

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

Write the following question down on paper and evaluate it without using a calculator.

\n

If you are unsure of how to do a question, click on Show steps to see the full working. Then, once you understand how to do the question, click on Try another question like this one to start again.

", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"ab0t0last": {"name": "ab0t0last", "group": "2digit", "definition": "mod(ab0t0,10)", "description": "", "templateType": "anything", "can_override": false}, "threedigit3": {"name": "threedigit3", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "aanstho": {"name": "aanstho", "group": "2digit", "definition": "mod((aans-aansone-aansten*10-aanshun*100)/1000,10)", "description": "", "templateType": "anything", "can_override": false}, "aanstth": {"name": "aanstth", "group": "2digit", "definition": "mod((aans-aansone-aansten*10-aanshun*100-aanstho*1000)/10000,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t1": {"name": "ab0t1", "group": "2digit", "definition": "abot[0]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "threedigit2": {"name": "threedigit2", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "ab1t2pluscarry": {"name": "ab1t2pluscarry", "group": "2digit", "definition": "ab1t2+ab1t1carry", "description": "", "templateType": "anything", "can_override": false}, "twodigit1": {"name": "twodigit1", "group": "Ungrouped variables", "definition": "random(11..99 except list(20..90#10) )", "description": "", "templateType": "anything", "can_override": false}, "asum1": {"name": "asum1", "group": "2digit", "definition": "abot[0]*atopnum", "description": "", "templateType": "anything", "can_override": false}, "aanshun": {"name": "aanshun", "group": "2digit", "definition": "mod((aans-aansone-aansten*10)/100,10)", "description": "", "templateType": "anything", "can_override": false}, "abot": {"name": "abot", "group": "2digit", "definition": "[adigs[4],adigs[3]]", "description": "

abot

", "templateType": "anything", "can_override": false}, "threedigit1": {"name": "threedigit1", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "ab1t1last": {"name": "ab1t1last", "group": "2digit", "definition": "mod(ab1t1pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "twodigit3": {"name": "twodigit3", "group": "Ungrouped variables", "definition": "random(11..99 except list(20..90#10) )", "description": "", "templateType": "anything", "can_override": false}, "adigs": {"name": "adigs", "group": "2digit", "definition": "shuffle(1..9)[0..5]", "description": "

we want distinct digits so it is easier to refer to digits unambiguously. 

", "templateType": "anything", "can_override": false}, "ab1t1": {"name": "ab1t1", "group": "2digit", "definition": "abot[1]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "ab1t2carry": {"name": "ab1t2carry", "group": "2digit", "definition": "(ab1t2pluscarry-ab1t2last)/10", "description": "", "templateType": "anything", "can_override": false}, "asum2": {"name": "asum2", "group": "2digit", "definition": "10*abot[1]*atopnum", "description": "

sum2

", "templateType": "anything", "can_override": false}, "atop": {"name": "atop", "group": "2digit", "definition": "[adigs[2],adigs[1],adigs[0]]", "description": "", "templateType": "anything", "can_override": false}, "ab1t0last": {"name": "ab1t0last", "group": "2digit", "definition": "mod(ab1t0,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t2last": {"name": "ab0t2last", "group": "2digit", "definition": "mod(ab0t2pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t1pluscarry": {"name": "ab1t1pluscarry", "group": "2digit", "definition": "ab1t1+ab1t0carry", "description": "", "templateType": "anything", "can_override": false}, "ab1t0": {"name": "ab1t0", "group": "2digit", "definition": "abot[1]*atop[0]", "description": "", "templateType": "anything", "can_override": false}, "ab1t0carry": {"name": "ab1t0carry", "group": "2digit", "definition": "(ab1t0-ab1t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab0t1last": {"name": "ab0t1last", "group": "2digit", "definition": "mod(ab0t1pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t2last": {"name": "ab1t2last", "group": "2digit", "definition": "mod(ab1t2pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t2": {"name": "ab1t2", "group": "2digit", "definition": "abot[1]*atop[2]", "description": "", "templateType": "anything", "can_override": false}, "ab0t2pluscarry": {"name": "ab0t2pluscarry", "group": "2digit", "definition": "ab0t2+ab0t1carry", "description": "", "templateType": "anything", "can_override": false}, "ab0t2carry": {"name": "ab0t2carry", "group": "2digit", "definition": "(ab0t2pluscarry-ab0t2last)/10", "description": "", "templateType": "anything", "can_override": false}, "twodigit2": {"name": "twodigit2", "group": "Ungrouped variables", "definition": "random(11..99 except list(20..90#10) )", "description": "", "templateType": "anything", "can_override": false}, "ab0t0carry": {"name": "ab0t0carry", "group": "2digit", "definition": "(ab0t0-ab0t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab1t1carry": {"name": "ab1t1carry", "group": "2digit", "definition": "(ab1t1pluscarry-ab1t1last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab0t2": {"name": "ab0t2", "group": "2digit", "definition": "abot[0]*atop[2]", "description": "", "templateType": "anything", "can_override": false}, "ab0t1carry": {"name": "ab0t1carry", "group": "2digit", "definition": "(ab0t1pluscarry-ab0t1last)/10", "description": "", "templateType": "anything", "can_override": false}, "abotnum": {"name": "abotnum", "group": "2digit", "definition": "abot[1]*10+abot[0]", "description": "

botnum

", "templateType": "anything", "can_override": false}, "ab0t1pluscarry": {"name": "ab0t1pluscarry", "group": "2digit", "definition": "ab0t1+ab0t0carry", "description": "

ab

", "templateType": "anything", "can_override": false}, "atopnum": {"name": "atopnum", "group": "2digit", "definition": "atop[2]*100+atop[1]*10+atop[0]", "description": "", "templateType": "anything", "can_override": false}, "aans": {"name": "aans", "group": "2digit", "definition": "atopnum*abotnum", "description": "", "templateType": "anything", "can_override": false}, "aansone": {"name": "aansone", "group": "2digit", "definition": "mod(aans,10)", "description": "", "templateType": "anything", "can_override": false}, "aansten": {"name": "aansten", "group": "2digit", "definition": "mod((aans-aansone)/10,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t0": {"name": "ab0t0", "group": "2digit", "definition": "atop[0]*abot[0]", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "\n", "maxRuns": 100}, "ungrouped_variables": ["twodigit1", "twodigit2", "threedigit1", "threedigit2", "twodigit3", "threedigit3"], "variable_groups": [{"name": "2digit", "variables": ["adigs", "atop", "abot", "atopnum", "abotnum", "aans", "ab0t0", "ab0t0last", "ab0t0carry", "ab0t1", "ab0t1pluscarry", "ab0t1last", "ab0t1carry", "ab0t2", "ab0t2pluscarry", "ab0t2last", "ab0t2carry", "ab1t0", "ab1t0last", "ab1t0carry", "ab1t1", "ab1t1pluscarry", "ab1t1last", "ab1t1carry", "ab1t2", "ab1t2pluscarry", "ab1t2last", "ab1t2carry", "asum1", "asum2", "aansone", "aansten", "aanshun", "aanstho", "aanstth"]}], "functions": {}, "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": "

$\\var{atopnum}\\times\\var{abotnum} = $ [[0]]

", "stepsPenalty": "1", "steps": [{"type": "information", "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": "

Generally we set up $\\var{atopnum}\\times\\var{abotnum}$ with the ones and tens columns lined up vertically:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\var{atop[2]}$$\\var{atop[1]}$$\\var{atop[0]}$$\\times$
$\\var{abot[1]}$$\\var{abot[0]}$
$\\phantom{0}$
\n

\n

We need to multiply each digit in the bottom number by each digit in the top number whilst respecting their place values.

\n

\n

We multiply the digits in the ones column, that is, $\\color{green}{\\var{abot[0]}\\times \\var{atop[0]}}$.

\n

Since this is just $\\var{ab0t0}$ we write $\\var{ab0t0}$ under the line in the ones column.

\n

Since this is $\\var{ab0t0}$ we write the $\\var{ab0t0last}$ under the line in the ones column and carry the $\\var{ab0t0carry}$ into the tens column to be dealt with in the next step.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{\\phantom{1}}{\\var{atop[2]}}$$\\overset{\\color{red}{\\var{ab0t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$$\\times$
$\\var{abot[1]}$$\\color{green}{\\var{abot[0]}}$
$\\color{red}{\\var{ab0t0last}}$
\n

\n

\n

We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[1]}}$. 

\n

This just gives us $\\var{ab0t1}$ so we write $\\var{ab0t1}$ under the line in the tens column.

\n

This gives us $\\var{ab0t1}$ so we write this under the line with the $\\var{ab0t1last}$ in the tens column.

\n

This gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1last}$ under the line in the tens column and carry the $\\var{ab0t1carry}$ into the hundreds column to be dealt with in the next step.

\n

This gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1pluscarry}$ under the line in the tens column.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{\\color{red}{\\var{ab0t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$${\\overset{{\\var{ab0t0carry}}}{\\color{green}{\\var{atop[1]}}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\var{abot[1]}$$\\color{green}{\\var{abot[0]}}$
$\\color{red}{\\var{ab0t1last}}$${\\var{ab0t0last}}$
\n

\n

We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[2]}}$. 

\n

This just gives us $\\var{ab0t2}$ so we write $\\var{ab0t2}$ under the line in the hundreds column.

\n

This gives us $\\var{ab0t2}$ so we write this under the line with the $\\var{ab0t2last}$ in the hundreds column.

\n

This gives us $\\var{ab0t2}$ but we have to add the $\\var{ab0t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line with the $\\var{ab0t2last}$ in the hundreds column.

\n

This gives us $\\var{ab0t2}$ but we have to add the $\\var{ab0t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line in the hundreds column.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{{\\var{ab0t1carry}}}{\\color{green}{\\var{atop[2]}}}$ $\\overset{\\phantom{1}}{\\color{green}{\\var{atop[2]}}}$${\\overset{{\\var{ab0t0carry}}}{\\var{atop[1]}}}$ ${\\overset{\\phantom{1}}{\\var{atop[1]}}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\var{abot[1]}$$\\color{green}{\\var{abot[0]}}$
$\\color{red}{\\var{ab0t2carry}}$$\\phantom{0}$$\\color{red}{\\var{ab0t2last}}$${\\var{ab0t1last}}$${\\var{ab0t0last}}$
\n

\n

\n

We are now finished with the digit $\\var{abot[0]}$ and move on to work with the $\\var{abot[1]}$ in the tens column. Since this is really a $\\var{abot[1]*10}$ we place a zero in the ones column on the next line to pad our numbers out. We also cross out or erase any carry marks that we have used.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{\\phantom{1}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\var{abot[1]}$$\\var{abot[0]}$
 $\\var{ab0t2carry}$$\\phantom{0}$${\\var{ab0t2last}}$${\\var{ab0t1last}}$${\\var{ab0t0last}}$ 
$\\color{red}0$ 
\n

\n

We now multiply along the other diagonal, that is, $\\color{green}{\\var{abot[1]}\\times\\var{atop[0]}}$.

\n

Since this is just $\\var{ab1t0}$ we write $\\var{ab1t0}$ under the line in the tens column.

\n

Since this is $\\var{ab1t0}$ we write the $\\var{ab1t0last}$ under the line in the tens column and carry the $\\var{ab1t0carry}$ into the tens column to be dealt with in the next step.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{\\phantom{1}}{\\var{atop[2]}}$$\\overset{\\color{red}{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$$\\times$
$\\color{green}{\\var{abot[1]}}$$\\var{abot[0]}$
$\\var{ab0t2carry}$$\\phantom{0}$${\\var{ab0t2last}}$${\\var{ab0t1last}}$${\\var{ab0t0last}}$
$\\color{red}{\\var{ab1t0last}}$${0}$
\n

\n

\n

We now multiply the digits in the tens column, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[1]}}$. 

\n

This just gives us $\\var{ab1t1}$ so we write $\\var{ab1t1}$ under the line in the hundreds column.

\n

This gives us $\\var{ab1t1}$ so we write this under the line with the $\\var{ab1t1last}$ in the hundreds column.

\n

This gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1last}$ under the line in the hundreds column and carry the $\\var{ab1t1carry}$ into the hundreds column to be dealt with in the next step.

\n

This gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1pluscarry}$ under the line in the hundreds column.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 $\\overset{\\color{red}{\\var{ab1t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$ ${\\overset{{\\var{ab1t0carry}}}{\\color{green}{\\var{atop[1]}}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\color{green}{\\var{abot[1]}}$$\\var{abot[0]}$ 
${\\var{ab0t2carry}}$$\\phantom{0}$${\\var{ab0t2last}}$${\\var{ab0t1last}}$${\\var{ab0t0last}}$ 
$\\color{red}{\\var{ab1t1last}}$${\\var{ab1t0last}}$${0}$ 
\n

\n

\n

\n

\n

We now multiply the final pair of digits, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[2]}}$. 

\n

This just gives us $\\var{ab1t2}$ so we write $\\var{ab1t2}$ under the line in the thousands column.

\n

This gives us $\\var{ab1t2}$ so we write this under the line with the $\\var{ab1t2last}$ in the thousands column.

\n

This gives us $\\var{ab1t2}$ but we have to add the $\\var{ab1t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line with the $\\var{ab1t2last}$ in the thousands column.

\n

This gives us $\\var{ab1t2}$ but we have to add the $\\var{ab1t1carry}$ we carried earlier and so we write $\\var{ab1t2pluscarry}$ under the line in the thousands column.

\n

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{{\\var{ab1t1carry}}}{\\color{green}{\\var{atop[2]}}}$ $\\overset{\\phantom{1}}{\\color{green}{\\var{atop[2]}}}$${\\overset{{\\var{ab1t0carry}}}{{\\var{atop[1]}}}}$ ${\\overset{\\phantom{1}}{\\var{atop[1]}}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\color{green}{\\var{abot[1]}}$$\\var{abot[0]}$ 
  $\\var{ab0t2carry}$$\\phantom{0}$${\\var{ab0t2last}}$${\\var{ab0t1last}}$${\\var{ab0t0last}}$  
$\\color{red}{\\var{ab1t2carry}}$$\\phantom{0}$$\\color{red}{\\var{ab1t2last}}$${\\var{ab1t1last}}$${\\var{ab1t0last}}$${0}$   
\n

\n

\n

We now add the two results to get the total, that is, $\\color{green}{\\var{asum1}+\\var{asum2}}$.

\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\overset{{\\var{ab1t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$ $\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[0]}}$$\\times$
$\\var{abot[1]}$$\\var{abot[0]}$ 
 $\\color{green}{\\var{ab0t2carry}}$$\\phantom{0}$$\\color{green}{\\var{ab0t2last}}$$\\color{green}{\\var{ab0t1last}}$$\\color{green}{\\var{ab0t0last}}$$+$
$\\color{green}{\\var{ab1t2carry}}$$\\phantom{0}$$\\color{green}{\\var{ab1t2last}}$$\\color{green}{\\var{ab1t1last}}$$\\color{green}{\\var{ab1t0last}}$$\\color{green}{0}$  
$\\color{red}{\\var{aanstth}}$ $\\phantom{0}$$\\color{red}{\\var{aanstho}}$$\\color{red}{\\var{aanshun}}$$\\color{red}{\\var{aansten}}$$\\color{red}{\\var{aansone}}$  
\n

\n

\n

The answer is therefore $\\var{aans}$.

"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "aans", "maxValue": "aans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Fractions: adding and subtracting, numerical, already with common denominator", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": [], "metadata": {"description": "

Fractions already have a common denominator. Addition and subtraction 50:50 split, when subtracting, the answer is negative half the time. Students shouldn't have to worry about reducing fractions by design.

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

Express the following as a single fraction (using / as the fraction bar).

", "advice": "

Since both denominators are the same, i.e. $\\var{den}$. We can simply addsubtract the numerators, $\\var{num1}$ and $\\var{num2}$, and put that over the common denominator.

\n

$\\begin{align*}\\dfrac{\\var{num1}}{\\var{den}}+\\dfrac{\\var{num2}}{\\var{den}}&=\\dfrac{\\var{num1}+\\var{num2}}{\\var{den}}\\\\[3pt]&=\\dfrac{\\var{ansNum}}{\\var{den}}\\end{align*}$

\n

$\\begin{align*}\\dfrac{\\var{num1}}{\\var{den}}-\\dfrac{\\var{num2}}{\\var{den}}&=\\dfrac{\\var{num1}-\\var{num2}}{\\var{den}}\\\\[3pt]&=\\dfrac{\\var{ansNum}}{\\var{den}}\\end{align*}$

\n

", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"den": {"name": "den", "group": "Ungrouped variables", "definition": "numbers[2]", "description": "", "templateType": "anything", "can_override": false}, "num1": {"name": "num1", "group": "Ungrouped variables", "definition": "numbers[0]", "description": "", "templateType": "anything", "can_override": false}, "num2": {"name": "num2", "group": "Ungrouped variables", "definition": "numbers[1]", "description": "", "templateType": "anything", "can_override": false}, "addSub": {"name": "addSub", "group": "Ungrouped variables", "definition": "random(-1,1)", "description": "

adding or subtracting

", "templateType": "anything", "can_override": false}, "ansnum": {"name": "ansnum", "group": "Ungrouped variables", "definition": "if(addSub=1,num1+num2,num1-num2)", "description": "", "templateType": "anything", "can_override": false}, "numbers": {"name": "numbers", "group": "Ungrouped variables", "definition": "random(tempnumbers,[tempnumbers[1],tempnumbers[0],tempnumbers[2]])", "description": "", "templateType": "anything", "can_override": false}, "tempnumbers": {"name": "tempnumbers", "group": "Ungrouped variables", "definition": "sort(shuffle([3,5,7,11,13,17,19,23,29])[0..3])", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["tempnumbers", "numbers", "den", "num1", "num2", "addSub", "ansnum"], "variable_groups": [], "functions": {}, "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": "

$\\dfrac{\\var{num1}}{\\var{den}}+\\dfrac{\\var{num2}}{\\var{den}}$ $\\dfrac{\\var{num1}}{\\var{den}}-\\dfrac{\\var{num2}}{\\var{den}}$  $=$ [[0]]

", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "ansNum/den", "maxValue": "ansNum/den", "correctAnswerFraction": true, "allowFractions": true, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Equilibrium of a rigid body: raise pole", "extensions": ["geogebra", "quantities"], "custom_part_types": [{"source": {"pk": 12, "author": {"name": "William Haynes", "pk": 2530}, "edit_page": "/part_type/12/edit"}, "name": "Angle quantity 2020", "short_name": "angle", "description": "

Adjusts all angles to 0 < $\\theta$ < 360.

\n

Accepts '°' and 'deg' as units.

\n

Penalizes if not close enough or no units.

\n

90° = -270° = 450°

", "help_url": "", "input_widget": "string", "input_options": {"correctAnswer": "plain_string(settings['expected_answer']) ", "hint": {"static": true, "value": ""}, "allowEmpty": {"static": true, "value": false}}, "can_be_gap": true, "can_be_step": true, "marking_script": "original_student_scalar:\nmatchnumber(studentAnswer,['plain','en'])[1]\n\nstudent_scalar:\nmod(original_student_scalar,360)\n\n\nstudent_unit:\nstudentAnswer[len(matchnumber(studentAnswer,['plain','en'])[0])..len(studentAnswer)]\n\ninterpreted_unit:\nif(trim(student_unit)='\u00b0','deg',student_unit)\n\ninterpreted_answer:\nqty(mod(student_scalar,360),'deg')\n\nclose:\nwithintolerance(student_scalar, correct_scalar,decimal(settings['close_tol']))\n\ncorrect_scalar:\nmod(scalar(settings['expected_answer']),360)\n\nright:\nwithintolerance(student_scalar, correct_scalar, decimal(settings['right_tol']))\n\ngood_unit:\nsame(qty(1,interpreted_unit),qty(1,'deg'))\n\nmark:\nassert(close,incorrect('Incorrect.');end());\nif(right,correct('Correct angle.'), set_credit(1 - settings['close_penalty'],'Angle is close.'));\nassert(good_unit,sub_credit(settings['unit_penalty'], 'Missing or incorrect units.'))", "marking_notes": [{"name": "original_student_scalar", "description": "

Retuns the scalar part of students answer (which is a quantity) as a number.

", "definition": "matchnumber(studentAnswer,['plain','en'])[1]"}, {"name": "student_scalar", "description": "

Normalize angle with mod 360

", "definition": "mod(original_student_scalar,360)\n"}, {"name": "student_unit", "description": "

matchnumber(studentAnswer,['plain','en'])[0] is a string \"12.34\"

", "definition": "studentAnswer[len(matchnumber(studentAnswer,['plain','en'])[0])..len(studentAnswer)]"}, {"name": "interpreted_unit", "description": "

Allows student to use degree symbol or 'deg' for units.

", "definition": "if(trim(student_unit)='\u00b0','deg',student_unit)"}, {"name": "interpreted_answer", "description": "A value representing the student's answer to this part.", "definition": "qty(mod(student_scalar,360),'deg')"}, {"name": "close", "description": "", "definition": "withintolerance(student_scalar, correct_scalar,decimal(settings['close_tol']))"}, {"name": "correct_scalar", "description": "

Normalize expected_answer with mod 360

", "definition": "mod(scalar(settings['expected_answer']),360)"}, {"name": "right", "description": "", "definition": "withintolerance(student_scalar, correct_scalar, decimal(settings['right_tol']))"}, {"name": "good_unit", "description": "", "definition": "same(qty(1,interpreted_unit),qty(1,'deg'))"}, {"name": "mark", "description": "This is the main marking note. It should award credit and provide feedback based on the student's answer.", "definition": "assert(close,incorrect('Incorrect.');end());\nif(right,correct('Correct angle.'), set_credit(1 - settings['close_penalty'],'Angle is close.'));\nassert(good_unit,sub_credit(settings['unit_penalty'], 'Missing or incorrect units.'))"}], "settings": [{"name": "expected_answer", "label": "Expected Answer", "help_url": "", "hint": "Expected angle as a quantity.", "input_type": "code", "default_value": "qty(30,'deg')", "evaluate": true}, {"name": "unit_penalty", "label": "Unit penalty", "help_url": "", "hint": "Penalty for not including degree sign or 'deg'.", "input_type": "percent", "default_value": "20"}, {"name": "close_penalty", "label": "Close Penalty", "help_url": "", "hint": "Penalty for close answer.", "input_type": "percent", "default_value": "20"}, {"name": "close_tol", "label": "Close", "help_url": "", "hint": "Angle must be $\\pm$ this many degrees to be marked close.   ", "input_type": "code", "default_value": "0.5", "evaluate": false}, {"name": "right_tol", "label": "Right ", "help_url": "", "hint": "Angle must be $\\pm$ this many degrees to be marked correct.  ", "input_type": "code", "default_value": "0.1", "evaluate": false}], "public_availability": "restricted", "published": false, "extensions": ["quantities"]}, {"source": {"pk": 19, "author": {"name": "William Haynes", "pk": 2530}, "edit_page": "/part_type/19/edit"}, "name": "Engineering Accuracy with units", "short_name": "engineering-answer", "description": "

A value with units marked right if within an adjustable % error of the correct value.  Marked close if within a wider margin of error.

", "help_url": "", "input_widget": "string", "input_options": {"correctAnswer": "siground(settings['correctAnswer'],4)", "hint": {"static": true, "value": ""}, "allowEmpty": {"static": true, "value": true}}, "can_be_gap": true, "can_be_step": true, "marking_script": "mark:\nswitch( \n right and good_units and right_sign, add_credit(1.0,'Correct.'),\n right and good_units and not right_sign, add_credit(settings['C2'],'Wrong sign.'),\n right and right_sign and not good_units, add_credit(settings['C2'],'Correct value, but wrong or missing units.'),\n close and good_units, add_credit(settings['C1'],'Close.'),\n close and not good_units, add_credit(settings['C3'],'Answer is close, but wrong or missing units.'),\n incorrect('Wrong answer.')\n)\n\n\ninterpreted_answer:\nqty(student_scalar, student_units)\n\n\n\ncorrect_quantity:\nsettings[\"correctAnswer\"]\n\n\n\ncorrect_units:\nunits(correct_quantity)\n\n\nallowed_notation_styles:\n[\"plain\",\"en\"]\n\nmatch_student_number:\nmatchnumber(studentAnswer,allowed_notation_styles)\n\nstudent_scalar:\nmatch_student_number[1]\n\nstudent_units:\nreplace_regex('ohms','ohm',\n replace_regex('\u00b0', ' deg',\n replace_regex('-', ' ' ,\n studentAnswer[len(match_student_number[0])..len(studentAnswer)])),\"i\")\n\ngood_units:\ntry(\ncompatible(quantity(1, student_units),correct_units),\nmsg,\nfeedback(msg);false)\n\n\nstudent_quantity:\nswitch(not good_units, \n student_scalar * correct_units, \n not right_sign,\n -quantity(student_scalar, student_units),\n quantity(student_scalar,student_units)\n)\n \n\n\npercent_error:\ntry(\nscalar(abs((correct_quantity - student_quantity)/correct_quantity))*100 \n,msg,\nif(student_quantity=correct_quantity,0,100))\n \n\nright:\npercent_error <= settings['right']\n\n\nclose:\nright_sign and percent_error <= settings['close']\n\nright_sign:\nsign(student_scalar) = sign(correct_quantity)", "marking_notes": [{"name": "mark", "description": "This is the main marking note. It should award credit and provide feedback based on the student's answer.", "definition": "switch( \n right and good_units and right_sign, add_credit(1.0,'Correct.'),\n right and good_units and not right_sign, add_credit(settings['C2'],'Wrong sign.'),\n right and right_sign and not good_units, add_credit(settings['C2'],'Correct value, but wrong or missing units.'),\n close and good_units, add_credit(settings['C1'],'Close.'),\n close and not good_units, add_credit(settings['C3'],'Answer is close, but wrong or missing units.'),\n incorrect('Wrong answer.')\n)\n"}, {"name": "interpreted_answer", "description": "A value representing the student's answer to this part.", "definition": "qty(student_scalar, student_units)\n\n"}, {"name": "correct_quantity", "description": "", "definition": "settings[\"correctAnswer\"]\n\n"}, {"name": "correct_units", "description": "", "definition": "units(correct_quantity)\n"}, {"name": "allowed_notation_styles", "description": "", "definition": "[\"plain\",\"en\"]"}, {"name": "match_student_number", "description": "", "definition": "matchnumber(studentAnswer,allowed_notation_styles)"}, {"name": "student_scalar", "description": "", "definition": "match_student_number[1]"}, {"name": "student_units", "description": "

Modify the unit portion of the student's answer by

\n

1. replacing \"ohms\" with \"ohm\"  case insensitive

\n

2. replacing '-' with ' ' 

\n

3. replacing '°' with ' deg' 

\n

to allow answers like 10 ft-lb and 30°

", "definition": "replace_regex('ohms','ohm',\n replace_regex('\u00b0', ' deg',\n replace_regex('-', ' ' ,\n studentAnswer[len(match_student_number[0])..len(studentAnswer)])),\"i\")"}, {"name": "good_units", "description": "", "definition": "try(\ncompatible(quantity(1, student_units),correct_units),\nmsg,\nfeedback(msg);false)\n"}, {"name": "student_quantity", "description": "

This fixes the student answer for two common errors.  

\n

If student_units are wrong  - replace with correct units

\n

If student_scalar has the wrong sign - replace with right sign

\n

If student makes both errors, only one gets fixed.

", "definition": "switch(not good_units, \n student_scalar * correct_units, \n not right_sign,\n -quantity(student_scalar, student_units),\n quantity(student_scalar,student_units)\n)\n \n"}, {"name": "percent_error", "description": "", "definition": "try(\nscalar(abs((correct_quantity - student_quantity)/correct_quantity))*100 \n,msg,\nif(student_quantity=correct_quantity,0,100))\n "}, {"name": "right", "description": "", "definition": "percent_error <= settings['right']\n"}, {"name": "close", "description": "

Only marked close if the student actually has the right sign.

", "definition": "right_sign and percent_error <= settings['close']"}, {"name": "right_sign", "description": "", "definition": "sign(student_scalar) = sign(correct_quantity) "}], "settings": [{"name": "correctAnswer", "label": "Correct Quantity.", "help_url": "", "hint": "The correct answer given as a JME quantity.", "input_type": "code", "default_value": "", "evaluate": true}, {"name": "right", "label": "% Accuracy for right.", "help_url": "", "hint": "Question will be considered correct if the scalar part of the student's answer is within this % of correct value.", "input_type": "code", "default_value": "0.2", "evaluate": true}, {"name": "close", "label": "% Accuracy for close.", "help_url": "", "hint": "Question will be considered close if the scalar part of the student's answer is within this % of correct value.", "input_type": "code", "default_value": "1.0", "evaluate": true}, {"name": "C1", "label": "Close with units.", "help_url": "", "hint": "Partial Credit for close value with appropriate units.  if correct answer is 100 N and close is ±1%,
99  N is accepted.", "input_type": "percent", "default_value": "75"}, {"name": "C2", "label": "No units or wrong sign", "help_url": "", "hint": "Partial credit for forgetting units or using wrong sign.
If the correct answer is 100 N, both 100 and -100 N are accepted.", "input_type": "percent", "default_value": "50"}, {"name": "C3", "label": "Close, no units.", "help_url": "", "hint": "Partial Credit for close value but forgotten units.
This value would be close if the expected units were provided.  If the correct answer is 100 N, and close is ±1%,
99 is accepted.", "input_type": "percent", "default_value": "25"}], "public_availability": "always", "published": true, "extensions": ["quantities"]}], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "William Haynes", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2530/"}], "tags": ["angle from reference", "Equilibrium", "equilibrium", "Mechanics", "mechanics", "Rigid Body", "rigid body", "Statics", "statics"], "metadata": {"description": "

Equilibrium of a rigid body.  Find tension to raise a pole.

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

{geogebra_applet('pf8c3vcn',[['α',alpha +'°'],['β',beta +'°']])}

\n

A {mass} homogeneous pole with a length of {L} is being raised by pulling with a cable at $B$.

", "advice": "

This problem can be solved by the standard method:

\n
    \n
  1. Draw a free body diagram of the pole.  Include the weight of the pole at the center of gravity.  Note that mass must be converted to weight.
  2. \n
  3. Use $\\Sigma M_A = 0$ to find $T$.
  4. \n
  5. Use $\\Sigma F_x = 0$ and  $\\Sigma F_y = 0$ to find $A_x$ and $A_y$.
  6. \n
  7. Resolve  $A_x$ and $A_y$ to find magnitude and direction of $\\mathbf{A}$.
  8. \n
\n

It can also be solved using the three force body principle.

\n
    \n
  1. Find the point of intersection of the lines of action of the weight and the tension.
  2. \n
  3. Determine the direction of force $\\mathbf{A}$.  Its line of action must pass through the point.
  4. \n
  5. Draw a force triangle.
  6. \n
  7. Determine the angles in the force triangle.
  8. \n
  9. Use the known weight and the law of sines to solve for the tension and the reaction at $A$.
  10. \n
", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"L": {"name": "L", "group": "inputs", "definition": "qty(random(3..5#0.2),'m')", "description": "", "templateType": "anything", "can_override": false}, "theta_T": {"name": "theta_T", "group": "Ungrouped variables", "definition": "180 + alpha - beta", "description": "", "templateType": "anything", "can_override": false}, "T": {"name": "T", "group": "Ungrouped variables", "definition": "scalar(weight) cos(radians(alpha))/(2 sin(radians(beta)) )\nvector(cos(radians(theta_t)),sin(radians(theta_t)))", "description": "", "templateType": "anything", "can_override": false}, "A": {"name": "A", "group": "Ungrouped variables", "definition": "-(W+T)", "description": "", "templateType": "anything", "can_override": false}, "W": {"name": "W", "group": "Ungrouped variables", "definition": "vector(0,-scalar(weight))", "description": "", "templateType": "anything", "can_override": false}, "theta_A": {"name": "theta_A", "group": "Ungrouped variables", "definition": "mod(degrees(atan2(A[1],A[0])),360)", "description": "", "templateType": "anything", "can_override": false}, "mass": {"name": "mass", "group": "inputs", "definition": "qty(random(10..150#5),'kg')", "description": "", "templateType": "anything", "can_override": false}, "beta": {"name": "beta", "group": "inputs", "definition": "random(20..(90+alpha-20))", "description": "

angle between pole and rope

", "templateType": "anything", "can_override": false}, "weight": {"name": "weight", "group": "inputs", "definition": "mass * qty(9.81,'m/s^2') in 'N'", "description": "", "templateType": "anything", "can_override": false}, "debug": {"name": "debug", "group": "Ungrouped variables", "definition": "false", "description": "", "templateType": "anything", "can_override": false}, "alpha": {"name": "alpha", "group": "inputs", "definition": "random(20..80)", "description": "

angle of pole

", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["W", "T", "theta_T", "A", "theta_A", "debug"], "variable_groups": [{"name": "inputs", "variables": ["alpha", "mass", "beta", "weight", "L"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Tension", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

What is the tension in the cable?

\n

$T$= [[0]]  T = {siground(abs(T),4)} N

", "gaps": [{"type": "engineering-answer", "useCustomName": true, "customName": "Tension", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "settings": {"correctAnswer": "qty(abs(T),'N')", "right": "0.2", "close": "1.0", "C1": "75", "C2": "50", "C3": "25"}}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Reaction at A", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "interpreted_angle: // a qty string corrected to standard angle\n student_angle[2] + student_angle[1] * student_angle[0] + student_units\n\nmagnitude:\n studentAnswer[3]\n\nstudent_angle:\n [mod(matchnumber(studentAnswer[0],['plain','en'])[1],360), // angle\n [1,-1][indices(studentAnswer[1],[true])[0]], // ccw = 1 cw = -1\n [0,90,180,-90][indices(studentAnswer[2],[true])[0]]] // reference axis\n\nstudent_units:\n studentAnswer[0][len(matchnumber(studentAnswer[0],['plain','en'])[0])..len(studentAnswer[0])]\n\ninterpreted_answers:\n [interpreted_angle, studentAnswer[1], studentAnswer[2], studentAnswer[3]]\n\ngap_feedback (Feedback on each of the gaps):\n map(\n try(\n let(\n result, submit_part(gaps[gap_number][\"path\"],answer),\n gap, gaps[gap_number],\n name, gap[\"name\"], \n noFeedbackIcon, not gap[\"settings\"][\"showFeedbackIcon\"],\n assert(name=\"\" or len(gaps)=1,feedback(translate('part.gapfill.feedback header',[\"name\": name])));\n concat_feedback(filter(x[\"op\"]<>\"warning\",x,result[\"feedback\"]), if(marks>0,result[\"marks\"]/marks,1), noFeedbackIcon);\n result\n ),\n err,\n fail(translate(\"part.gapfill.error marking gap\",[\"name\": gaps[gap_number][\"name\"], \"message\": err]))\n ),\n [gap_number,answer,index],\n zip([3,0],[studentAnswer[3], interpreted_angle],[1,2])\n )\n\n", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

What is the magnitude and direction of the reaction force at point A?

\n

$\\mathbfy{A}$ = [[3]]

\n

at an angle of  [[0]] measured [[1]] from the  [[2]].

\n

A= {siground(abs(A),4)} N @ {siground(theta_A,4)}°

", "gaps": [{"type": "angle", "useCustomName": true, "customName": "angle", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "settings": {"expected_answer": "precround(qty(theta_A,'deg'),2)", "unit_penalty": "20", "close_penalty": "20", "close_tol": "0.5", "right_tol": "0.2"}}, {"type": "1_n_2", "useCustomName": true, "customName": "sign", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": false, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minMarks": 0, "maxMarks": 0, "shuffleChoices": false, "displayType": "dropdownlist", "displayColumns": 0, "showCellAnswerState": true, "choices": ["CCW", "CW"], "matrix": [0, 0], "distractors": ["", ""]}, {"type": "1_n_2", "useCustomName": true, "customName": "ref", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": false, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minMarks": 0, "maxMarks": 0, "shuffleChoices": false, "displayType": "dropdownlist", "displayColumns": 0, "showCellAnswerState": true, "choices": ["+x axis", "+y axis", "-x axis", "-yaxis"], "matrix": [0, 0, 0, 0], "distractors": ["", "", "", ""]}, {"type": "engineering-answer", "useCustomName": true, "customName": "Mag A", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "settings": {"correctAnswer": "qty(siground(abs(A),4),'N')", "right": "0.2", "close": "1.0", "C1": "75", "C2": "50", "C3": "25"}}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}]}], "allowPrinting": true, "navigation": {"allowregen": true, "reverse": true, "browse": true, "allowsteps": true, "showfrontpage": true, "showresultspage": "oncompletion", "navigatemode": "sequence", "onleave": {"action": "warnifunattempted", "message": "

Work hard please

"}, "preventleave": true, "startpassword": "123"}, "timing": {"allowPause": true, "timeout": {"action": "warn", "message": "

Time over

"}, "timedwarning": {"action": "warn", "message": "

Get ready ,soon you are going to commerce a test

"}}, "feedback": {"showactualmark": true, "showtotalmark": true, "showanswerstate": true, "allowrevealanswer": true, "advicethreshold": 0, "intro": "

Answer all the questions

", "reviewshowscore": true, "reviewshowfeedback": true, "reviewshowexpectedanswer": true, "reviewshowadvice": true, "feedbackmessages": [{"message": "

Good job

", "threshold": "3"}]}, "diagnostic": {"knowledge_graph": {"topics": [], "learning_objectives": []}, "script": "diagnosys", "customScript": ""}, "contributors": [{"name": "John Chigongo", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/16986/"}], "extensions": ["geogebra", "quantities"], "custom_part_types": [{"source": {"pk": 12, "author": {"name": "William Haynes", "pk": 2530}, "edit_page": "/part_type/12/edit"}, "name": "Angle quantity 2020", "short_name": "angle", "description": "

Adjusts all angles to 0 < $\\theta$ < 360.

\n

Accepts '°' and 'deg' as units.

\n

Penalizes if not close enough or no units.

\n

90° = -270° = 450°

", "help_url": "", "input_widget": "string", "input_options": {"correctAnswer": "plain_string(settings['expected_answer']) ", "hint": {"static": true, "value": ""}, "allowEmpty": {"static": true, "value": false}}, "can_be_gap": true, "can_be_step": true, "marking_script": "original_student_scalar:\nmatchnumber(studentAnswer,['plain','en'])[1]\n\nstudent_scalar:\nmod(original_student_scalar,360)\n\n\nstudent_unit:\nstudentAnswer[len(matchnumber(studentAnswer,['plain','en'])[0])..len(studentAnswer)]\n\ninterpreted_unit:\nif(trim(student_unit)='\u00b0','deg',student_unit)\n\ninterpreted_answer:\nqty(mod(student_scalar,360),'deg')\n\nclose:\nwithintolerance(student_scalar, correct_scalar,decimal(settings['close_tol']))\n\ncorrect_scalar:\nmod(scalar(settings['expected_answer']),360)\n\nright:\nwithintolerance(student_scalar, correct_scalar, decimal(settings['right_tol']))\n\ngood_unit:\nsame(qty(1,interpreted_unit),qty(1,'deg'))\n\nmark:\nassert(close,incorrect('Incorrect.');end());\nif(right,correct('Correct angle.'), set_credit(1 - settings['close_penalty'],'Angle is close.'));\nassert(good_unit,sub_credit(settings['unit_penalty'], 'Missing or incorrect units.'))", "marking_notes": [{"name": "original_student_scalar", "description": "

Retuns the scalar part of students answer (which is a quantity) as a number.

", "definition": "matchnumber(studentAnswer,['plain','en'])[1]"}, {"name": "student_scalar", "description": "

Normalize angle with mod 360

", "definition": "mod(original_student_scalar,360)\n"}, {"name": "student_unit", "description": "

matchnumber(studentAnswer,['plain','en'])[0] is a string \"12.34\"

", "definition": "studentAnswer[len(matchnumber(studentAnswer,['plain','en'])[0])..len(studentAnswer)]"}, {"name": "interpreted_unit", "description": "

Allows student to use degree symbol or 'deg' for units.

", "definition": "if(trim(student_unit)='\u00b0','deg',student_unit)"}, {"name": "interpreted_answer", "description": "A value representing the student's answer to this part.", "definition": "qty(mod(student_scalar,360),'deg')"}, {"name": "close", "description": "", "definition": "withintolerance(student_scalar, correct_scalar,decimal(settings['close_tol']))"}, {"name": "correct_scalar", "description": "

Normalize expected_answer with mod 360

", "definition": "mod(scalar(settings['expected_answer']),360)"}, {"name": "right", "description": "", "definition": "withintolerance(student_scalar, correct_scalar, decimal(settings['right_tol']))"}, {"name": "good_unit", "description": "", "definition": "same(qty(1,interpreted_unit),qty(1,'deg'))"}, {"name": "mark", "description": "This is the main marking note. It should award credit and provide feedback based on the student's answer.", "definition": "assert(close,incorrect('Incorrect.');end());\nif(right,correct('Correct angle.'), set_credit(1 - settings['close_penalty'],'Angle is close.'));\nassert(good_unit,sub_credit(settings['unit_penalty'], 'Missing or incorrect units.'))"}], "settings": [{"name": "expected_answer", "label": "Expected Answer", "help_url": "", "hint": "Expected angle as a quantity.", "input_type": "code", "default_value": "qty(30,'deg')", "evaluate": true}, {"name": "unit_penalty", "label": "Unit penalty", "help_url": "", "hint": "Penalty for not including degree sign or 'deg'.", "input_type": "percent", "default_value": "20"}, {"name": "close_penalty", "label": "Close Penalty", "help_url": "", "hint": "Penalty for close answer.", "input_type": "percent", "default_value": "20"}, {"name": "close_tol", "label": "Close", "help_url": "", "hint": "Angle must be $\\pm$ this many degrees to be marked close.   ", "input_type": "code", "default_value": "0.5", "evaluate": false}, {"name": "right_tol", "label": "Right ", "help_url": "", "hint": "Angle must be $\\pm$ this many degrees to be marked correct.  ", "input_type": "code", "default_value": "0.1", "evaluate": false}], "public_availability": "restricted", "published": false, "extensions": ["quantities"]}, {"source": {"pk": 19, "author": {"name": "William Haynes", "pk": 2530}, "edit_page": "/part_type/19/edit"}, "name": "Engineering Accuracy with units", "short_name": "engineering-answer", "description": "

A value with units marked right if within an adjustable % error of the correct value.  Marked close if within a wider margin of error.

", "help_url": "", "input_widget": "string", "input_options": {"correctAnswer": "siground(settings['correctAnswer'],4)", "hint": {"static": true, "value": ""}, "allowEmpty": {"static": true, "value": true}}, "can_be_gap": true, "can_be_step": true, "marking_script": "mark:\nswitch( \n right and good_units and right_sign, add_credit(1.0,'Correct.'),\n right and good_units and not right_sign, add_credit(settings['C2'],'Wrong sign.'),\n right and right_sign and not good_units, add_credit(settings['C2'],'Correct value, but wrong or missing units.'),\n close and good_units, add_credit(settings['C1'],'Close.'),\n close and not good_units, add_credit(settings['C3'],'Answer is close, but wrong or missing units.'),\n incorrect('Wrong answer.')\n)\n\n\ninterpreted_answer:\nqty(student_scalar, student_units)\n\n\n\ncorrect_quantity:\nsettings[\"correctAnswer\"]\n\n\n\ncorrect_units:\nunits(correct_quantity)\n\n\nallowed_notation_styles:\n[\"plain\",\"en\"]\n\nmatch_student_number:\nmatchnumber(studentAnswer,allowed_notation_styles)\n\nstudent_scalar:\nmatch_student_number[1]\n\nstudent_units:\nreplace_regex('ohms','ohm',\n replace_regex('\u00b0', ' deg',\n replace_regex('-', ' ' ,\n studentAnswer[len(match_student_number[0])..len(studentAnswer)])),\"i\")\n\ngood_units:\ntry(\ncompatible(quantity(1, student_units),correct_units),\nmsg,\nfeedback(msg);false)\n\n\nstudent_quantity:\nswitch(not good_units, \n student_scalar * correct_units, \n not right_sign,\n -quantity(student_scalar, student_units),\n quantity(student_scalar,student_units)\n)\n \n\n\npercent_error:\ntry(\nscalar(abs((correct_quantity - student_quantity)/correct_quantity))*100 \n,msg,\nif(student_quantity=correct_quantity,0,100))\n \n\nright:\npercent_error <= settings['right']\n\n\nclose:\nright_sign and percent_error <= settings['close']\n\nright_sign:\nsign(student_scalar) = sign(correct_quantity)", "marking_notes": [{"name": "mark", "description": "This is the main marking note. It should award credit and provide feedback based on the student's answer.", "definition": "switch( \n right and good_units and right_sign, add_credit(1.0,'Correct.'),\n right and good_units and not right_sign, add_credit(settings['C2'],'Wrong sign.'),\n right and right_sign and not good_units, add_credit(settings['C2'],'Correct value, but wrong or missing units.'),\n close and good_units, add_credit(settings['C1'],'Close.'),\n close and not good_units, add_credit(settings['C3'],'Answer is close, but wrong or missing units.'),\n incorrect('Wrong answer.')\n)\n"}, {"name": "interpreted_answer", "description": "A value representing the student's answer to this part.", "definition": "qty(student_scalar, student_units)\n\n"}, {"name": "correct_quantity", "description": "", "definition": "settings[\"correctAnswer\"]\n\n"}, {"name": "correct_units", "description": "", "definition": "units(correct_quantity)\n"}, {"name": "allowed_notation_styles", "description": "", "definition": "[\"plain\",\"en\"]"}, {"name": "match_student_number", "description": "", "definition": "matchnumber(studentAnswer,allowed_notation_styles)"}, {"name": "student_scalar", "description": "", "definition": "match_student_number[1]"}, {"name": "student_units", "description": "

Modify the unit portion of the student's answer by

\n

1. replacing \"ohms\" with \"ohm\"  case insensitive

\n

2. replacing '-' with ' ' 

\n

3. replacing '°' with ' deg' 

\n

to allow answers like 10 ft-lb and 30°

", "definition": "replace_regex('ohms','ohm',\n replace_regex('\u00b0', ' deg',\n replace_regex('-', ' ' ,\n studentAnswer[len(match_student_number[0])..len(studentAnswer)])),\"i\")"}, {"name": "good_units", "description": "", "definition": "try(\ncompatible(quantity(1, student_units),correct_units),\nmsg,\nfeedback(msg);false)\n"}, {"name": "student_quantity", "description": "

This fixes the student answer for two common errors.  

\n

If student_units are wrong  - replace with correct units

\n

If student_scalar has the wrong sign - replace with right sign

\n

If student makes both errors, only one gets fixed.

", "definition": "switch(not good_units, \n student_scalar * correct_units, \n not right_sign,\n -quantity(student_scalar, student_units),\n quantity(student_scalar,student_units)\n)\n \n"}, {"name": "percent_error", "description": "", "definition": "try(\nscalar(abs((correct_quantity - student_quantity)/correct_quantity))*100 \n,msg,\nif(student_quantity=correct_quantity,0,100))\n "}, {"name": "right", "description": "", "definition": "percent_error <= settings['right']\n"}, {"name": "close", "description": "

Only marked close if the student actually has the right sign.

", "definition": "right_sign and percent_error <= settings['close']"}, {"name": "right_sign", "description": "", "definition": "sign(student_scalar) = sign(correct_quantity) "}], "settings": [{"name": "correctAnswer", "label": "Correct Quantity.", "help_url": "", "hint": "The correct answer given as a JME quantity.", "input_type": "code", "default_value": "", "evaluate": true}, {"name": "right", "label": "% Accuracy for right.", "help_url": "", "hint": "Question will be considered correct if the scalar part of the student's answer is within this % of correct value.", "input_type": "code", "default_value": "0.2", "evaluate": true}, {"name": "close", "label": "% Accuracy for close.", "help_url": "", "hint": "Question will be considered close if the scalar part of the student's answer is within this % of correct value.", "input_type": "code", "default_value": "1.0", "evaluate": true}, {"name": "C1", "label": "Close with units.", "help_url": "", "hint": "Partial Credit for close value with appropriate units.  if correct answer is 100 N and close is ±1%,
99  N is accepted.", "input_type": "percent", "default_value": "75"}, {"name": "C2", "label": "No units or wrong sign", "help_url": "", "hint": "Partial credit for forgetting units or using wrong sign.
If the correct answer is 100 N, both 100 and -100 N are accepted.", "input_type": "percent", "default_value": "50"}, {"name": "C3", "label": "Close, no units.", "help_url": "", "hint": "Partial Credit for close value but forgotten units.
This value would be close if the expected units were provided.  If the correct answer is 100 N, and close is ±1%,
99 is accepted.", "input_type": "percent", "default_value": "25"}], "public_availability": "always", "published": true, "extensions": ["quantities"]}], "resources": [["question-resources/Picture1_6woS8OC.jpg", "/srv/numbas/media/question-resources/Picture1_6woS8OC.jpg"]]}