Adding and Subtracting Multiple Fractions With Unlike Denominators
Loading the math board and drawing, please wait…
This interactive GeoGebra activity demonstrates how to add and subtract multiple fractions (including mixed numbers) with unlike denominators in a single expression. It focuses on the core math concepts of finding common denominators, using the least common multiple (LCM), and applying fraction arithmetic rules. The construction uses commands such as RandomUniform to generate random fractions and signs, Textfield and InputBox for student input, LCM for computing common denominators, and If, Take, Element, and TableText to manage random seeds, validate answers, and display problems. Designed for grades 4-5, this resource is ideal for classroom practice, homework, or self-study, and includes Spanish translation support.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.14982700302733953, 0.1678263120383634, 0.3345283718100767, 0.5697672763346446, 0.8460378463598933, 0.2889662528710443, 0.6607434567132828, 0.4243667749598826, 0.6343708557656507, 0.8723289042846732, 0.13141091638562727, 0.5837690188329188, 0.8638022732255798, 0.12342566317848315, 0.31557422789408857, 0.6067674580812237, 0.7591044353794184, 0.6177551467811832, 0.4177714629217171, 0.6817021252234257, 0.03145899342164516, 0.6360170868907441, 0.5284382615470188, 0.15104738903756243, 0.3604265646178507, 0.13367843732424817, 0.4133751394772811, 0.512111615867161, 0.2740239435571491, 0.01738310436297672, 0.8411931649924466, 0.5309637698006366, 0.3688458495851115, 0.0001787207087739373, 0.2483075946951569, 0.32040340520157184, 0.09579144160659347, 0.7029539829015558, 0.7651390733638161, 0.08742910855527193, 0.2090156517362369, 0.750837552181454, 0.22471318024486506, 0.6112365265735938, 0.7062245485104928, 0.8606042318910005, 0.2358143757182763, 0.23929077723045417, 0.6873683817175802, 0.17836677405399423, 0.7872556692863977, 0.6464693536453858, 0.6661596674312651, 0.34600145187432746, 0.9176665354295556, 0.6006603024490422, 0.2746541651895856, 0.15986303890391507, 0.5764813444206138, 0.23752632617899785, 0.7453802334922439, 0.8963896317216206, 0.9065271689498982, 0.4574095855213322, 0.6581881968502518, 0.9161804459828594, 0.08676383496325354, 0.6285527686011588, 0.34011398171191376, 0.381049110718245, 0.3753216423749842, 0.542951000009171, 0.06611173690811448, 0.46741328084952893, 0.8780106033928425, 0.5142248181035808, 0.7065088156108852, 0.9741752343142163, 0.3159424605397741, 0.29091892391349455, 0.6334712653771295, 0.46398135350549197, 0.43781076322856444, 0.3135816745001537, 0.813641565049695, 0.8734182080330661, 0.5377162581386399, 0.8398696181316173, 0.8874206820576098, 0.020309755401270512, 0.8582037962650098, 0.34874741725474323, 0.5771146188945747, 0.814826038136298, 0.3603942945640783, 0.552616735322378, 0.11635101594307577, 0.01559546420627327, 0.23874902106959597, 0.6049095650205938, 0.7417949349754397, 0.45243284963560365, 0.73709572350391, 0.750319584731638, 0.055252480284650116, 0.9736530961548425, 0.3250752257719983, 0.09542142395102907, 0.8097503170442711, 0.5082348759330488, 0.8501336938888312, 0.00894154775736062, 0.4571134624461251, 0.6513315193827316, 0.7795906194704522, 0.04339561402862126, 0.6169374095656179, 0.11579597549298239, 0.29015378188853885, 0.16319545263555044, 0.21766129215741087, 0.6824940632546883, 0.22853222761735015, 0.4886558122964465, 0.5196962189105718, 0.8082254787750428, 0.3565145376335296, 0.8805935169324489, 0.12824926665836917, 0.19205420674718435, 0.7170348488286197, 0.9664141243668218, 0.34960589945285464, 0.1387698003957511, 0.24433968324116653, 0.5057187621132408, 0.6091947837168166, 0.08205892768135623, 0.5713991041634193, 0.3115408206720759, 0.5127564434886549, 0.7397606123719873, 0.9611718269599383, 0.33233511794070025, 0.893373215910273, 0.35931209006720827, 0.5152382021216267, 0.7897941512518134, 0.936990814324831, 0.4831613158329098, 0.3636573406516249, 0.7984536446753427, 0.4373721337447693, 0.8415298079436748, 0.6136832233204247, 0.22487711568664728, 0.7481725376369337, 0.9334545406689385, 0.5721919630062287, 0.12697158188135263, 0.6150107544107601, 0.9765201703516683, 0.5173265112170856, 0.5876884225279982, 0.8140331060397946, 0.251112122837446, 0.7589569011026571, 0.2420020574939633, 0.045529083604033405, 0.6963794797308778, 0.8750831129846794, 0.3816348615094499, 0.6516541160831613, 0.31239050269994556, 0.032275280376931934, 0.28851096679854116, 0.9162516493398876, 0.5161970564540797, 0.07264933320649601, 0.7753722417524355, 0.2521386770169968, 0.6386931490079911, 0.7377182656703488, 0.9003787443359307, 0.3470303468209912, 0.3242610052001938, 0.5007390009665642, 0.2418421561321194, 0.7935268261370513, 0.4862425904849143, 0.7638908583169329, 0.039503944068421684, 0.4912710941331772, 0.5182569442473222, 0.19477635810448754, 0.22997174714447527, 0.44050976297009464, 0.0043039620396784425, 0.3183269648573831, 0.08606582711958921}Textfield(input1) → InputBox1Text(InputBox1) → input1TextDefined(IndexOf[".", input1Text]) → isDecimalTake(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsElement({-1, 1}, 1 + floor((currentRandomSeeds(7) * 1))) → sign2Element({-1, 1}, 1 + floor((currentRandomSeeds(4) * 1))) → sign1Element(denList, 1 + floor((currentRandomSeeds(1) * Length[denList]))) → den1Element({{}, {3, 4, 5, 6, 8}, {2, 3, 4, 6, 8}, {2, 3, 4, 6, 8}, {2, 3}, {2, 3, 4, 6}, {}, {2, 3, 4, 6}}, den1) → den2ListElement(den2List, 1 + floor((currentRandomSeeds(2) * Length[den2List]))) → den2If(LCM[den1, den2] ≥ 48, 2, Element[Remove[den2List, {den2, 8}], 1 + floor((currentRandomSeeds(3) * Length[Remove[den2List, {den2, 8}]]))]) → den3If(num1 / den1 + (sign1 * num2 / den2) + (sign2 * num3 / den3) < 0, 1, sign2) → sign2RealIf(num1 / den1 + (sign1 * num2 / den2) + num3 / den3 < 0, 1, sign1) → sign1RealLCM({den1, den2, den3}) → denCommonCorner(5) → C5Corner(3) → C3Corner(1) → C1If(sign1Real ≟ -1, "\minus", "+") → textSign1If(sign2Real ≟ -1, "\minus", "+") → textSign2Corner(5) → layoutAppSizeonboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffsetGCD(numProper, denCommon) → divisorIf(isImproper, ((((((" = " * whole) * "\dfrac{") * numProper) * "}{") * denCommon) * "}"), "") → textImproperIf(isImproper, (("" * whole) * ""), "") → textWholeIf(isReducable, ((((((" = " * textWhole) * "\dfrac{") * numReduced) * "}{") * denReduced) * "}"), "") → textReducedZip((den1 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow1Zip((den2 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow2Zip((den3 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow3Sequence(StartPt - ((0, fracHeight + spaceBetween) * k), k, 0, 2) → StartingPointsZip(makeBox[K, fracLength, fracHeight], K, StartingPoints) → fracOutlinesFlatten(Zip[Sequence[A + ((fracLength / B, 0) * k), k, 1, B - 1], A, StartingPoints, B, {den1, den2, den3}]) → fracTopPointsZip(Segment[A, A + (0, (-fracHeight))], A, fracTopPoints) → fracLinesSequence(Element[StartingPoints, 1] + ((fracLength / den1, 0) * k), k, 0, num1 - 1) → frac1BoxPointsSequence(Element[StartingPoints, 2] + ((fracLength / den2, 0) * k), k, 0, num2 - 1) → frac2BoxPointsSequence(Element[StartingPoints, 3] + ((fracLength / den3, 0) * k), k, 0, num3 - 1) → frac3BoxPointsRemove(Flatten[Zip[Sequence[A + ((fracLength / denCommon, 0) * k), k, 1, denCommon - 1], A, StartingPoints]], fracTopPoints) → commonDenFracPointsZip(makeBox[A, fracLength / den1, fracHeight], A, frac1BoxPoints) → frac1BoxesZip(makeBox[A, fracLength / den2, fracHeight], A, frac2BoxPoints) → frac2BoxesZip(makeBox[A, fracLength / den3, fracHeight], A, frac3BoxPoints) → frac3BoxesZip(Segment[A, A - (animateFractions * (0, fracHeight))], A, commonDenFracPoints) → commonDenFracLinesTableText(Join[{{(("\phantom\text{" * den1) * ":}")}, Zip[If[A ≟ denCommon, (("\text{" * A) * "}"), (("\phantom\text{" * A) * "}")], A, commonDenRow1]}], Join[{{(("\phantom\text{" * den2) * ":}")}, Zip[If[A ≟ denCommon, (("\text{" * A) * "}"), (("\phantom\text{" * A) * "}")], A, commonDenRow2]}], Join[{{(("\phantom\text{" * den3) * ":}")}, Zip[If[A ≟ denCommon, (("\text{" * A) * "}"), (("\phantom\text{" * A) * "}")], A, commonDenRow3]}]) → commonDenTableTableText(Join[{{(("\text{" * den1) * ":}")}, Sequence[(den1 * k), k, 1, numCol]}], Join[{{(("\text{" * den2) * ":}")}, Sequence[(den2 * k), k, 1, numCol]}], Join[{{(("\text{" * den3) * ":}")}, Sequence[(den3 * k), k, 1, numCol]}], "hr") → multiplesTable
AI Drawing Prompt Reference
Draw a graphic showing the addition and subtraction of multiple fractions with different denominators. Start by generating random fractions and signs, then find the common denominator. Based on the signs and fraction values, determine the sign of the result. Finally, draw fraction bars according to the common denominator, display each fraction and its corresponding multiples, and mark the sign of the result.
The prompt above was compiled from the original drawing commands and is for reference only.