Adding and Subtracting Multiple Fractions With Unlike Denominators

Adding and Subtracting Multiple Fractions With Unlike Denominators
Loading the math board and drawing, please wait…
2023-06-12 18:03
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

  1. 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}
  2. Textfield(input1) → InputBox1
  3. Text(InputBox1) → input1Text
  4. Defined(IndexOf[".", input1Text]) → isDecimal
  5. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  6. Element({-1, 1}, 1 + floor((currentRandomSeeds(7) * 1))) → sign2
  7. Element({-1, 1}, 1 + floor((currentRandomSeeds(4) * 1))) → sign1
  8. Element(denList, 1 + floor((currentRandomSeeds(1) * Length[denList]))) → den1
  9. Element({{}, {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) → den2List
  10. Element(den2List, 1 + floor((currentRandomSeeds(2) * Length[den2List]))) → den2
  11. If(LCM[den1, den2] ≥ 48, 2, Element[Remove[den2List, {den2, 8}], 1 + floor((currentRandomSeeds(3) * Length[Remove[den2List, {den2, 8}]]))]) → den3
  12. If(num1 / den1 + (sign1 * num2 / den2) + (sign2 * num3 / den3) < 0, 1, sign2) → sign2Real
  13. If(num1 / den1 + (sign1 * num2 / den2) + num3 / den3 < 0, 1, sign1) → sign1Real
  14. LCM({den1, den2, den3}) → denCommon
  15. Corner(5) → C5
  16. Corner(3) → C3
  17. Corner(1) → C1
  18. If(sign1Real ≟ -1, "\minus", "+") → textSign1
  19. If(sign2Real ≟ -1, "\minus", "+") → textSign2
  20. Corner(5) → layoutAppSize
  21. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  22. GCD(numProper, denCommon) → divisor
  23. If(isImproper, ((((((" = " * whole) * "\dfrac{") * numProper) * "}{") * denCommon) * "}"), "") → textImproper
  24. If(isImproper, (("" * whole) * ""), "") → textWhole
  25. If(isReducable, ((((((" = " * textWhole) * "\dfrac{") * numReduced) * "}{") * denReduced) * "}"), "") → textReduced
  26. Zip((den1 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow1
  27. Zip((den2 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow2
  28. Zip((den3 * A), A, Sequence[k, k, 1, numCol]) → commonDenRow3
  29. Sequence(StartPt - ((0, fracHeight + spaceBetween) * k), k, 0, 2) → StartingPoints
  30. Zip(makeBox[K, fracLength, fracHeight], K, StartingPoints) → fracOutlines
  31. Flatten(Zip[Sequence[A + ((fracLength / B, 0) * k), k, 1, B - 1], A, StartingPoints, B, {den1, den2, den3}]) → fracTopPoints
  32. Zip(Segment[A, A + (0, (-fracHeight))], A, fracTopPoints) → fracLines
  33. Sequence(Element[StartingPoints, 1] + ((fracLength / den1, 0) * k), k, 0, num1 - 1) → frac1BoxPoints
  34. Sequence(Element[StartingPoints, 2] + ((fracLength / den2, 0) * k), k, 0, num2 - 1) → frac2BoxPoints
  35. Sequence(Element[StartingPoints, 3] + ((fracLength / den3, 0) * k), k, 0, num3 - 1) → frac3BoxPoints
  36. Remove(Flatten[Zip[Sequence[A + ((fracLength / denCommon, 0) * k), k, 1, denCommon - 1], A, StartingPoints]], fracTopPoints) → commonDenFracPoints
  37. Zip(makeBox[A, fracLength / den1, fracHeight], A, frac1BoxPoints) → frac1Boxes
  38. Zip(makeBox[A, fracLength / den2, fracHeight], A, frac2BoxPoints) → frac2Boxes
  39. Zip(makeBox[A, fracLength / den3, fracHeight], A, frac3BoxPoints) → frac3Boxes
  40. Zip(Segment[A, A - (animateFractions * (0, fracHeight))], A, commonDenFracPoints) → commonDenFracLines
  41. TableText(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]}]) → commonDenTable
  42. TableText(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.