Fraction Path (4th Grade Denominators)

Fraction Path (4th Grade Denominators)
Loading the math board and drawing, please wait…
2017-08-31 02:07
This interactive GeoGebra example demonstrates a fraction path game designed for 4th-grade students to practice identifying and comparing fractions with various denominators. The core mathematical concepts include fraction representation, numerator-denominator relationships, equivalent fractions, and locating fractions on a number line. The construction uses commands such as RandomElement to generate random denominators and numerators, Sequence and Zip to build fraction sequences, Point and If to control point positions and conditional visibility, and LaTeX to display fractions along a text path. Interactive buttons (button1, button2) allow users to switch options or reset the path. Key objects include list1, dimensionsHelper, denominator, multiplier, valuesHelper, translatePoints, translateText, textPath, pointsPath, and many point objects (p1 to p20) that dynamically update the path. This resource is suitable for elementary math classrooms or self-study, helping students build a strong intuitive understanding of fractions through visual and interactive exploration.

GeoGebra Commands & Parameters

  1. RandomElement({(2, 5), (3, 3), (4, 2), (5, 2), (6, 2), (8, 1), (10, 1)}) → dimensionsHelper
  2. Zip(A + (1 / 2, 1 / 2), A, list1) → valuesHelper
  3. Sequence(Element[translatePoints, IndexOf[Element[textPath, i], translateText]], i, 1, Length[textPath]) → pointsPath
  4. Point({Random[0, (denominator * multiplier) - 1] + 1 / 2, Random[0, (denominator * multiplier) - 1] + 1 / 2}) → starting
  5. If(Length[pointsPath] > 0, Element[Last[list1], 1], starting) → ending
  6. If(Last[textPath] ≟ {"up"}, {"down"}, If[Last[textPath] ≟ {"down"}, {"up"}, If[Last[textPath] ≟ {"right"}, {"left"}, If[Last[textPath] ≟ {"left"}, {"right"}, {}]]]) → opposite
  7. Remove({"up", "down", "left", "right"}, Join[{{If[x(ending) ≟ 0.5, "left"]}, {If[y(ending) ≟ 0.5, "down"]}, {If[x(ending) ≟ (denominator * multiplier) - 1 / 2, "right"]}, {If[y(ending) ≟ (denominator * multiplier) - 1 / 2, "up"]}}]) → options
  8. Remove(Unique[{If[Defined[IndexOf[ending + (-1, 0), list1]], "left"], If[Defined[IndexOf[ending + (1, 0), list1]], "right"], If[Defined[IndexOf[ending + (0, 1), list1]], "up"], If[Defined[IndexOf[ending + (0, -1), list1]], "down"]}], {""}) → taken
  9. Remove(Remove[options, opposite], taken) → realOptions
  10. Zip(Polygon[A - (1 / 2, 1 / 2), A + (1 / 2, -1 / 2), 4], A, list1) → list2
  11. Element(list2, Length[list2]) → poly1
  12. Length(list2) → pathLength
  13. Element(list2, 1) → p1
  14. Element(list2, 2) → p2
  15. Element(list2, 3) → p3
  16. Element(list2, 4) → p4
  17. Element(list2, 5) → p5
  18. Element(list2, 6) → p6
  19. Element(list2, 7) → p7
  20. Element(list2, 8) → p8
  21. Element(list2, 9) → p9
  22. Element(list2, 10) → p10
  23. Element(list2, 11) → p11
  24. Element(list2, 12) → p12
  25. Element(list2, 13) → p13
  26. Element(list2, 14) → p14
  27. Element(list2, 15) → p15
  28. Element(list2, 16) → p16
  29. Element(list2, 17) → p17
  30. Element(list2, 18) → p18
  31. Element(list2, 19) → p19
  32. Element(list2, 20) → p20
  33. Element(list2, 21) → p21
  34. Element(list2, 22) → p22
  35. Element(list2, 23) → p23
  36. Element(list2, 24) → p24
  37. Element(list2, 25) → p25
  38. Element(list2, 26) → p26
  39. Element(list2, 27) → p27
  40. Element(list2, 28) → p28
  41. Element(list2, 29) → p29
  42. Element(list2, 30) → p30
  43. Element(list2, 31) → p31
  44. Element(list2, 32) → p32
  45. Element(list2, 34) → p34
  46. Element(list2, 35) → p35
  47. Element(list2, 36) → p36
  48. Element(list2, 37) → p37
  49. Element(list2, 38) → p38
  50. Element(list2, 39) → p39
  51. Element(list2, 40) → p40
  52. Element(list2, 41) → p41
  53. Element(list2, 42) → p42
  54. Element(list2, 43) → p43
  55. Element(list2, 44) → p44
  56. Element(list2, 45) → p45
  57. Element(list2, 46) → p46
  58. Element(list2, 47) → p47
  59. Element(list2, 48) → p48
  60. Element(list2, 49) → p49
  61. Element(list2, 50) → p50
  62. Zip(x(A) / denominator + (((denominator * multiplier) - y(A)) * multiplier), A, valuesHelper) → values
  63. Element(list2, 33) → p33
  64. Sequence(Text[Element[list4, i], Element[list1, IndexOf[Element[list4, i], values]] - (0.35, 0.2)], i, 1, Length[list4]) → list5
  65. Zip(A + (-0.4, 0.4), A, list1) → correctLocations
  66. Zip(Text[A], A, values) → list3
  67. LaTeX(If[floor(Element[list4, 1]) ≟ 0, FractionText[Element[list4, 1]], Text[floor(Element[list4, 1])] + (If[Element[list4, 1] - floor(Element[list4, 1]) > 0, FractionText[Element[list4, 1] - floor(Element[list4, 1])], ""])]) → t1
  68. LaTeX(If[floor(Element[list4, 2]) ≟ 0, FractionText[Element[list4, 2]], Text[floor(Element[list4, 2])] + (If[Element[list4, 2] - floor(Element[list4, 2]) > 0, FractionText[Element[list4, 2] - floor(Element[list4, 2])], ""])]) → t2
  69. LaTeX(If[floor(Element[list4, 3]) ≟ 0, FractionText[Element[list4, 3]], Text[floor(Element[list4, 3])] + (If[Element[list4, 3] - floor(Element[list4, 3]) > 0, FractionText[Element[list4, 3] - floor(Element[list4, 3])], ""])]) → t3
  70. LaTeX(If[floor(Element[list4, 4]) ≟ 0, FractionText[Element[list4, 4]], Text[floor(Element[list4, 4])] + (If[Element[list4, 4] - floor(Element[list4, 4]) > 0, FractionText[Element[list4, 4] - floor(Element[list4, 4])], ""])]) → t4
  71. LaTeX(If[floor(Element[list4, 5]) ≟ 0, FractionText[Element[list4, 5]], Text[floor(Element[list4, 5])] + (If[Element[list4, 5] - floor(Element[list4, 5]) > 0, FractionText[Element[list4, 5] - floor(Element[list4, 5])], ""])]) → t5
  72. LaTeX(If[floor(Element[list4, 6]) ≟ 0, FractionText[Element[list4, 6]], Text[floor(Element[list4, 6])] + (If[Element[list4, 6] - floor(Element[list4, 6]) > 0, FractionText[Element[list4, 6] - floor(Element[list4, 6])], ""])]) → t6
  73. LaTeX(If[floor(Element[list4, 7]) ≟ 0, FractionText[Element[list4, 7]], Text[floor(Element[list4, 7])] + (If[Element[list4, 7] - floor(Element[list4, 7]) > 0, FractionText[Element[list4, 7] - floor(Element[list4, 7])], ""])]) → t7
  74. LaTeX(If[floor(Element[list4, 8]) ≟ 0, FractionText[Element[list4, 8]], Text[floor(Element[list4, 8])] + (If[Element[list4, 8] - floor(Element[list4, 8]) > 0, FractionText[Element[list4, 8] - floor(Element[list4, 8])], ""])]) → t8
  75. LaTeX(If[floor(Element[list4, 9]) ≟ 0, FractionText[Element[list4, 9]], Text[floor(Element[list4, 9])] + (If[Element[list4, 9] - floor(Element[list4, 9]) > 0, FractionText[Element[list4, 9] - floor(Element[list4, 9])], ""])]) → t9
  76. LaTeX(If[floor(Element[list4, 10]) ≟ 0, FractionText[Element[list4, 10]], Text[floor(Element[list4, 10])] + (If[Element[list4, 10] - floor(Element[list4, 10]) > 0, FractionText[Element[list4, 10] - floor(Element[list4, 10])], ""])]) → t10
  77. LaTeX(If[floor(Element[list4, 11]) ≟ 0, FractionText[Element[list4, 11]], Text[floor(Element[list4, 11])] + (If[Element[list4, 11] - floor(Element[list4, 11]) > 0, FractionText[Element[list4, 11] - floor(Element[list4, 11])], ""])]) → t11
  78. LaTeX(If[floor(Element[list4, 12]) ≟ 0, FractionText[Element[list4, 12]], Text[floor(Element[list4, 12])] + (If[Element[list4, 12] - floor(Element[list4, 12]) > 0, FractionText[Element[list4, 12] - floor(Element[list4, 12])], ""])]) → t12
  79. LaTeX(If[floor(Element[list4, 13]) ≟ 0, FractionText[Element[list4, 13]], Text[floor(Element[list4, 13])] + (If[Element[list4, 13] - floor(Element[list4, 13]) > 0, FractionText[Element[list4, 13] - floor(Element[list4, 13])], ""])]) → t13
  80. LaTeX(If[floor(Element[list4, 14]) ≟ 0, FractionText[Element[list4, 14]], Text[floor(Element[list4, 14])] + (If[Element[list4, 14] - floor(Element[list4, 14]) > 0, FractionText[Element[list4, 14] - floor(Element[list4, 14])], ""])]) → t14
  81. LaTeX(If[floor(Element[list4, 15]) ≟ 0, FractionText[Element[list4, 15]], Text[floor(Element[list4, 15])] + (If[Element[list4, 15] - floor(Element[list4, 15]) > 0, FractionText[Element[list4, 15] - floor(Element[list4, 15])], ""])]) → t15
  82. LaTeX(If[floor(Element[list4, 16]) ≟ 0, FractionText[Element[list4, 16]], Text[floor(Element[list4, 16])] + (If[Element[list4, 16] - floor(Element[list4, 16]) > 0, FractionText[Element[list4, 16] - floor(Element[list4, 16])], ""])]) → t16
  83. LaTeX(If[floor(Element[list4, 17]) ≟ 0, FractionText[Element[list4, 17]], Text[floor(Element[list4, 17])] + (If[Element[list4, 17] - floor(Element[list4, 17]) > 0, FractionText[Element[list4, 17] - floor(Element[list4, 17])], ""])]) → t17
  84. LaTeX(If[floor(Element[list4, 18]) ≟ 0, FractionText[Element[list4, 18]], Text[floor(Element[list4, 18])] + (If[Element[list4, 18] - floor(Element[list4, 18]) > 0, FractionText[Element[list4, 18] - floor(Element[list4, 18])], ""])]) → t18
  85. LaTeX(If[floor(Element[list4, 19]) ≟ 0, FractionText[Element[list4, 19]], Text[floor(Element[list4, 19])] + (If[Element[list4, 19] - floor(Element[list4, 19]) > 0, FractionText[Element[list4, 19] - floor(Element[list4, 19])], ""])]) → t19
  86. LaTeX(If[floor(Element[list4, 20]) ≟ 0, FractionText[Element[list4, 20]], Text[floor(Element[list4, 20])] + (If[Element[list4, 20] - floor(Element[list4, 20]) > 0, FractionText[Element[list4, 20] - floor(Element[list4, 20])], ""])]) → t20
  87. LaTeX(If[floor(Element[list4, 21]) ≟ 0, FractionText[Element[list4, 21]], Text[floor(Element[list4, 21])] + (If[Element[list4, 21] - floor(Element[list4, 21]) > 0, FractionText[Element[list4, 21] - floor(Element[list4, 21])], ""])]) → t21
  88. LaTeX(If[floor(Element[list4, 22]) ≟ 0, FractionText[Element[list4, 22]], Text[floor(Element[list4, 22])] + (If[Element[list4, 22] - floor(Element[list4, 22]) > 0, FractionText[Element[list4, 22] - floor(Element[list4, 22])], ""])]) → t22
  89. LaTeX(If[floor(Element[list4, 23]) ≟ 0, FractionText[Element[list4, 23]], Text[floor(Element[list4, 23])] + (If[Element[list4, 23] - floor(Element[list4, 23]) > 0, FractionText[Element[list4, 23] - floor(Element[list4, 23])], ""])]) → t23
  90. LaTeX(If[floor(Element[list4, 24]) ≟ 0, FractionText[Element[list4, 24]], Text[floor(Element[list4, 24])] + (If[Element[list4, 24] - floor(Element[list4, 24]) > 0, FractionText[Element[list4, 24] - floor(Element[list4, 24])], ""])]) → t24
  91. LaTeX(If[floor(Element[list4, 25]) ≟ 0, FractionText[Element[list4, 25]], Text[floor(Element[list4, 25])] + (If[Element[list4, 25] - floor(Element[list4, 25]) > 0, FractionText[Element[list4, 25] - floor(Element[list4, 25])], ""])]) → t25
  92. LaTeX(If[floor(Element[list4, 26]) ≟ 0, FractionText[Element[list4, 26]], Text[floor(Element[list4, 26])] + (If[Element[list4, 26] - floor(Element[list4, 26]) > 0, FractionText[Element[list4, 26] - floor(Element[list4, 26])], ""])]) → t26
  93. LaTeX(If[floor(Element[list4, 27]) ≟ 0, FractionText[Element[list4, 27]], Text[floor(Element[list4, 27])] + (If[Element[list4, 27] - floor(Element[list4, 27]) > 0, FractionText[Element[list4, 27] - floor(Element[list4, 27])], ""])]) → t27
  94. LaTeX(If[floor(Element[list4, 28]) ≟ 0, FractionText[Element[list4, 28]], Text[floor(Element[list4, 28])] + (If[Element[list4, 28] - floor(Element[list4, 28]) > 0, FractionText[Element[list4, 28] - floor(Element[list4, 28])], ""])]) → t28
  95. LaTeX(If[floor(Element[list4, 29]) ≟ 0, FractionText[Element[list4, 29]], Text[floor(Element[list4, 29])] + (If[Element[list4, 29] - floor(Element[list4, 29]) > 0, FractionText[Element[list4, 29] - floor(Element[list4, 29])], ""])]) → t29
  96. LaTeX(If[floor(Element[list4, 30]) ≟ 0, FractionText[Element[list4, 30]], Text[floor(Element[list4, 30])] + (If[Element[list4, 30] - floor(Element[list4, 30]) > 0, FractionText[Element[list4, 30] - floor(Element[list4, 30])], ""])]) → t30
  97. LaTeX(If[floor(Element[list4, 31]) ≟ 0, FractionText[Element[list4, 31]], Text[floor(Element[list4, 31])] + (If[Element[list4, 31] - floor(Element[list4, 31]) > 0, FractionText[Element[list4, 31] - floor(Element[list4, 31])], ""])]) → t31
  98. LaTeX(If[floor(Element[list4, 32]) ≟ 0, FractionText[Element[list4, 32]], Text[floor(Element[list4, 32])] + (If[Element[list4, 32] - floor(Element[list4, 32]) > 0, FractionText[Element[list4, 32] - floor(Element[list4, 32])], ""])]) → t32
  99. LaTeX(If[floor(Element[list4, 33]) ≟ 0, FractionText[Element[list4, 33]], Text[floor(Element[list4, 33])] + (If[Element[list4, 33] - floor(Element[list4, 33]) > 0, FractionText[Element[list4, 33] - floor(Element[list4, 33])], ""])]) → t33
  100. LaTeX(If[floor(Element[list4, 34]) ≟ 0, FractionText[Element[list4, 34]], Text[floor(Element[list4, 34])] + (If[Element[list4, 34] - floor(Element[list4, 34]) > 0, FractionText[Element[list4, 34] - floor(Element[list4, 34])], ""])]) → t34
  101. LaTeX(If[floor(Element[list4, 35]) ≟ 0, FractionText[Element[list4, 35]], Text[floor(Element[list4, 35])] + (If[Element[list4, 35] - floor(Element[list4, 35]) > 0, FractionText[Element[list4, 35] - floor(Element[list4, 35])], ""])]) → t35
  102. LaTeX(If[floor(Element[list4, 36]) ≟ 0, FractionText[Element[list4, 36]], Text[floor(Element[list4, 36])] + (If[Element[list4, 36] - floor(Element[list4, 36]) > 0, FractionText[Element[list4, 36] - floor(Element[list4, 36])], ""])]) → t36
  103. LaTeX(If[floor(Element[list4, 37]) ≟ 0, FractionText[Element[list4, 37]], Text[floor(Element[list4, 37])] + (If[Element[list4, 37] - floor(Element[list4, 37]) > 0, FractionText[Element[list4, 37] - floor(Element[list4, 37])], ""])]) → t37
  104. LaTeX(If[floor(Element[list4, 38]) ≟ 0, FractionText[Element[list4, 38]], Text[floor(Element[list4, 38])] + (If[Element[list4, 38] - floor(Element[list4, 38]) > 0, FractionText[Element[list4, 38] - floor(Element[list4, 38])], ""])]) → t38
  105. LaTeX(If[floor(Element[list4, 39]) ≟ 0, FractionText[Element[list4, 39]], Text[floor(Element[list4, 39])] + (If[Element[list4, 39] - floor(Element[list4, 39]) > 0, FractionText[Element[list4, 39] - floor(Element[list4, 39])], ""])]) → t39
  106. LaTeX(If[floor(Element[list4, 40]) ≟ 0, FractionText[Element[list4, 40]], Text[floor(Element[list4, 40])] + (If[Element[list4, 40] - floor(Element[list4, 40]) > 0, FractionText[Element[list4, 40] - floor(Element[list4, 40])], ""])]) → t40
  107. LaTeX(If[floor(Element[list4, 41]) ≟ 0, FractionText[Element[list4, 41]], Text[floor(Element[list4, 41])] + (If[Element[list4, 41] - floor(Element[list4, 41]) > 0, FractionText[Element[list4, 41] - floor(Element[list4, 41])], ""])]) → t41
  108. LaTeX(If[floor(Element[list4, 42]) ≟ 0, FractionText[Element[list4, 42]], Text[floor(Element[list4, 42])] + (If[Element[list4, 42] - floor(Element[list4, 42]) > 0, FractionText[Element[list4, 42] - floor(Element[list4, 42])], ""])]) → t42
  109. LaTeX(If[floor(Element[list4, 43]) ≟ 0, FractionText[Element[list4, 43]], Text[floor(Element[list4, 43])] + (If[Element[list4, 43] - floor(Element[list4, 43]) > 0, FractionText[Element[list4, 43] - floor(Element[list4, 43])], ""])]) → t43
  110. LaTeX(If[floor(Element[list4, 44]) ≟ 0, FractionText[Element[list4, 44]], Text[floor(Element[list4, 44])] + (If[Element[list4, 44] - floor(Element[list4, 44]) > 0, FractionText[Element[list4, 44] - floor(Element[list4, 44])], ""])]) → t44
  111. LaTeX(If[floor(Element[list4, 45]) ≟ 0, FractionText[Element[list4, 45]], Text[floor(Element[list4, 45])] + (If[Element[list4, 45] - floor(Element[list4, 45]) > 0, FractionText[Element[list4, 45] - floor(Element[list4, 45])], ""])]) → t45
  112. LaTeX(If[floor(Element[list4, 46]) ≟ 0, FractionText[Element[list4, 46]], Text[floor(Element[list4, 46])] + (If[Element[list4, 46] - floor(Element[list4, 46]) > 0, FractionText[Element[list4, 46] - floor(Element[list4, 46])], ""])]) → t46
  113. LaTeX(If[floor(Element[list4, 47]) ≟ 0, FractionText[Element[list4, 47]], Text[floor(Element[list4, 47])] + (If[Element[list4, 47] - floor(Element[list4, 47]) > 0, FractionText[Element[list4, 47] - floor(Element[list4, 47])], ""])]) → t47
  114. LaTeX(If[floor(Element[list4, 48]) ≟ 0, FractionText[Element[list4, 48]], Text[floor(Element[list4, 48])] + (If[Element[list4, 48] - floor(Element[list4, 48]) > 0, FractionText[Element[list4, 48] - floor(Element[list4, 48])], ""])]) → t48
  115. LaTeX(If[floor(Element[list4, 49]) ≟ 0, FractionText[Element[list4, 49]], Text[floor(Element[list4, 49])] + (If[Element[list4, 49] - floor(Element[list4, 49]) > 0, FractionText[Element[list4, 49] - floor(Element[list4, 49])], ""])]) → t49
  116. LaTeX(If[floor(Element[list4, 50]) ≟ 0, FractionText[Element[list4, 50]], Text[floor(Element[list4, 50])] + (If[Element[list4, 50] - floor(Element[list4, 50]) > 0, FractionText[Element[list4, 50] - floor(Element[list4, 50])], ""])]) → t50