Fraction Addition and Subtraction Demo by The Central Maths Hub
Loading the math board and drawing, please wait…
In collections
Concrete-Pictorial-Abstract and the Teaching for Mastery
This example visually demonstrates the addition and subtraction of fractions. It involves core mathematical concepts such as fraction representation, least common multiple (LCM), greatest common divisor (GCD), and the geometric interpretation of fractions. Key GeoGebra commands and objects used include Circle, Point, LCM, Sequence, Midpoint, If, Vector, and Translate to create a dynamic visualization. Suitable for middle school and above, aiding in teaching and understanding fraction operations.
GeoGebra Commands & Parameters
Circle(A_1, r) → cPoint(c) → BCircle(A_2, r) → dLCM(d_1, d_2) → equivalentdenominatorSequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / d_2) → PIEALL_2Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / d_1, 360, 360 / d_1) → PIEALL_1Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / d_1)°, A_1]], r, 0, (360 / d_1 * n_1) - 360 / d_1, 360 / d_1) → PIESECTION_1Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / d_2)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / d_2 * n_2) - 360 / d_2, 360 / d_2) → PIESECTION_2Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{1E}Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{2E}Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / equivalentdenominator)°, A_1]], r, 0, (360 / equivalentdenominator * numerator_{1E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{1E}Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / equivalentdenominator)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2E}Midpoint(A_1, A_2) → A_{mid}Circle(A_1, r) → PIESECTION_{1whole}Circle(A_2, r) → PIESECTION_{2whole}If(¬subtractfractions, "+", "−") → addsign2Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / d_2)°, A_2]], r, 0, (360 / d_2 * n_2) - 360 / d_2, 360 / d_2) → PIESECTION_{2subtract}Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2Esubtract}If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → triggerSequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{2E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{1E} - 1)), 360 / equivalentdenominator) → PIESECTION_{finalsubtract1}Vector(A_2, A_{2end1}) → uTranslate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}Vector(A_2, A_{2end2}) → vCircle(A_2, r) → PIESECTION_{whole1}Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, ((equivalentdenominator - numerator_{2E}) * 360 / equivalentdenominator), (360 / equivalentdenominator * (mixednumerator + equivalentdenominator - numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{part1}Circle(A_2, r) → PIESECTION_{whole2}Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitleGCD(equivalentnumerator, equivalentdenominator) → ResultGCDGCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{1E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{negativefinalsubtract1}Vector(A_2, A_{2end3}) → wTranslate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}