异分母多个分数的加减法互动练习

异分母多个分数的加减法互动练习
几何画板及绘图内容加载中,请稍等……
2023-06-12 18:03
该范例是一个面向小学高年级的互动练习,演示如何在同一表达式中对多个异分母分数(包括带分数)进行加法和减法运算。核心数学概念是分数的通分、最小公倍数(LCM)以及异分母分数的加减法则。作图要点:使用GeoGebra的RandomUniform命令随机生成分数和符号,通过Textfield和InputBox提供输入框,利用LCM计算公分母,并用If、Take、Element等命令处理随机种子和验证答案,最终以TableText展示题目和结果。适合4-5年级学生练习分数运算,也可用于教师课堂演示或学生自主训练,支持西班牙语翻译。

GeoGebra 命令及参数

  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 绘图提示语参考

画一个包含多个分数相加减的图形,分数有不同分母。首先生成随机分数和符号,然后找到公分母,接着根据符号和分数值计算结果的正负。最后,按照公分母绘制分数条,显示每个分数及其对应的整数倍,同时标出计算结果的符号。
以上提示语为根据原始绘图命令整理而来,仅供参考。