// Numbas version: exam_results_page_options {"name": "Decimals: Multiplication", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Decimals: Multiplication", "tags": [], "metadata": {"description": "
a) Multiplying decimals with a single non-zero digit. Students are told to preserve the number of decimal places (from the question to the answer).
\nb) Multiplying decimals requiring the multiplication algorithm.
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Write the following questions down on paper and evaluate them without using a calculator.
\nIf 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": "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.
", "rulesets": {}, "extensions": [], "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}, "abot": {"name": "abot", "group": "2digit", "definition": "if(adigs[2]<>0,[adigs[3],adigs[2]],[adigs[2],adigs[3]])", "description": "we want distinct digits so it is easier to refer to digits unambiguously.
", "templateType": "anything", "can_override": false}, "ab0t1": {"name": "ab0t1", "group": "2digit", "definition": "abot[0]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "ab1t1": {"name": "ab1t1", "group": "2digit", "definition": "abot[1]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "ab0t1last": {"name": "ab0t1last", "group": "2digit", "definition": "mod(ab0t1pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t1pluscarry": {"name": "ab0t1pluscarry", "group": "2digit", "definition": "ab0t1+ab0t0carry", "description": "ab
", "templateType": "anything", "can_override": false}, "aans": {"name": "aans", "group": "2digit", "definition": "atopnum*abotnum", "description": "", "templateType": "anything", "can_override": false}, "easydigprod": {"name": "easydigprod", "group": "Ungrouped variables", "definition": "easydig1*easydig2", "description": "", "templateType": "anything", "can_override": false}, "easyans": {"name": "easyans", "group": "Ungrouped variables", "definition": "easydigprod/(easyfactprod)", "description": "eas
", "templateType": "anything", "can_override": false}, "easyfactprod": {"name": "easyfactprod", "group": "Ungrouped variables", "definition": "easyfact1*easyfact2", "description": "", "templateType": "anything", "can_override": false}, "easyfact2": {"name": "easyfact2", "group": "Ungrouped variables", "definition": "if(easyfact1=1,random(10,100,1000),random(1,10,100,1000))", "description": "", "templateType": "anything", "can_override": false}, "easy1": {"name": "easy1", "group": "Ungrouped variables", "definition": "easydig1/easyfact1", "description": "", "templateType": "anything", "can_override": false}, "afactprod": {"name": "afactprod", "group": "2digit", "definition": "afact1*afact2", "description": "", "templateType": "anything", "can_override": false}, "dps": {"name": "dps", "group": "Ungrouped variables", "definition": "log(easyfactprod)", "description": "", "templateType": "anything", "can_override": false}, "ab0t0carry": {"name": "ab0t0carry", "group": "2digit", "definition": "(ab0t0-ab0t0last)/10", "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}, "adec2": {"name": "adec2", "group": "2digit", "definition": "abotnum/afact2", "description": "", "templateType": "anything", "can_override": false}, "atopnum": {"name": "atopnum", "group": "2digit", "definition": "atop[1]*10+atop[0]", "description": "", "templateType": "anything", "can_override": false}, "ab1t1pluscarry": {"name": "ab1t1pluscarry", "group": "2digit", "definition": "ab1t1+ab1t0carry", "description": "", "templateType": "anything", "can_override": false}, "asum1": {"name": "asum1", "group": "2digit", "definition": "abot[0]*atopnum", "description": "", "templateType": "anything", "can_override": false}, "ab0t0": {"name": "ab0t0", "group": "2digit", "definition": "atop[0]*abot[0]", "description": "", "templateType": "anything", "can_override": false}, "easy2": {"name": "easy2", "group": "Ungrouped variables", "definition": "easydig2/easyfact2", "description": "", "templateType": "anything", "can_override": false}, "asum2": {"name": "asum2", "group": "2digit", "definition": "10*abot[1]*atopnum", "description": "sum2
", "templateType": "anything", "can_override": false}, "aansten": {"name": "aansten", "group": "2digit", "definition": "mod((aans-aansone)/10,10)", "description": "", "templateType": "anything", "can_override": false}, "aansone": {"name": "aansone", "group": "2digit", "definition": "mod(aans,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t0carry": {"name": "ab1t0carry", "group": "2digit", "definition": "(ab1t0-ab1t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "abotnum": {"name": "abotnum", "group": "2digit", "definition": "abot[1]*10+abot[0]", "description": "$\\var{easy1}\\times \\var{easy2}= $ [[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": "Remove the decimal points, do the multiplication of whole numbers, then put the decimal place in the answer so that the number of decimal places in the question and the answer are the same.
\n\n
That is,
\nand therefore $\\var{easy1}\\times\\var{easy2}=\\var{easyans}0$. But note, we don't need to write the last zero so we could also write $\\var{easy1}\\times\\var{easy2}=\\var{easyans}$.
\nand therefore $\\var{easy1}\\times\\var{easy2}=\\var{easyans}$.
\n\nThis procedure works because it is the following in disguise:
\n$\\begin{align}\\var{easy1}\\times\\var{easy2}&=\\frac{\\var{easydig1}}{\\var{easyfact1}}\\times\\frac{\\var{easydig2}}{\\var{easyfact2}}&&\\text{(convert the decimals to fractions)}\\\\&=\\frac{\\var{easydig1}\\times\\var{easydig2}}{\\var{easyfact1}\\times\\var{easyfact2}}&&\\text{(multiply the fractions)}\\\\&=\\frac{\\var{easydigprod}}{\\var{easyfactprod}}\\\\&=\\var{easyans}&&\\text{(convert back to a decimal)}\\end{align}$
"}], "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": "easyans", "maxValue": "easyans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"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{adec1}\\times\\var{adec2} = $ [[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": "Remove the decimal points, do the multiplication of whole numbers, then put the decimal place in the answer so that the number of decimal places in the question and the answer are the same.
\n\n
That is,
\nand therefore $\\var{adec1}\\times\\var{adec2}=\\var{adecans}0$. But note, we don't need to write the last zero so we could also write $\\var{adec1}\\times\\var{adec2}=\\var{adecans}$.
\nand therefore $\\var{adec1}\\times\\var{adec2}=\\var{adecans}00$. But note, we don't need to write the two trailing zeros so we could also write $\\var{adec1}\\times\\var{adec2}=\\var{adecans}$.
\nand therefore $\\var{adec1}\\times\\var{adec2}=\\var{adecans}$.
\n\nThis procedure works because it is the following in disguise:
\n$\\begin{align}\\var{adec1}\\times\\var{adec2}&=\\frac{\\var{atopnum}}{\\var{afact1}}\\times\\frac{\\var{abotnum}}{\\var{afact2}}&&\\text{(convert the decimals to fractions)}\\\\&=\\frac{\\var{atopnum}\\times\\var{abotnum}}{\\var{afact1}\\times\\var{afact2}}&&\\text{(multiply the fractions)}\\\\&=\\frac{\\var{aans}}{\\var{afactprod}}\\\\&=\\var{adecans}&&\\text{(convert back to a decimal)}\\end{align}$
\n\nGenerally we set up $\\var{atopnum}\\times\\var{abotnum}$ with the ones and tens columns lined up vertically:
\n\n | $\\var{atop[1]}$ | \n$\\var{atop[0]}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\phantom{0}$ | \n\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]}}$.
\nSince this is just $\\var{ab0t0}$ we write $\\var{ab0t0}$ under the line in the ones column.
\nSince 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 | $\\overset{\\color{red}{\\var{ab0t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
\n | \n | $\\color{red}{\\var{ab0t0last}}$ | \n\n |
We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab0t1}$ so we write $\\var{ab0t1}$ under the line in the tens column.
\nThis gives us $\\var{ab0t1}$ so we write this under the line with the $\\var{ab0t1last}$ in the tens column.
\nThis gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1pluscarry}$ under the line with the $\\var{ab0t1last}$ in the tens column.
\nThis 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 | $\\color{green}{\\overset{{\\var{ab0t0carry}}}{\\var{atop[1]}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
$\\color{red}{\\var{ab0t1carry}}$ $\\phantom{0}$ | \n$\\color{red}{\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \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 crossout or erase any carry marks that we have used.
\n\n\n | $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | \n | $\\color{red}0$ | \n\n |
We now multiply along the other diagonal, that is, $\\color{green}{\\var{abot[1]}\\times\\var{atop[0]}}$.
\nSince this is just $\\var{ab1t0}$ we write $\\var{ab1t0}$ under the line in the tens column.
\nSince 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 | $\\overset{\\color{red}{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | $\\color{red}{\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now multiply the digits in the tens column, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab1t1}$ so we write $\\var{ab1t1}$ under the line in the hundreds column.
\nThis gives us $\\var{ab1t1}$ so we write this under the line with the $\\var{ab1t1last}$ in the hundreds column.
\nThis gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1pluscarry}$ under the line with the $\\var{ab1t1last}$ in the hundreds column.
\nThis 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 | $\\color{green}{\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
\n | ${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
$\\color{red}{\\var{ab1t1carry}}$ $\\phantom{0}$ | \n$\\color{red}{\\var{ab1t1last}}$ | \n${\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now add the two results to get the total, that is, $\\color{green}{\\var{asum1}+\\var{asum2}}$.
\n\n\n | \n | $\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\color{green}{\\var{ab0t1carry}}$$\\phantom{0}$ | \n$\\color{green}{\\var{ab0t1last}}$ | \n$\\color{green}{\\var{ab0t0last}}$ | \n$+$ | \n
$\\color{green}{\\var{ab1t1carry}}$ $\\phantom{0}$ | \n$\\color{green}{\\var{ab1t1last}}$ | \n$\\color{green}{\\var{ab1t0last}}$ | \n$\\color{green}{0}$ | \n\n |
$\\color{red}{\\var{aanstho}}$$\\phantom{0}$ | \n$\\color{red}{\\var{aanshun}}$ | \n$\\color{red}{\\var{aansten}}$ | \n$\\color{red}{\\var{aansone}}$ | \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": "adecans", "maxValue": "adecans", "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", "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}]}]}], "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}]}