通分比较异分母分数:用不等号判断大小

通分比较异分母分数:用不等号判断大小
几何画板及绘图内容加载中,请稍等……
2023-09-30 06:10
该范例通过动态生成两组异分母分数,并展示它们在数轴/比较栏中的大小关系,让学习者理解如何用数学不等号完成分数比较表述。核心数学概念包括分数的大小比较、异分母通分、最小公倍数(LCM)用于等值变形,以及不等式符号(>、<、=)的逻辑判定。作图要点:从『构造摘要』可见其使用 RandomUniform 与 Sequence 生成随机种子与候选分子分母(allRandomSeeds、chooseDen1/2、chooseNum2 等),再依据 LCM 计算通分所需的共同分母,并用多个点与线段/多边形等基础几何对象(Point、Segment、Polygon、Vertex、Element)搭建比较所需的图形界面(如 ComparisonBar2、ComparisonBar2、Textfield、Text)。同时通过 Translate 与 circlePixels 等参数化排版/定位元素,将分数与比较结果文本叠加显示,并用 TableText、Corner、onboardingTextOffset 支持信息呈现。适合四至五年级学生用于分数数感训练与“比较并排序分数”的课堂活动,也可作为早期分数代数化表达(不等式书写)的引入材料。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.6428584368740407, 0.7048754889050509, 0.15625028546047037, 0.7964868077508065, 0.35895461373854115, 0.5566701361617251, 0.8660743594097938, 0.06249141075806756, 0.5050872204721368, 0.9533987953178509, 0.24746068121977605, 0.7665252171438077, 0.11201484821360178, 0.786644027695545, 0.3468575878778679, 0.32279154727919107, 0.7833340690469061, 0.319738255513543, 0.8103652190533462, 0.7876503832354336, 0.8702404581305283, 0.0639903160022543, 0.20041617010636711, 0.2818545000745846, 0.21428295548743947, 0.8272786056693865, 0.19992834709633645, 0.09564077675979869, 0.9084531742553283, 0.4750865924330359, 0.07481303569441639, 0.19116069448469353, 0.707956908256134, 0.13467095836544993, 0.19532165988181172, 0.3096940799926008, 0.9177084890509878, 0.6658559379073284, 0.1560013504359158, 0.9712357654690958, 0.6939698502098576, 0.09693729329281671, 0.8530040082241052, 0.3913792750702045, 0.9426238171467564, 0.3313573695449424, 0.7861559742313449, 0.8249431850926235, 0.32632771816031303, 0.7301776450925174, 0.9815445416229964, 0.7874943516882624, 0.6172363984103749, 0.12692826198581197, 0.28841541553709515, 0.5648192615926723, 0.2511145001561789, 0.915153706634661, 0.11189884902450933, 0.2864781690094868, 0.8624766562105868, 0.1449024192944263, 0.3604952466482284, 0.8128488254190901, 0.6388994802522217, 0.6925222009315374, 0.06434985742927612, 0.05552471525522997, 0.5058432287184038, 0.3484271967431757, 0.9271339477985925, 0.21858024587335673, 0.5012014531412323, 0.2499914965836928, 0.5008238680904367, 0.8630483956994566, 0.34136540796269277, 0.6614028836789446, 0.24883198947662302, 0.128978219131715, 0.5278459697556621, 0.8491748125766748, 0.9187929546036067, 0.5286487916937853, 0.665439005334534, 0.6410681081948544, 0.49184539385553194, 0.6009123148083099, 0.05955125082153756, 0.3174135684642748, 0.010474788605838333, 0.8702230272451731, 0.35162156265778705, 0.8872545707004559, 0.4018942528128417, 0.6146805110829991, 0.8375791761470476, 0.7273442921406339, 0.3885402986418073, 0.005374591459032515, 0.8249728758877904, 0.6698343729152665, 0.5315475245747918, 0.7444654031308248, 0.7197868759872582, 0.5944824273308725, 0.1970407221111592, 0.5617668050018787, 0.7240266989231114, 0.3633836698152157, 0.18874503640113802, 0.849121923945846, 0.39991500034398403, 0.6005965783958827, 0.8937646550092683, 0.24856938796433248, 0.9459796757290901, 0.6955859479372635, 0.1714171966015681, 0.4441949187669771, 0.8744487309957297, 0.6181465567091645, 0.3477359734003882, 0.7886466934583914, 0.41818328712127273, 0.9633982371354972, 0.8506639850177629, 0.7535651097794676, 0.3388873096976676, 0.7085588473381728, 0.04306378454105456, 0.1786357914150269, 0.8065249562964534, 0.5985039648780832, 0.2624536146212034, 0.7566215931456469, 0.4327580219532893, 0.20461258737328272, 0.9778553627295429, 0.8115632398307866, 0.008783959313995567, 0.7910756790415536, 0.08530218995028581, 0.5843597222097864, 0.3202106827124663, 0.12470987379086491, 0.7144025123199864, 0.9041485435275913, 0.06854839525627383, 0.1583711343856396, 0.8988950131994605, 0.12530242304172948, 0.9005284970128864, 0.5543035585782492, 0.32435316122556024, 0.27844301228113383, 0.9427790319206294, 0.47218624157989714, 0.046110679282090214, 0.7496436707708724, 0.11039126078277416, 0.7172561351008977, 0.5200781921609199, 0.3149524240661809, 0.31360571381392044, 0.09668814530701658, 0.7184088098337613, 0.4875124457899122, 0.1272267379414918, 0.7974030283371407, 0.17094520430718232, 0.9118918290943738, 0.0824428047727154, 0.5556522474852797, 0.542042279810825, 0.9647554778436802, 0.010486319161347832, 0.8580938855847176, 0.750709662590199, 0.5027210405382493, 0.6320090053046983, 0.41562600694664414, 0.460055133326421, 0.09713756177519263, 0.03518080580328576, 0.37498508437550543, 0.7097346183062468, 0.4816091107366994, 0.8193379653418079, 0.4190435750233829, 0.7025268137204393, 0.2313574505251674, 0.6595121367228618, 0.16485720910024756, 0.6432497459528054, 0.7839764936731677, 0.13036542343264523, 0.48881432703808153, 0.38502385287314866, 0.2887781755418137}
  2. Sequence((10 / ii, y1_{1}), ii, 2, 20) → chooseDen2_{1}
  3. Point(chooseDen2_{1}) → D_{1}
  4. Sequence(((10 * ii / d2_{1}), y1_{1} + hei_{1}), ii, 0, d2_{1}) → chooseNum2_{1}
  5. Point(chooseNum2_{1}) → B_{1}
  6. Segment(B_{1}, B_{1} + (0, 1.1)) → ComparisonBar2_{1}
  7. Vertex(ComparisonBar2_{1}, 2) → F_{1}
  8. Sequence((10 / ii, y3_{1}), ii, 2, 20) → chooseDen1_{1}
  9. Point(chooseDen1_{1}) → C_{1}
  10. Polygon({C1_{1}, C2_{1}, C2_{1} + (0, hei_{1}), C1_{1} + (0, hei_{1})}) → D1_{1}
  11. Polygon({C2_{1}, C3_{1}, C3_{1} + (0, hei_{1}), C2_{1} + (0, hei_{1})}) → D2_{1}
  12. Polygon({C3_{1}, C4_{1}, C4_{1} + (0, hei_{1}), C3_{1} + (0, hei_{1})}) → D3_{1}
  13. Polygon({C4_{1}, C5_{1}, C5_{1} + (0, hei_{1}), C4_{1} + (0, hei_{1})}) → D4_{1}
  14. Polygon({C5_{1}, C6_{1}, C6_{1} + (0, hei_{1}), C5_{1} + (0, hei_{1})}) → D5_{1}
  15. Polygon({C6_{1}, C7_{1}, C7_{1} + (0, hei_{1}), C6_{1} + (0, hei_{1})}) → D6_{1}
  16. Polygon({C7_{1}, C8_{1}, C8_{1} + (0, hei_{1}), C7_{1} + (0, hei_{1})}) → D7_{1}
  17. Polygon({C8_{1}, C9_{1}, C9_{1} + (0, hei_{1}), C8_{1} + (0, hei_{1})}) → D8_{1}
  18. Polygon({C9_{1}, C10_{1}, C10_{1} + (0, hei_{1}), C9_{1} + (0, hei_{1})}) → D9_{1}
  19. Polygon({C10_{1}, C11_{1}, C11_{1} + (0, hei_{1}), C10_{1} + (0, hei_{1})}) → D10_{1}
  20. Polygon({C11_{1}, C12_{1}, C12_{1} + (0, hei_{1}), C11_{1} + (0, hei_{1})}) → D11_{1}
  21. Polygon({C12_{1}, C13_{1}, C13_{1} + (0, hei_{1}), C12_{1} + (0, hei_{1})}) → D12_{1}
  22. Polygon({C13_{1}, C14_{1}, C14_{1} + (0, hei_{1}), C13_{1} + (0, hei_{1})}) → D13_{1}
  23. Polygon({C14_{1}, C15_{1}, C15_{1} + (0, hei_{1}), C14_{1} + (0, hei_{1})}) → D14_{1}
  24. Polygon({C15_{1}, C16_{1}, C16_{1} + (0, hei_{1}), C15_{1} + (0, hei_{1})}) → D15_{1}
  25. Polygon({C16_{1}, C17_{1}, C17_{1} + (0, hei_{1}), C16_{1} + (0, hei_{1})}) → D16_{1}
  26. Polygon({C17_{1}, C18_{1}, C18_{1} + (0, hei_{1}), C17_{1} + (0, hei_{1})}) → D17_{1}
  27. Polygon({C18_{1}, C19_{1}, C19_{1} + (0, hei_{1}), C18_{1} + (0, hei_{1})}) → D18_{1}
  28. Polygon({C19_{1}, C20_{1}, C20_{1} + (0, hei_{1}), C19_{1} + (0, hei_{1})}) → D19_{1}
  29. Polygon({C20_{1}, C21_{1}, C21_{1} + (0, hei_{1}), C20_{1} + (0, hei_{1})}) → D20_{1}
  30. Sequence(((10 * ii / d1_{1}), y3_{1} + hei_{1}), ii, 0, d1_{1}) → chooseNum1_{1}
  31. Point(chooseNum1_{1}) → A_{1}
  32. Element(Take[{D1_{1}, D2_{1}, D3_{1}, D4_{1}, D5_{1}, D6_{1}, D7_{1}, D8_{1}, D9_{1}, D10_{1}, D11_{1}, D12_{1}, D13_{1}, D14_{1}, D15_{1}, D16_{1}, D17_{1}, D18_{1}, D19_{1}, D20_{1}}, 1, d1_{1}], If[n1_{1} ≟ d1_{1} - 1, d1_{1}, d1_{1} - 1]) → q2_{1}
  33. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  34. If(frac1 ≟ frac2, 4, If[frac1 ≤ frac2, 2, 3]) → expected
  35. Textfield(input1) → InputBox1
  36. Textfield(input2) → InputBox2
  37. Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}]) → borderBox
  38. Corner(5) → layoutAppSize
  39. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  40. LCM(d1_{1}, d2_{1}) → mcm_{1}
  41. Segment(A_{1}, A_{1} - (0, 2.5)) → ComparisonBar_{1}
  42. Text(If[n1_{1} ≠ 0 ∧ d1_{1} ≠ n1_{1}, (((("\frac{" * n1_{1}) * "}{") * d1_{1}) * "}"), Text[n1_{1} / d1_{1}]], E_{1}, true, true, 0, 1) → text5_{1}
  43. Text(If[n2_{1} ≠ 0 ∧ n2_{1} ≠ d2_{1}, (((("\frac{" * n2_{1}) * "}{") * d2_{1}) * "}"), Text[n2_{1} / d2_{1}]], Midpoint[F_{1}, B_{1}], true, true, 0, 0) → text6_{1}
  44. Sequence(((10 / d2_{1} * ii), 1), ii, 0, d2_{1}) → PointsNL2_{1}
  45. Corner(5) → AppSize_{1}
  46. Translate(vGuideline_{1}, Vector[(Vector[Corner[1], Corner[2]] / 800 * 16)]) → vGuideline'_{1}
  47. Segment((-0.5, 0.97992), (10.5, 0.97992)) → Nl2_{1}
  48. Polygon({(0, y3_{1}), (10, y3_{1}), (10, y3_{1} + hei_{1}), (0, y3_{1} + hei_{1})}) → Bar1_{1}
  49. Polygon({(0, y1_{1}), (10, y1_{1}), (10, y1_{1} + hei_{1}), (0, y1_{1} + hei_{1})}) → Bar2_{1}
  50. Sequence(((10 / d1_{1} * ii), y3_{1} + hei_{1}), ii, 0, d1_{1}) → PointsBar1_{1}
  51. Sequence(((10 / d1_{1} * ii), y3_{1}), ii, 0, d1_{1}) → PointsBar1'_{1}
  52. Sequence(((10 / d2_{1} * ii), y1_{1} + hei_{1}), ii, 0, d2_{1}) → PointsBar2_{1}
  53. Sequence(((10 / d2_{1} * ii), y1_{1}), ii, 0, d2_{1}) → PointsBar2'_{1}
  54. Zip(Segment[PP, QQ], PP, PointsBar1_{1}, QQ, PointsBar1'_{1}) → divisionsBar1_{1}
  55. Zip(Segment[PP, QQ], PP, PointsBar2'_{1}, QQ, PointsBar2_{1}) → divisionsBar2_{1}
  56. Polygon({PointsBar1'_{1}(1), PointsBar1'_{1}(n1_{1} + 1), PointsBar1_{1}(n1_{1} + 1), PointsBar1_{1}(1)}) → FractionModel1_{1}
  57. Polygon({PointsBar2'_{1}(1), PointsBar2'_{1}(n2_{1} + 1), PointsBar2_{1}(n2_{1} + 1), PointsBar2_{1}(1)}) → FractionModel2_{1}
  58. Text("0", PointsNL2_{1}(1), true, true, 0, -1) → text2_{1}
  59. Text("1", PointsNL2_{1}(-1), true, true, 0, -1) → text3_{1}
  60. Sequence(((10 / mcm_{1} * ii), y2_{1}), ii, 0, mcm_{1}) → PointsNL1_{1}
  61. Zip(Segment[PP + (0, 0.1), PP - (0, 0.1)], PP, PointsNL1_{1}) → ticksNL1_{1}
  62. Zip(Segment[PP + (0, 0.1), PP - (0, 0.1)], PP, PointsNL2_{1}) → ticksNL2_{1}
  63. TableText({texto1_{1}}, "c", 400, 0) → text7_{1}
  64. Sequence(((10 / mcm_{1} * ii), y3_{1} + hei_{1}), ii, 0, mcm_{1}) → l1_{1}
  65. Sequence(((10 / mcm_{1} * ii), y3_{1}), ii, 0, mcm_{1}) → l2_{1}
  66. Sequence(((10 / mcm_{1} * ii), y1_{1}), ii, 0, mcm_{1}) → l4_{1}
  67. Zip(Segment[PP, QQ], PP, l1_{1}, QQ, l2_{1}) → l5_{1}
  68. Sequence(((10 / mcm_{1} * ii), y1_{1} + hei_{1}), ii, 0, mcm_{1}) → l3_{1}
  69. Zip(Segment[PP, QQ], PP, l3_{1}, QQ, l4_{1}) → l6_{1}
  70. If(onboardingStage_{1} ≟ 1, posOB1, posOB2_{1}) → onboardingX_{1}
  71. onboardingTextOffset(Corner[onboardingText_{1}, 1], Corner[onboardingText_{1}, 3], onboardingCase_{1}, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset_{1}
  72. Segment((-0.5, y2_{1}), (10.5, y2_{1})) → NL1_{1}
  73. Segment((0, y2_{1} + 0.2), (0, y2_{1} - 0.2)) → f_{1}
  74. Segment((10, y2_{1} - 0.2), (10, y2_{1} + 0.2)) → g_{1}
  75. Text("0", (0, y2_{1} + 0.2), true, true, 0, 1) → text1_{1}
  76. Text("1", (10, y2_{1} + 0.2), true, true, 0, 1) → text4_{1}
  77. circlePixels(C_{1}, 9 + (7 * pulsing_{1}), Corner[1], Corner[3], Corner[5]) → pulsingC_{1}
  78. circlePixels(D_{1}, 9 + (7 * pulsing_{1}), Corner[1], Corner[3], Corner[5]) → pulsingD_{1}
  79. Translate(hGuideline_{1}, Vector[(Vector[Corner[1], Corner[4]] / 500 * 16)]) → hGuideline'_{1}
  80. Polygon({A1_{1}, A2_{1}, A2_{1} + (0, hei_{1}), A1_{1} + (0, hei_{1})}) → B1_{1}
  81. Polygon({A2_{1}, A3_{1}, A3_{1} + (0, hei_{1}), A2_{1} + (0, hei_{1})}) → B2_{1}
  82. Polygon({A3_{1}, A4_{1}, A4_{1} + (0, hei_{1}), A3_{1} + (0, hei_{1})}) → B3_{1}
  83. Polygon({A4_{1}, A5_{1}, A5_{1} + (0, hei_{1}), A4_{1} + (0, hei_{1})}) → B4_{1}
  84. Polygon({A5_{1}, A6_{1}, A6_{1} + (0, hei_{1}), A5_{1} + (0, hei_{1})}) → B5_{1}
  85. Polygon({A6_{1}, A7_{1}, A7_{1} + (0, hei_{1}), A6_{1} + (0, hei_{1})}) → B6_{1}
  86. Polygon({A7_{1}, A8_{1}, A8_{1} + (0, hei_{1}), A7_{1} + (0, hei_{1})}) → B7_{1}
  87. Polygon({A8_{1}, A9_{1}, A9_{1} + (0, hei_{1}), A8_{1} + (0, hei_{1})}) → B8_{1}
  88. Polygon({A9_{1}, A10_{1}, A10_{1} + (0, hei_{1}), A9_{1} + (0, hei_{1})}) → B9_{1}
  89. Polygon({A10_{1}, A11_{1}, A11_{1} + (0, hei_{1}), A10_{1} + (0, hei_{1})}) → B10_{1}
  90. Polygon({A11_{1}, A12_{1}, A12_{1} + (0, hei_{1}), A11_{1} + (0, hei_{1})}) → B11_{1}
  91. Polygon({A12_{1}, A13_{1}, A13_{1} + (0, hei_{1}), A12_{1} + (0, hei_{1})}) → B12_{1}
  92. Polygon({A13_{1}, A14_{1}, A14_{1} + (0, hei_{1}), A13_{1} + (0, hei_{1})}) → B13_{1}
  93. Polygon({A14_{1}, A15_{1}, A15_{1} + (0, hei_{1}), A14_{1} + (0, hei_{1})}) → B14_{1}
  94. Polygon({A15_{1}, A16_{1}, A16_{1} + (0, hei_{1}), A15_{1} + (0, hei_{1})}) → B15_{1}
  95. Polygon({A16_{1}, A17_{1}, A17_{1} + (0, hei_{1}), A16_{1} + (0, hei_{1})}) → B16_{1}
  96. Polygon({A17_{1}, A18_{1}, A18_{1} + (0, hei_{1}), A17_{1} + (0, hei_{1})}) → B17_{1}
  97. Polygon({A18_{1}, A19_{1}, A19_{1} + (0, hei_{1}), A18_{1} + (0, hei_{1})}) → B18_{1}
  98. Polygon({A19_{1}, A20_{1}, A20_{1} + (0, hei_{1}), A19_{1} + (0, hei_{1})}) → B19_{1}
  99. Polygon({A20_{1}, A21_{1}, A21_{1} + (0, hei_{1}), A20_{1} + (0, hei_{1})}) → B20_{1}
  100. Polygon({A21_{1}, A22_{1}, A22_{1} + (0, hei_{1}), A21_{1} + (0, hei_{1})}) → B21_{1}
  101. Element(Take[{B1_{1}, B2_{1}, B3_{1}, B4_{1}, B5_{1}, B6_{1}, B7_{1}, B8_{1}, B9_{1}, B10_{1}, B11_{1}, B12_{1}, B13_{1}, B14_{1}, B15_{1}, B16_{1}, B17_{1}, B18_{1}, B19_{1}, B20_{1}}, 1, d2_{1}], If[n2_{1} ≟ d2_{1} - 1, d2_{1}, d2_{1} - 1]) → q1_{1}
  102. Vertex(q1_{1}) → Q11_{1}, Q12_{1}, Q13_{1}, Q14_{1}
  103. Segment(E_{1} + (0, 0.15), E_{1} - (0, 0.15)) → h_{1}
  104. Segment(F_{1} + (0, 0.15), F_{1} - (0, 0.15)) → i_{1}

AI 绘图提示语参考

绘制两个分数,它们的分母不同。首先,随机选择两个分母,然后根据这两个分母生成相应的分子。接着,计算两个分数的最小公倍数,将两个分数转换为具有相同分母的形式。在画布上绘制两个分数的图形,一个在上方,一个在下方,用比较条表示它们的大小关系。最后,显示两个分数的值和比较结果。
以上提示语为根据原始绘图命令整理而来,仅供参考。