Find the Corresponding Addition!

Find the Corresponding Addition!
Loading the math board and drawing, please wait…
2022-07-11 17:23
This example demonstrates how to find the sum of two fractions. The core math concepts involved are addition and fractions. The construction points include using GeoGebra's Shuffle, Element, Join, and Segment commands to create fraction graphs. This example is suitable for 5-6 grade students, helping them understand the concepts of addition and fractions.

GeoGebra Commands & Parameters

  1. Shuffle(Sequence[Random[2, 12], i, 1, 100]) → randomNosForNenner, {4, 3, 5, 9, 11, 6, 6, 3, 7, 10, 11, 2, 12, 8, 4, 10, 5, 9, 7, 2, 12, 4, 3, 9, 9, 6, 2, 4, 10, 8, 11, 10, 11, 3, 2, 5, 10, 9, 4, 5, 8, 2, 11, 9, 4, 3, 11, 7, 9, 11, 10, 11, 9, 8, 5, 4, 12, 11, 4, 8, 3, 12, 3, 11, 8, 10, 6, 9, 11, 7, 12, 11, 3, 9, 7, 9, 4, 11, 10, 12, 10, 8, 5, 11, 8, 4, 8, 7, 8, 9, 9, 7, 7, 2, 12, 10, 6, 9, 4, 9}
  2. Element(randomNosForNenner, Mod[questionCount, 100] + 1) → nenner2
  3. Shuffle(Sequence[Random[1, nenner2 - 1], i, 1, 100]) → randomNosForZaehler2, {6, 6, 2, 1, 2, 3, 1, 4, 1, 3, 6, 2, 3, 1, 1, 1, 6, 4, 3, 2, 6, 6, 1, 5, 6, 5, 4, 6, 1, 3, 1, 6, 5, 2, 4, 1, 1, 5, 6, 6, 5, 4, 3, 4, 4, 2, 4, 2, 5, 6, 2, 1, 3, 6, 1, 5, 1, 4, 2, 1, 3, 1, 6, 4, 1, 6, 4, 4, 1, 5, 4, 4, 6, 4, 3, 5, 5, 4, 3, 2, 4, 5, 5, 5, 6, 5, 6, 6, 5, 6, 1, 6, 5, 4, 4, 4, 2, 1, 2, 3}
  4. Element(randomNosForZaehler2, Mod[questionCount, 100] + 1) → zaehler2
  5. Shuffle(Sequence[nenner2 - Random[zaehler2, nenner2 - 1], i, 1, 100]) → randomNosForZaehler3, {6, 1, 4, 4, 3, 6, 2, 5, 6, 1, 3, 3, 4, 6, 4, 6, 4, 5, 5, 6, 2, 3, 2, 6, 5, 4, 3, 6, 2, 1, 6, 6, 4, 2, 1, 4, 6, 2, 3, 2, 5, 2, 6, 5, 6, 2, 4, 1, 1, 5, 6, 2, 1, 4, 5, 5, 6, 1, 6, 6, 2, 5, 3, 5, 6, 3, 6, 5, 1, 1, 5, 3, 6, 3, 3, 4, 6, 4, 6, 2, 3, 3, 3, 5, 4, 1, 3, 6, 6, 2, 2, 1, 6, 3, 3, 4, 4, 2, 6, 2}
  6. Element(randomNosForZaehler3, Mod[questionCount, 100] + 1) → zaehler3
  7. Join({Sequence[Segment[F + ((i * widthZaehlerBar / 12), (-2 * hightLine)), F + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, 0, 0], Sequence[Segment[F + ((i * widthZaehlerBar / 12), (-hightLine)), F + ((i * widthZaehlerBar / 12), hightLine)], i, 0, nenner2], Sequence[Segment[F + ((i * widthZaehlerBar / 12), (-2 * hightLine)), F + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, nenner2, nenner2]}) → streckenStrecken2
  8. Last(streckenStrecken2) → referencePoint2
  9. Segment(F, P2) → q
  10. Circle(A_1, C) → d
  11. Mirror(Sequence[CircleSector[A_1, Rotate[K, (((-(i + 1)) * 2) * pi / nenner2), A_1], Rotate[K, ((i * (-2)) * pi / nenner2) - 0.0001, A_1]], i, 0, zaehler3 - 1], Line[A_1, A_1 + (0, 1)]) → sectors2
  12. Textfield(aInput) → InputBox5
  13. Textfield(bInput) → InputBox6
  14. Sequence(I + ((i * widthNennerBar / 12) * (1, 0)), i, 1, 12) → allowedPositionsNennerBar
  15. Point(allowedPositionsNennerBar) → PNenner
  16. Sequence(H_1 + ((i * widthZaehlerBar / 12) * (1, 0)), i, 0, nenner2) → allowedPositionsZaehlerBar1
  17. Point(allowedPositionsZaehlerBar1) → PZaehler1
  18. Sequence(H + ((i * widthZaehlerBar / 12) * (1, 0)), i, 0, nenner2) → allowedPositionsZaehlerBar
  19. Point(allowedPositionsZaehlerBar) → PZaehler
  20. Sequence(E + ((i * widthZaehlerBar / 12) * (1, 0)), i, -4, zaehler2, 0.5) → listeEx1
  21. Element(randomNosForZaehler2, Mod[questionCount, 100] + 1) → numX
  22. Element(randomNosForZaehler3, Mod[questionCount, 100] + 1) → numY
  23. Append(true, Sequence[If[randomNosForZaehler2(i) ≟ randomNosForZaehler2(i - 1), false, true], i, 2, 100]) → stayX
  24. Append(true, Sequence[If[randomNosForZaehler3(i) ≟ randomNosForZaehler3(i - 1), false, true], i, 2, 100]) → stayY
  25. Remove(Sequence[If[stayX(i), randomNosForZaehler2(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeat
  26. Remove(Sequence[If[stayY(i), randomNosForZaehler3(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeat
  27. Element(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeat
  28. Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeat
  29. Defined(input) → fixed1
  30. Circle(A, B) → c
  31. Segment(A, A + (Radius[c] * (0, 1))) → g
  32. Segment(I, I + (widthNennerBar * (1, 0))) → h
  33. Segment(H, H + (widthZaehlerBar * (1, 0))) → i
  34. Segment(H_1, H_1 + (widthZaehlerBar * (1, 0))) → j
  35. Sequence(Rotate[g, ((i * 2) * pi / nenner2), A], i, 0, nenner2 - 1) → StrechenLeftKreis
  36. Circle(A_2, D) → e
  37. Segment(A_1, A_1 + (Radius[d] * (0, 1))) → k
  38. Segment(A_2, A_2 + (Radius[e] * (0, 1))) → l
  39. Sequence(Rotate[l, ((i * 2) * pi / nenner2), A_2], i, 0, nenner2 - 1) → StreckenKreisRechts
  40. Sequence(CircleSector[A, Rotate[KreisOben, (((-(i + 1)) * 2) * pi / nenner2), A], Rotate[KreisOben, (((-i) * 2) * pi / nenner2) - 0.0001, A]], i, 0, zaehler2 - 1) → sectors1
  41. Sequence(CircleSector[A_2, Rotate[J, (((-(i + 1)) * 2) * pi / nenner2), A_2], Rotate[J, (((-i) * 2) * pi / nenner2) - 0.0001, A_2]], i, 0, zaehler3 - 1) → sectors3_2
  42. Join({Sequence[Segment[E + ((i * widthZaehlerBar / 12), (-2 * hightLine)), E + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, 0, 0], Sequence[Segment[E + ((i * widthZaehlerBar / 12), (-hightLine)), E + ((i * widthZaehlerBar / 12), hightLine)], i, 0, nenner2], Sequence[Segment[E + ((i * widthZaehlerBar / 12), (-2 * hightLine)), E + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, nenner2, nenner2]}) → streckenStrecken1
  43. Element(types, 4) → Text3
  44. Element(types, 4) → Text4
  45. Sequence(E + ((i * widthZaehlerBar / 12) * (1, 0)), i, 0, zaehler2) → streckenPunktLeft
  46. If(zaehler2 ≟ 1, E + ((1 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 2, E + ((2 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 3, E + ((3 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 4, E + ((4 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 5, E + ((5 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 6, E + ((6 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 7, E + ((7 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 8, E + ((8 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 9, E + ((9 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 10, E + ((10 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 11, E + ((11 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler2 ≟ 12, E + ((12 / 12 * widthZaehlerBar) * (1, 0))]]]]]]]]]]]) → PExample
  47. Sequence(F + ((i * widthZaehlerBar / 12) * (1, 0)), i, 0, nenner2) → streckenPunktRight
  48. Sequence(F + ((i * widthZaehlerBar / 12) * (1, 0)), i, 1, zaehler3, 0.5) → listeEx2
  49. If(zaehler3 ≟ 1, F + ((1 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 2, F + ((2 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 3, F + ((3 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 4, F + ((4 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 5, F + ((5 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 6, F + ((6 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 7, F + ((7 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 8, F + ((8 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 9, F + ((9 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 10, F + ((10 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 11, F + ((11 / 12 * widthZaehlerBar) * (1, 0)), If[zaehler3 ≟ 12, F + ((12 / 12 * widthZaehlerBar) * (1, 0))]]]]]]]]]]]) → PExample1
  50. Segment(E, PExample) → m
  51. Segment(F, PExample1) → n
  52. Last(streckenStrecken1) → referencePoint1
  53. Segment(E, P1) → p
  54. Segment(G, L) → r
  55. Segment(M, N) → s
  56. Sequence(Segment[(x(M) + t, y(M)), (x(M) + t, y(M) + 2)], t, 0, nenner2 / 2, 0.5) → balken2
  57. Sequence(Segment[(x(G) + t, y(G)), (x(G) + t, y(G) + 2)], t, 0, nenner2 / 2, 0.5) → balken1
  58. Sequence(L + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte1
  59. Sequence(G + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte2
  60. Sequence(N + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte3
  61. Sequence(M + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte4
  62. Last(balkenPunkte1) → LastBalkenPunkte1
  63. Last(balkenPunkte2) → LastBalkenPunkte2
  64. Last(balkenPunkte3) → LastBalkenPunkte3
  65. Last(balkenPunkte4) → LastBalkenPunkte4
  66. Point(LastBalkenPunkte1) → O
  67. Segment(L, O) → t
  68. Point(LastBalkenPunkte2) → P
  69. Segment(G, P) → a
  70. Point(LastBalkenPunkte4) → Q
  71. Segment(M, Q) → b
  72. Point(LastBalkenPunkte3) → R
  73. Segment(N, R) → f_1
  74. Sequence(Polygon[(i, 5), (i + 0.5, 5), (i + 0.5, 7), (i, 7)], i, -5, zaehler2 / 2 - 5.5, 0.5) → l1
  75. Sequence(Polygon[(i, 5), (i + 0.5, 5), (i + 0.5, 7), (i, 7)], i, 2, zaehler3 / 2 + 1.5, 0.5) → l2
  76. Translate(sectors1, (schiebeSectors1, 0)) → sectors1'
  77. Join({Sequence[Segment[S + ((i * widthZaehlerBar / 12), (-2 * hightLine)), S + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, 0, 0], Sequence[Segment[S + ((i * widthZaehlerBar / 12), (-hightLine)), S + ((i * widthZaehlerBar / 12), hightLine)], i, 0, nenner2], Sequence[Segment[S + ((i * widthZaehlerBar / 12), (-2 * hightLine)), S + ((i * widthZaehlerBar / 12), (2 * hightLine))], i, nenner2, nenner2]}) → streckenStrecken3
  78. Last(streckenStrecken3) → referencePoint3
  79. Segment(S, P3) → g_1
  80. Segment(T, U) → i_1
  81. Sequence(Segment[(x(U) + t, y(U)), (x(U) + t, y(U) + 2)], t, 0, nenner2 / 2, 0.5) → balken3
  82. Sequence(T + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte5
  83. Sequence(U + ((i * widthZaehlerBar / 8) * (1, 0)), i, 0, nenner2) → balkenPunkte6
  84. Last(balkenPunkte5) → LastBalkenPunkte5
  85. Last(balkenPunkte6) → LastBalkenPunkte6
  86. Point(LastBalkenPunkte5) → V
  87. Point(LastBalkenPunkte6) → W
  88. Segment(T, V) → j_1
  89. Segment(U, W) → k_1
  90. Sequence(Polygon[(i, 5), (i + 0.5, 5), (i + 0.5, 7), (i, 7)], i, 8, zaehler2 / 2 + 5.5, 0.5) → l3
  91. Translate(l1, (schiebeBalken1, 0)) → l1'
  92. Translate(l2, (schiebeBalken2, 0)) → l2'
  93. Translate(E, (schiebeStrecke1, 0)) → E'
  94. Translate(PExample, (schiebeStrecke1, 0)) → PExample'
  95. Segment(E', PExample') → m'
  96. Translate(F, (schiebeStrecke2, 0)) → F'
  97. Translate(PExample1, (schiebeStrecke2, 0)) → PExample1'
  98. Segment(F', PExample1') → n'
  99. Last(balken1) → l4
  100. First(balken2) → l5
  101. Midpoint(strecke1) → Z
  102. Midpoint(strecke2) → B_1
  103. Last(balken2) → l6
  104. First(balken3) → l7
  105. Midpoint(strecke3) → C_1
  106. Midpoint(strecke4) → D_1
  107. Segment(Z, B_1) → h_1
  108. Segment(C_1, D_1) → l_1
  109. Midpoint(h_1) → E_1
  110. Midpoint(l_1) → F_1
  111. Last(streckenStrecken1) → l8
  112. First(streckenStrecken2) → l9
  113. Last(streckenStrecken2) → l10
  114. First(streckenStrecken3) → l11
  115. Point(l8) → G_1
  116. Point(l9) → I_1
  117. Segment(G_1, I_1) → m_1
  118. Point(l10) → J_1
  119. Point(l11) → K_1
  120. Segment(J_1, K_1) → n_1
  121. Midpoint(m_1) → L_1
  122. Midpoint(n_1) → M_1
  123. Translate(sectors2, (schiebeSectors2, 0)) → sectors2'
  124. Mirror(sectors2', gl2) → sectors2''
  125. Textfield(input11) → InputBox1
  126. Textfield(input21) → InputBox3
  127. Textfield(input12) → InputBox2
  128. Textfield(input22) → InputBox4
  129. Sequence(Sequence[PointInput + ((i * dxInput), (j * dyInput)), i, 0, 2], j, 0, 1) → PosInput, {{(-4.679075080954589, 2.471315735926265), (0.5009249190454108, 2.471315735926265), (5.6809249190454105, 2.471315735926265)}, {(-4.679075080954589, 1.291315735926265), (0.5009249190454108, 1.291315735926265), (5.6809249190454105, 1.291315735926265)}}
  130. Translate(PtopLeftCornerFeedback, (dxInput, 0)) → PtopLeftCornerFeedback'
  131. Translate(PtopRightCornerFeedback, (dxInput, 0)) → PtopRightCornerFeedback'
  132. Translate(PbottomRightCornerFeedback, (dxInput, 0)) → PbottomRightCornerFeedback'
  133. Translate(PbottomLeftCornerFeedback, (dxInput, 0)) → PbottomLeftCornerFeedback'
  134. Polygon(PtopLeftCornerFeedback', PtopRightCornerFeedback', PbottomRightCornerFeedback', PbottomLeftCornerFeedback') → rectangleCorrect', ptopleftcornerfeedback', ptoprightcornerfeedback', pbottomrightcornerfeedback', pbottomleftcornerfeedback'
  135. Translate(sectors1, (schiebeSectors1, 0)) → sectors1'white
  136. Translate(sectors2, (schiebeSectors2, 0)) → sectors2'white
  137. Textfield(zwInput1) → Eingabefeld1
  138. Textfield(zwInput2) → Eingabefeld2
  139. Textfield(zwInput3) → Eingabefeld3
  140. Mod(zaehler2 + zaehler3, nenner2) → solZahler2
  141. Mod(solZaehler, nenner2) → solZaehler2
  142. If(solGanze2 ≟ 1, zwInput1 ≟ solGanze2, solGanze2 > 1, zwInput2 ≟ solZahler2 ∧ zwInput3 ≟ nenner2, false) → correct51
  143. Segment(E, E + ((nenner2 * widthZaehlerBar / 12), 0)) → lineStrecken1
  144. Segment(F, F + ((nenner2 * widthZaehlerBar / 12), 0)) → lineStrecken2
  145. Segment(S, S + ((nenner2 * widthZaehlerBar / 12), 0)) → linieStrecke4
  146. Segment(S, S + ((nenner2 * widthZaehlerBar / 12), 0)) → lineStrecken3
  147. Sequence(Rotate[k, ((i * 2) * pi / nenner2), A_1], i, 0, nenner2 - 1) → StreckenKreisMitte
  148. Length(n) → lengthLila
  149. Length(lineStrecken3) → lengthGrey
  150. Distance(P, E') → PE'

AI Drawing Prompt Reference

Draw a fraction addition example to show the process of adding two fractions. First, create bar graphs for the two fractions, with each bar consisting of multiple segments representing the numerator and denominator. Then, draw connecting line segments between the two bar graphs to represent the addition of the fractions. Finally, add input boxes below the graph to enter the numerators and denominators of the two fractions, and display the calculation result next to it.
The prompt above was compiled from the original drawing commands and is for reference only.