Fraction Multiplication Demo by Amy Brodesky

Fraction Multiplication Demo by Amy Brodesky
Loading the math board and drawing, please wait…
2017-11-26 02:50
This example demonstrates the geometric interpretation of fraction multiplication through dynamic visuals, showing the relationship between the product of fractions and the area of shapes. It involves core concepts like fraction arithmetic, geometric area, vectors, and polygon construction. GeoGebra commands such as If, Polygon, FractionText, Segment, Vector, and Sequence are used to create interactive visualizations of fraction multiplication, making it suitable for middle school and above mathematics education to enhance geometric intuition.

GeoGebra Commands & Parameters

  1. If(set ≟ 1, {1, 2, 1, 5, 3, 2, 4, 10, 6, 13}, {0.5, 1, 0.5, 0.5, 1, 1, 0.25, 0.5, 1, 2}) → SR1
  2. If(set ≟ 1, {1, 2, 1, 5, 3, 2, 4, 10, 6, 13}, {0.5, 1, 0.5, 0.5, 1, 1, 0.25, 0.5, 1, 2}) → SR2
  3. If(set ≟ 1, {2, 1, 2, 1, 1, 2, 2, 1, 2, 1}, {1, 1, 1, 2, 2, 1, 1, 2, 2, 1}) → ansCorrect
  4. If(sr1, (10, 5.6), (10, 3.2)) → AnsSelectedPt
  5. If(sr1, SR1, SR2) → SRSelect
  6. Polygon(ExPt + (0.2, 0), ExPt + (5.4, 0), ExPt + (5.6, 0.2), ExPt + (5.6, 0.8), ExPt + (5.4, 1), ExPt + (0.2, 1), ExPt + (0, 0.8), ExPt + (0, 0.2)) → examplePoly, exPolyBottom, exPolyBR, exPolyR, exPolyTR, exPolyTop, exPolyTL, exPolyL, exPolyBL
  7. Polygon(NextPt + (0, 0.2), NextPt + (0.2, 0), NextPt + (2, 0), NextPt + (2, -0.5), NextPt + (4, 0.5), NextPt + (2, 1.5), NextPt + (2, 1), NextPt + (0.2, 1), NextPt + (0, 0.8)) → nextPoly, nextPoly_2, nextPoly_3, nextPoly_4, nextPoly_5, nextPoly_6, nextPoly_7, nextPoly_8, nextPoly_9, nextPoly_{10}
  8. If(set ≟ 1, {0, 0, 0, 3, 1, 6, 2, 3, 5, 7}, {1, 7, 9, 5, 9, 3, 1, 8, 7, 5}) → term1num
  9. If(set ≟ 1, {1, 1, 5, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 3, 7, 7, 4, 11, 5, 3, 7}) → term2num
  10. If(set ≟ 1, {0, 0, 0, 4, 7, 7, 3, 8, 9, 8}, {4, 9, 10, 6, 10, 8, 8, 9, 5, 9}) → term1denom
  11. If(set ≟ 1, {2, 3, 8, 0, 0, 0, 0, 0, 0, 0}, {3, 4, 8, 8, 4, 5, 12, 6, 2, 3}) → term2denom
  12. Polygon(ProbSetSelect1Pt, ProbSetSelect1Pt + (0.5, 0), ProbSetSelect1Pt + (0.5, 0.5), ProbSetSelect1Pt + (0, 0.5)) → probSetSelect1Poly, probSetSelect1polySeg, probSetSelect1polySeg_1, probSetSelect1polySeg_2, probSetSelect1polySeg_3
  13. Polygon(ProbSetSelect2Pt, ProbSetSelect2Pt + (0.5, 0), ProbSetSelect2Pt + (0.5, 0.5), ProbSetSelect2Pt + (0, 0.5)) → probSetSelect2Poly, probSetSelect2polySeg_1, probSetSelect2polySeg_2, probSetSelect2polySeg_3, probSetSelect2polySeg
  14. FractionText(Element[SR1, problem]) → SR1text
  15. FractionText(Element[SR2, problem]) → SR2text
  16. If(set ≟ 1, {6, 4, 3, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) → term1mixedWhole
  17. If(set ≟ 1, {0, 0, 0, 5, 6, 4, 8, 20, 12, 13}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) → term2mixedWhole
  18. If(sr1, 1, 2) → srSelect
  19. If(srSelect ≟ Element[ansCorrect, problem], 1, 0) → correct
  20. Polygon(AnsSelectedPt + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, -0.5)], AnsSelectedPt + (5.5, 0) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, -0.5)], AnsSelectedPt + (5.5, 1.2) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, 0.5)], AnsSelectedPt + (0, 1.2) + If[Element[SRSelect, problem] ≥ 1, (0, 0), (0, 0.5)]) → ansSelectedPoly, ansSelectedPolyBottom, ansSelectedPolyR, ansSelectedPolyTop, ansSelectedPolyL
  21. If(sr1 ∨ sr2, true, false) → ansSelected
  22. If(Element[ansCorrect, problem] ≟ 1, (10, 5.55), (10, 3.2)) → ansCorrectPt
  23. Segment((12.8, 8), (16.4, 8)) → exSegOriginal
  24. Polygon(AnsNotePolyPt + (0, -0.5), AnsNotePolyPt + (7.5, -0.5), AnsNotePolyPt + (7.5, 5), AnsNotePolyPt + (0, 5)) → ansNotePoly, ansNoteStrategyBottom, ansNoteStrategyR, ansNoteStrategyTop, ansNoteStrategyL
  25. Segment((17.4, 8), (19.8, 8)) → exSegBenchmark
  26. Vector((18.2, 2.2), (19, 2.7)) → exCorrectArrow
  27. Sequence((16.5 + (0.7 * i), 0.3), i, 1, scoreTotal) → scorePts
  28. Sequence((16.2 + i, 0.3), i, 1, 7.3, 0.7) → scorePtsEmpty
  29. Polygon(ansCorrectPt + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, -0.5)], ansCorrectPt + (5.5, 0) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, -0.5)], ansCorrectPt + (5.5, 1.2) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, 0.5)], ansCorrectPt + (0, 1.2) + If[Element[If[set ≟ 1, SR1, SR2], problem] ≥ 1, (0, 0), (0, 0.5)]) → ansCorrectPoly, ansCorrectPolyBottom, ansCorrectPolyR, ansCorrectPolyTop, ansCorrectPolyL
  30. Vector(ansCorrectPt + (-1.8, 0.3), ansCorrectPt + (-0.5, 0.3)) → ansNoteIncCorrVector