Egyptian Fractions Demo

Egyptian Fractions Demo
Loading the math board and drawing, please wait…
2018-05-08 21:59
This example demonstrates how to decompose a fraction into Egyptian fractions (sum of fractions with numerator 1). It involves core math concepts like fractions, sequences, geometric drawing, and conditional probability. GeoGebra commands and objects used include Random, Polygon, Zip, Append, Sequence, FractionText, Flatten, Textfield. Suitable for middle school and above students to understand fraction decomposition and sequence generation.

GeoGebra Commands & Parameters

  1. Random(3, 12) → D
  2. Random(2, D - 1) → N
  3. Polygon((0, 0), (fraction, 0), (fraction, 0.1), (0, 0.1)) → drawnFraction, f, g, h, i
  4. Polygon((Sum[added], 0.11), (Sum[added] + 1 / availableDenoms(n), 0.11), (Sum[added] + 1 / availableDenoms(n), 0.21), (Sum[added], 0.21)) → liveFraction, j, k, l, m
  5. Zip(FractionText[AAA], AAA, Last[added, Length[added] - 1]) → displayTextHelper
  6. Append(0, Zip[1 / AAA, AAA, Last[greedyList, Length[greedyList] - 1]]) → greedyListAsFractions
  7. Sequence(Polygon[(Sum[greedyListAsFractions, i], -0.11), (Sum[greedyListAsFractions, i + 1], -0.11), (Sum[greedyListAsFractions, i + 1], -0.01), (Sum[greedyListAsFractions, i], -0.01)], i, 1, Length[greedyListAsFractions] - 1) → drawnGreedyFractions
  8. Sequence(Polygon[(Sum[added, i], 0.11), (Sum[added, i + 1], 0.11), (Sum[added, i + 1], 0.21), (Sum[added, i], 0.21)], i, 1, Length[added] - 1) → drawnAddedFractions
  9. Polygon((0, 0), (1, 0), (1, 0.1), (0, 0.1)) → origWhole, p, q, r, s
  10. Polygon((0, -0.11), (1, -0.11), (1, -0.01), (0, -0.01)) → greedyWhole, t, a, b, c
  11. Polygon((0, 0.11), (1, 0.11), (1, 0.21), (0, 0.21)) → addedWhole, d, e, f_1, g_1
  12. FractionText(fraction) → text2
  13. Flatten(Sequence[displayTextHelper(i) + "+", i, 1, Length[displayTextHelper]]) → noAnswerYet
  14. Sequence(Text[(("$\frac{1}{" * Element[usedDenoms, i]) * "}$")], i, 1, Length[usedDenoms]) → L_1
  15. Textfield(typedText) → InputBox1
  16. Zip(FractionText[1 / AAA], AAA, Last[greedyList, Length[greedyList] - 1]) → greedyDisplayHelper