Fraction Division with Bar Models

Fraction Division with Bar Models
Loading the math board and drawing, please wait…
2016-12-29 02:27
This example uses a bar model visual representation to help understand division of fractions and what remainders signify. The context involves determining servings of giant items. The core math concepts include fraction division, remainder interpretation, and bar model application. GeoGebra commands and objects like Element, Polygon, Segment, Point, If, Sequence, Textfield, and Vector are used to construct the bar model, calculate results, and display solution steps. Suitable for middle school mathematics education to visually demonstrate abstract fraction division operations.

GeoGebra Commands & Parameters

  1. Element({1, 1.3, 1, 0.6, 1, 0.8, 0.8, 0.8, 1.4, 1.2}, prob) → scaleFactor
  2. Polygon(BoxPt + (((fullServ * divisor) * scaleFactor), remainShade2lower - boxHeight - 0.1), BoxPt + (((fullServ * divisor) * scaleFactor) + (divisor * scaleFactor), remainShade2lower - boxHeight - 0.1), BoxPt + (((fullServ * divisor) * scaleFactor) + (divisor * scaleFactor), remainShade2lower - 0.1), BoxPt + (((fullServ * divisor) * scaleFactor), remainShade2lower - 0.1)) → remainDivisor, remainDivisorSeg_1, remainDivisorSeg_2, remainDivisorSeg_3, remainDivisorSeg
  3. Segment(Midpoint[remainDivisorSeg_1] - (0.5, 0.5), Midpoint[remainDivisorSeg_1] + (0.5, -0.5)) → step2SplitSeg
  4. Point(step2SplitSeg) → Step2SplitSegPt7
  5. Point(step2SplitSeg) → Step2SplitSegPt10
  6. Point(step2SplitSeg) → Step2SplitSegPt9
  7. Point(step2SplitSeg) → Step2SplitSegPt8
  8. Point(step2SplitSeg) → Step2SplitSegPt6
  9. Point(step2SplitSeg) → Step2SplitSegPt5
  10. Point(step2SplitSeg) → Step2SplitSegPt4
  11. Point(step2SplitSeg) → Step2SplitSegPt3
  12. Point(step2SplitSeg) → Step2SplitSegPt2
  13. Point(step2SplitSeg) → Step2SplitSegPt1
  14. Polygon(BoxPt, BoxPt + ((dividend * scaleFactor), 0), BoxPt + ((dividend * scaleFactor), boxHeight), BoxPt + (0, boxHeight)) → dividendBoxPoly, dividendBox_2, dividendBox_3, dividendBox_4, dividendBox
  15. Polygon(BoxPt + (0, (-boxHeight) - 0.1), BoxPt + (((divisor * If[fullServ ≥ 0 ∧ showFullServ, fullServ, 1]) * scaleFactor), (-boxHeight) - 0.1), BoxPt + (((divisor * If[fullServ ≥ 0 ∧ showFullServ, fullServ, 1]) * scaleFactor), -0.1), BoxPt + (0, -0.1)) → servBox, servBoxSeg_1, servBoxSeg_2, servBoxSeg_3, servBoxSeg
  16. If(dividend - (fullServ * divisor) < 0, 1, If[dividend - (fullServ * divisor) > divisor, 2, 3]) → fullServFBSelect
  17. Polygon(BoxPt + (((fullServ * divisor) * scaleFactor), remainShade2lower), BoxPt + ((dividend * scaleFactor), remainShade2lower), BoxPt + ((dividend * scaleFactor), remainShade2lower + boxHeight), BoxPt + (((fullServ * divisor) * scaleFactor), remainShade2lower + boxHeight)) → remainShade2, remainShade2Seg_1, remainShade2Seg_2, remainShade2Seg_3, remainShade2Seg
  18. Polygon(BoxPt + (((fullServ * divisor) * scaleFactor), 0), BoxPt + ((dividend * scaleFactor), 0), BoxPt + ((dividend * scaleFactor), boxHeight), BoxPt + (((fullServ * divisor) * scaleFactor), boxHeight)) → remainShade1, remainShade1Seg_1, remainShade1Seg_2, remainShade1Seg_3, remainShade1Seg
  19. Polygon(Step1ArrowsPt + (0, 0.05), Step1ArrowsPt + (0.3, 0.05), Step1ArrowsPt + (0.15, 0.4)) → step1ArrowUp, step1ArrowSeg_2, step1ArrowSeg_3, step1ArrowSeg_4
  20. Polygon(Step1ArrowsPt + (0, -0.05), Step1ArrowsPt + (0.3, -0.05), Step1ArrowsPt + (0.15, -0.4)) → step1ArrowDown, step1ArrowSeg_1, step1ArrowSeg_5, step1ArrowSeg
  21. Sequence(Segment[BoxPt + (i, (-boxHeight) - 0.1), BoxPt + (i, -0.1)], i, (divisor * scaleFactor), ((divisor * scaleFactor) * (fullServ - 1)), (divisor * scaleFactor)) → servBoxDiv
  22. If(ansFrac ≟ remainNum / remainDenom, true, false) → step2Verify
  23. Element({"Ted", "Alex", "Jasmine", "Miguel", "Alessa", "Mohammad", "Georgia", "Jasper", "Frankie", "Doug"}, prob) → names
  24. Textfield(solutionWhole) → inputSolutionWhole
  25. Textfield(solutionNum) → inputSolutionNum
  26. If(step3Check ∧ ansFrac ≟ solutionNum / solutionDenom ∧ solutionWhole ≟ ansWhole, true, false) → step3Verify
  27. Textfield(solutionDenom) → inputSolutionDenom
  28. Polygon(ServKeyPt, ServKeyPt + (((-divisor) * scaleFactor), 0), ServKeyPt + (((-divisor) * scaleFactor), boxHeight), ServKeyPt + (0, boxHeight)) → servKey, servKeySeg_1, servKeySeg_2, servKeySeg_3, servKeySeg
  29. Vector(Midpoint[BoxPt + (((fullServ * divisor) * scaleFactor), -0.2), BoxPt + ((dividend * scaleFactor), -0.2)], Midpoint[BoxPt + (((fullServ * divisor) * scaleFactor), remainShade2lower + boxHeight + 0.1), BoxPt + ((dividend * scaleFactor), remainShade2lower + boxHeight + 0.1)]) → remainVector
  30. Sequence(Segment[BoxPt + (((fullServ * divisor) * scaleFactor) + i, remainShade2lower - boxHeight - 0.1), BoxPt + (((fullServ * divisor) * scaleFactor) + i, remainShade2lower - 0.1)], i, ((scaleFactor * divisor)) / step2DivisorSections, (((scaleFactor * divisor)) / step2DivisorSections * (step2DivisorSections - 1)), ((scaleFactor * divisor)) / step2DivisorSections) → divisorSectionsList
  31. Sequence(Segment[BoxPt + (i, -0.18), BoxPt + (i, boxHeight + 0.25)], i, (divisor * scaleFactor), ((divisor * scaleFactor) * fullServ), (divisor * scaleFactor)) → sandwichBoxSections
  32. Segment(BoxPt + ((dividend * scaleFactor), remainShade2lower + boxHeight + 0.2), BoxPt + ((dividend * scaleFactor), remainShade2lower - 1.08)) → step2AlignmentSeg
  33. Textfield(remainDenom) → inputRemainDenom
  34. Textfield(remainNum) → inputRemainNum

AI Drawing Prompt Reference

Create a bar model to visualize fraction division and the interpretation of remainders. Include multiple bars representing the total amount, divisor, quotient, and remainder, distinguished by different colors or shading. Start with a bar for the total, then split it according to the divisor, highlighting the quotient and remainder sections, and use arrows or text to explain the calculation steps and results.
The prompt above was compiled from the original drawing commands and is for reference only.