Fraction Simplification Practice

Fraction Simplification Practice
Loading the math board and drawing, please wait…
2022-08-24 17:42
An interactive GeoGebra exercise for mastering fraction simplification through diverse question types. Core mathematical concepts: finding greatest common divisors, determining whether fractions can be simplified, understanding that simplification does not change the fraction's value. Construction highlights: Textfield for answer input, CountIf and If commands for answer checking, Sequence for generating number options, LaTeX for mathematical notation. Objects include listZähler (numerator list), listNenner (denominator list), and durchschnittTeiler (GCD) for simplification validation. Suitable for grades 5-6 students or fraction operation review sessions.

GeoGebra Commands & Parameters

  1. Intersection(DivisorsList[nenner2], DivisorsList[zaehler2]) → durchschnittTeiler
  2. Circle(MidPoint, pointKreis1) → kreis1
  3. Join({{"$\textsf{\vphantom{Äg}\phantom{=}}$"}, Sequence[(("$\textsf{\vphantom{Äg}" * AufgabenText(i)) * "}$"), i, 1, CountIf[x ≠ "" ∨ x ≠ 0, AufgabenText]]}) → LDP1
  4. CountIf(x ≠ 0, durchschnittTeiler) → anzahlTeiler
  5. If(¬recSplit, (x(pointAreaLeft2), y(pointAreaLeft4)), pointAreaLeft4 + (((If[zaehler2 > nenner2 / 2, zaehler2 - nenner2 / 2, zaehler2] * 2) * dxRectangle / nenner2), 0)) → pointAreaLeft3
  6. Sequence(Random[2, 12], i, 1, 100) → randomNenner, {9, 6, 10, 4, 12, 4, 5, 2, 5, 3, 2, 6, 9, 5, 10, 7, 7, 2, 10, 10, 6, 4, 7, 7, 5, 4, 4, 2, 3, 6, 7, 7, 4, 7, 7, 4, 7, 12, 5, 2, 3, 5, 6, 2, 10, 3, 11, 7, 3, 9, 10, 10, 6, 6, 10, 5, 7, 8, 2, 12, 8, 11, 8, 7, 10, 4, 12, 5, 5, 4, 5, 10, 12, 6, 4, 8, 8, 10, 5, 2, 4, 7, 4, 7, 2, 9, 10, 2, 9, 5, 12, 5, 4, 9, 12, 5, 9, 8, 4, 4}
  7. Sequence(Random[2, nenner2 - 1], i, 1, 100) → randomZaehler, {6, 6, 2, 3, 2, 4, 7, 5, 5, 5, 2, 4, 5, 3, 6, 2, 2, 6, 5, 4, 7, 4, 3, 7, 5, 6, 2, 7, 4, 2, 5, 5, 6, 2, 5, 5, 5, 5, 5, 5, 5, 7, 4, 6, 2, 5, 7, 5, 4, 7, 7, 3, 3, 7, 3, 3, 2, 3, 7, 4, 6, 2, 7, 5, 4, 3, 4, 6, 3, 6, 3, 3, 4, 2, 7, 7, 7, 7, 5, 3, 6, 2, 3, 3, 7, 4, 4, 5, 6, 2, 5, 3, 3, 5, 3, 4, 3, 2, 5, 3}
  8. Sequence(I + ((i * widthNennerBar / 12) * (1, 0)), i, 1, 12) → allowedPositionsNennerBar
  9. Point(allowedPositionsNennerBar) → PNenner
  10. Circle(M, B) → c
  11. Segment(M, M + (Radius[c] * (0, 1))) → f
  12. Vector(F, G) → u
  13. Segment(H, H + (widthZaehlerBar * (1, 0))) → g
  14. Segment(I, I + (widthNennerBar * (1, 0))) → h
  15. Sequence(H + ((i * widthZaehlerBar / 12) * (1, 0)), i, 0, nenner2) → allowedPositionsZaehlerBar
  16. Point(allowedPositionsZaehlerBar) → PZaehler
  17. Sequence(Rotate[f, ((i * 2) * pi / nenner2), M], i, 0, nenner2 - 1) → listAreaLeft_{1}
  18. Sequence(CircleSector[MidPoint, Rotate[KreisOben, (((-(i + 1)) * 2) * pi / nenner2), MidPoint], Rotate[KreisOben, (((-i) * 2) * pi / nenner2) - 0.0001, MidPoint]], i, 0, zaehler2 - 1) → listAreaLeftCircle
  19. Sequence(Random[1, zaehler2 - 1], i, 1, 100) → randomSubtrahend, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
  20. Center(sektor12v1) → M12v1
  21. Center(sektor12v2) → M12v2
  22. Center(sektor12v3) → M12v3
  23. Center(sektor12v4) → M12v4
  24. Center(sektor12v5) → M12v5
  25. Center(sektor12v6) → M12v6
  26. Center(sektor12v7) → M12v7
  27. Center(sektor12v8) → M12v8
  28. Center(sektor12v9) → M12v9
  29. Center(sektor12v10) → M12v10
  30. Center(sektor12v11) → M12v11
  31. Center(sektor12v12) → M12v12
  32. Textfield(input1) → Eingabefeld1
  33. Textfield(input2) → Eingabefeld2
  34. Join({{"$\textsf{\vphantom{Äg}Wähle aus!}$"}, Sequence[(("$\textsf{\vphantom{Äg}" * AufgabenText(i)) * "}$"), i, 1, CountIf[x ≠ "" ∨ x ≠ 0, AufgabenText]]}) → LDP1_{1}
  35. Join({{"$\textsf{\vphantom{Äg}Wähle aus!}$"}, Sequence[(("$\textsf{\vphantom{Äg}" * AufgabenText(i)) * "}$"), i, 1, CountIf[x ≠ "" ∨ x ≠ 0, AufgabenText]]}) → LDP2
  36. Point(xAxis) → J
  37. OrthogonalLine(J, xAxis) → i
  38. Point(xAxis) → K
  39. LineBisector(K, J) → j
  40. Translate({listAreaLeftCircle}, (dxBruch2, 0)) → showBruch201
  41. Sequence(Rotate[f, ((i * 2) * pi / ((verfeinerung * nenner2))), M], i, 0, (verfeinerung * nenner2) - 1) → l3
  42. Translate({l3}, (dxBruch2, 0)) → showBruch202
  43. Translate({c, listAreaLeft_{1}}, (dxBruch2, 0)) → showBruch203
  44. LaTeX(step, true, true) → Text5
  45. CircleArc(O, N, PosBogerl) → bogerl11
  46. Point(bogerl11) → pointBogerl1
  47. Vector(pointBogerl1, N + (0.1 * Vector[pointBogerl1, N])) → bogerl1pfeil
  48. OrthogonalLine(Q, yAxis) → k
  49. Sequence(7) → listSteps
  50. Min(listSteps) → Min
  51. Max(listSteps) → Max
  52. Segment(pointFrame3, pointFrame2) → lineLeftHorizontal
  53. Segment(pointFrame2, pointFrame1) → lineLeftVertical
  54. Join({Sequence[Segment[Translate[pointFrame2, (i * If[nenner2 ≟ 2, (i * dxRectangle / nenner2), ((dxRectangle * If[Mod[nenner2, 2] ≟ 0, 2, 1] / nenner2), 0)])], Translate[pointFrame1, (i * If[nenner2 ≟ 2, (i * dxRectangle / nenner2), ((dxRectangle * If[Mod[nenner2, 2] ≟ 0, 2, 1] / nenner2), 0)])]], i, 0, (nenner2 * If[Mod[nenner2, 2] ≟ 0, 0.5, 1])], Sequence[Segment[Translate[pointFrame3, (i * If[Mod[nenner2, 2] ≟ 0 ∧ nenner2 ≠ 2, (0, dyRectangle / 2), (0, dyRectangle)])], Translate[pointFrame2, (i * If[Mod[nenner2, 2] ≟ 0 ∧ nenner2 ≠ 2, (0, dyRectangle / 2), (0, dyRectangle)])]], i, 0, If[Mod[nenner2, 2] ≟ 0 ∧ nenner2 ≠ 2, 2, 1]]}) → listLeftLinesVertical
  55. Join({{lineLeftHorizontal, lineLeftVertical}, {Segment[Translate[pointFrame3, (0, dyRectangle)], Translate[pointFrame2, (0, dyRectangle)]]}, {Segment[Translate[pointFrame2, (dxRectangle, 0)], Translate[pointFrame1, (dxRectangle, 0)]]}}) → listFrameLeft
  56. Translate(listFrameLeft, (dxShift, 0)) → listFrameRight
  57. Translate(listAreaLeft, (dxShift, 0)) → listAreaRight
  58. Intersection(DivisorsList[zaehler2], DivisorsList[nenner2]) → l1
  59. Join({Sequence[Translate[Segment[Translate[pointFrame2, (dxShift, 0)], Translate[pointFrame1, (dxShift, 0)]], (i * If[nenner3 ≟ 2, (i * dxRectangle / nenner3), ((dxRectangle * If[Mod[nenner3, 2] ≟ 0, 2, 1] / nenner3), 0)])], i, 0, (nenner3 * If[Mod[nenner3, 2] ≟ 0, 0.5, 1])], Sequence[Translate[Segment[Translate[pointFrame3, (dxShift, 0)], Translate[pointFrame2, (dxShift, 0)]], (i * If[Mod[nenner3, 2] ≟ 0 ∧ nenner3 ≠ 2, (0, dyRectangle / 2), (0, dyRectangle)])], i, 0, If[Mod[nenner3, 2] ≟ 0 ∧ nenner3 ≠ 2, 2, 1]]}) → l4
  60. If(¬recSplit2, (x(pointAreaRight2), y(pointAreaRight4)), pointAreaRight4 + (((If[zaehler3 > nenner3 / 2, zaehler3 - nenner3 / 2, zaehler3] * 2) * dxRectangle / nenner3), 0)) → pointAreaRight3
  61. OrthogonalLine(L, yAxis) → l
  62. Mirror(bogerl11, l) → bogerl12
  63. Mirror(pointBogerl1, l) → pointBogerl2
  64. Sequence(Segment[Rotate[MidPoint, ((i * 2) * pi / nenner2), MidPoint], Rotate[pointKreis1, ((i * 2) * pi / nenner2), MidPoint]], i, 0, nenner2 - 1) → listLinesCircleLeft
  65. Sequence(Segment[Rotate[MidPoint2, ((i * 2) * pi / nenner3), MidPoint2], Rotate[KreisOben2, ((i * 2) * pi / nenner3), MidPoint2]], i, 0, nenner3 - 1) → listLinesCircleRight
  66. Circle(MidPoint2, radius) → kreis2
  67. Sequence(CircleSector[MidPoint2, Rotate[KreisOben2, (((-(i + 1)) * 2) * pi / nenner3), MidPoint2], Rotate[KreisOben2, (((-i) * 2) * pi / nenner3) - 0.0001, MidPoint2]], i, 0, zaehler3 - 1) → listAreaRightCircle
  68. Rotate(KreisOben, ((-zaehler2) * (360°) / nenner2), MidPoint) → KreisEckpunkt
  69. CircleSector((-5.766287229319031, 3.8699043461027944), (-3.416287229319031, 3.8699043461027944), (-5.766287229319031, 6.219904346102794)) → listAreaLeftCircle2
  70. Sequence(CircleSector[M, Rotate[KreisOben, (((-(i + 1)) * 2) * pi / nenner2), M], Rotate[KreisOben, (((-i) * 2) * pi / nenner2) - 0.0001, M]], i, 0, zaehler2 - 1) → l2
  71. Center(sektor12v13) → M12v13
  72. Center(sektor12v14) → M12v14
  73. Center(sektor12v15) → M12v15
  74. Center(sektor12v16) → M12v16
  75. If(Defined[anzahlTeiler], anzahlTeiler, 1) → anzahlTeiler1

AI Drawing Prompt Reference

Create an interactive graphic showing fraction simplification practice. Include a text input box for users to enter answers, with count and conditional commands to check them. Use sequence commands to generate numerator and denominator options for fractions, and calculate the greatest common divisor to validate simplification. Incorporate sliders to control question types and display fractions using mathematical notation. The graphic should feature lists of numerators and denominators, and a GCD object for simplification validation.
The prompt above was compiled from the original drawing commands and is for reference only.