Illustrating Addition and Subtraction of Proper Fractions by ahlin87
Loading the math board and drawing, please wait…
This example demonstrates the addition and subtraction of proper fractions through geometric figures. Key mathematical concepts include proper fractions, least common multiple, and greatest common divisor. Using commands such as Circle, Vector, and Translate, a geometric model of proper fraction addition and subtraction is constructed. Suitable for high-grade elementary and junior high school students learning proper fraction operations.
GeoGebra Commands & Parameters
Circle(A_1, r) → cPoint(c) → BCircle(A_2, r) → dLCM(denominator_1, denominator_2) → equivalentdenominatorSequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / denominator_2) → PIEALL_2Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / denominator_1, 360, 360 / denominator_1) → PIEALL_1Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / denominator_1)°, A_1]], r, 0, (360 / denominator_1 * numerator_1) - 360 / denominator_1, 360 / denominator_1) → PIESECTION_1Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / denominator_2)°, A_2], Rotate[C_2, ((-r))°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_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}Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / denominator_2)°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_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}Textfield(numerator_1) → InputBox1Textfield(denominator_1) → InputBox2Textfield(numerator_2) → InputBox3Textfield(denominator_2) → InputBox4If(¬subtractfractions, " + ", " − ") → addsign2