Visual Fraction Comparison Tool

Visual Fraction Comparison Tool
Loading the math board and drawing, please wait…
2015-10-11 11:36
This GeoGebra example demonstrates how to visually compare two fractions using bar charts (BarFraction command). The construction involves drawing reference circles with the Circle tool, generating sequence data via Sequence command, and performing geometric transformations using Translate. Core mathematical concepts include fraction comparison, inequality relationships, and proportional analysis. Key construction points: ①Using If command for conditional logic; ②Converting fractions to bar lengths through BarFraction; ③Generating multiple fraction sequences with Sequence; ④Achieving alignment via Translate. Suitable for upper elementary to middle school mathematics teaching, ideal for classroom demonstration of fraction comparison, helping students develop number-sense thinking and understand relative magnitude of fractions.

GeoGebra Commands & Parameters

  1. If(m, (a_1 * b), If[d, a_1 / b, If[a, a_1 + b, If[s, a_1 - b]]]) → i
  2. If(m, (n * g), If[d, n / g, If[a, n + g, If[s, n - g]]]) → j
  3. Division(a_1, n) → list8
  4. Intersect(xAxis, yAxis) → A
  5. Point(yAxis) → B
  6. Sequence(Rotate[B, (((-i) * 360) * ° / n), A], i, 0, n) → list1
  7. Circle(A, B) → c
  8. Sequence(Rotate[D, (((-i) * 360) * ° / If[m, (n * g), If[d, n / g, If[a, n + g, If[s, n - g]]]]), C], i, 0, If[m, (n * g), If[d, n / g, If[a, n + g, If[s, n - g]]]]) → list4
  9. Circle(C, D) → f
  10. Sequence(Sector[c, Element[list1, i + 1], Element[list1, i]], i, 1, n) → list2
  11. Sequence(Sector[f, Element[list4, i + 1], Element[list4, i]], i, 1, If[m, (n * g), If[d, n / g, If[a, n + g, If[s, n - g]]]]) → list5
  12. Division(i, j) → list11
  13. If(n > a_1, Sequence[Sector[c, Element[list1, i + 1], Element[list1, i]], i, 1, a_1], Sequence[Sector[c, Element[list1, i + 1], Element[list1, i]], i, 1, a_1]) → list3
  14. Circle(E, G) → p
  15. Circle(F, H) → q
  16. Sequence(Rotate[G, (((-i) * 360) * ° / o), E], i, 0, o) → list14
  17. Sequence(Sector[p, Element[list14, i + 1], Element[list14, i]], i, 1, o) → list12
  18. If(l > o, Sequence[Sector[p, Element[list14, i + 1], Element[list14, i]], i, 1, l], Sequence[Sector[p, Element[list14, i + 1], Element[list14, i]], i, 1, l]) → list15
  19. Sequence(Sector[p, Element[list14, i + 1], Element[list14, i]], i, 1, o) → list16
  20. Sequence(Rotate[H, (((-i) * 360) * ° / If[u, (o * t), If[w, o / t, If[a, o + t, If[s, o - t]]]]), F], i, 0, If[u, (o * t), If[w, o / g, If[a, o + t, If[s, o - t]]]]) → list17
  21. Sequence(Sector[q, Element[list17, i + 1], Element[list17, i]], i, 1, If[u, (o * t), If[w, o / t, If[a, o + t, If[s, o - t]]]]) → list18
  22. If(u, (l * r), If[w, l / r, If[a, a_1 + b, If[s, a_1 - b]]]) → b_1
  23. If(u, (o * t), If[w, o / t, If[a, n + g, If[s, n - g]]]) → c_1
  24. Division(b_1, c_1) → list20
  25. Sequence(Element[list10, i] - (0, 8), i, 1, Length[list10]) → list22
  26. If(j ≥ i, Sequence[Sector[f, Element[list4, n + 1], Element[list4, n]], n, 1, i], Sequence[Sector[f, Element[list4, i + 1], Element[list4, i]], i, 1, Element[list11, 2]]) → list6
  27. If(i > j, Sequence[Circle[Element[list10, i], 0.8], i, 0, Element[list11, 1], 1]) → list9
  28. If(b_1 > c_1, Sequence[Circle[Element[list22, i], 0.8], i, 0, Element[list20, 1], 1]) → list21
  29. Translate({list3, list15}, (v, 0)) → list13
  30. Translate({list6}, (0, g_1)) → list23
  31. BarFraction(a_1, n, I) → list24, list25
  32. BarFraction(l, o, J) → list26, list27
  33. If(m ≟ 1, (a_1 * b), a_1 / b) → r_5
  34. If(m ≟ 1, (n * g), n / g) → s_5
  35. If(u ≟ 1, (o * t), o / t) → v_5
  36. If(u ≟ 1, (l * r), l / r) → t_5
  37. Translate(list24, (v, ((1 / 20 * v) * (v - 8)))) → list25'
  38. Translate(list26, (v, ((1 / 20 * v) * (v - 8)))) → list26'
  39. If(c_1 ≥ b_1, Sequence[Sector[q, Element[list17, o + 1], Element[list17, o]], o, 1, b_1], Sequence[Sector[q, Element[list17, i + 1], Element[list17, i]], i, 1, Element[list20, 2]]) → list19
  40. Improp(v_5, t_5, L) → list31_3, list31, list32
  41. If(t_5 > v_5, Sequence[Polygon[P - (0, i), P - (0, i) + (3, 0), P - (0, i) + (3, 0.5), P - (0, i) + (0, 0.5)], i, 0, Element[list32, 1] - 1]) → list30
  42. If(t_5 > v_5, Sequence[Polygon[P - (0, i), P - (0, i) + (3, 0), P - (0, i) + (3, 0.5), P - (0, i) + (0, 0.5)], i, 0, Element[list32, 1] - 1]) → list33
  43. Improp(s_5, r_5, K) → list28, list29, list34
  44. If(r_5 > s_5, Sequence[Polygon[O - (0, i), O - (0, i) + (3, 0), O - (0, i) + (3, 0.5), O - (0, i) + (0, 0.5)], i, 0, Element[list34, 1] - 1]) → list35
  45. If(r_5 > s_5, Sequence[Polygon[O - (0, i), O - (0, i) + (3, 0), O - (0, i) + (3, 0.5), O - (0, i) + (0, 0.5)], i, 0, Element[list34, 1] - 1]) → list36
  46. If(i > j, Sequence[Circle[Element[list10, i], 0.8], i, 0, Element[list11, 1], 1]) → list37
  47. If(b_1 > c_1, Sequence[Circle[Element[list22, i], 0.8], i, 0, Element[list20, 1], 1]) → list38
  48. Translate(list28, (0, (1.045 * g_1))) → list28'

AI Drawing Prompt Reference

Create a visual comparison of two fractions: each fraction is shown by a circle divided into proportional sectors and a horizontal bar chart whose length matches the fraction value; the two bar charts are placed side by side and horizontally aligned via translation. Conditional logic selects one of four operations (multiply, divide, add, subtract) to compute numerators and denominators, and the sector sequences update automatically. When a fraction is improper, rectangular blocks are added above the bar to represent the whole-number part. The layout is symmetric, with distinct colors for the two fractions to highlight their relative magnitude.
The prompt above was compiled from the original drawing commands and is for reference only.