比较多种除法模型:平均分、反复减法与数组对应

比较多种除法模型:平均分、反复减法与数组对应
几何画板及绘图内容加载中,请稍等……
2023-10-22 02:16
该范例用于对比“除法的不同表示方法”生成的数与图形变化:把两个数进行除法时,分别用平均分、反复减法与矩形阵列来说明商与余数的来源,并引导学生把除法转写为乘法算式。核心数学概念包括:把a÷b表示为分享同样多、重复减去b、以及以矩形阵列刻画“b的分组数”;同时强调除法与乘法的关系(商×除数=被除数-余数)与余数概念。作图与交互要点来自构造摘要中对随机题与多模型的组织:通过 RandomUniform 生成随机被除数/除数(对象 allRandomSeeds、currentDividend、currentDivisor、numRandom1、randIndex);用 Sequence 与 IndexOf/Element/Take/Zip 组织题目与数据流(对象 countQuestion、caseNum、studentInput);用 Div 计算整除结果并构造 remainder/numWholeTally(对象 currentQuotient、remainder、numWholeTally);再用 Corner、Segment、Polygon 形成矩形阵列并用 Flatten 等把图元组合(对象 cornersNumberLine、cornersArray、cornersGroup、cornersCurrent、AnchorGroups、AnchorNumberLine、CenterArray);配合 RemoveUndefined、Text 输出提示与算式(对象 hintNumberLine、hintArray、studentChars、cEQUAL、cDIVIDE)。适合GR.4-5年级的除法建模、列算式与理解“商与余数”,也可用于课堂探究活动或分组讨论的开放题练习(如“45除以5”的乘法句形式)。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.8423875051042135, 0.7526552070531833, 0.6110852451992259, 0.4099043155724901, 0.021509608753714, 0.06732719732233365, 0.04342350237929588, 0.2829575632854226, 0.9462462104710566, 0.2779995734953775, 0.7475007610400503, 0.8531659870443156, 0.6638096911051335, 0.75829698179575, 0.26929234051444634, 0.7358121475051854, 0.26052857233176885, 0.9858111556849061, 0.719875594772922, 0.14038651037955635, 0.38988961226886887, 0.08502502897005777, 0.6339080798624074, 0.2456443568380999, 0.1749587975379175, 0.8798543462988798, 0.21851534417684237, 0.49617891588002777, 0.9511170668230164, 0.8151776532222442, 0.04639049453699705, 0.20333343589726066, 0.0428888834788777, 0.28511445575696776, 0.30271821391693615, 0.9883835083273312, 0.6999200843294415, 0.19513739907294989, 0.3797841014687461, 0.2569644984490174, 0.09187955978157718, 0.9053680428881767, 0.4858154969323354, 0.6607022804870668, 0.33021245755284134, 0.6036069565943339, 0.17572344598443992, 0.7549253412798494, 0.05626508581051355, 0.8487873905508935, 0.050975434578909504, 0.5501932694080455, 0.8303307036805255, 0.11861833571896821, 0.733826930894824, 0.9201718650555176, 0.4346322260986038, 0.5991960636687792, 0.16757542821585805, 0.8191176753420408, 0.675162270303282, 0.8693144084060912, 0.48937340388780415, 0.9889044296450396, 0.6526426673726928, 0.5080931989363235, 0.6554471508008817, 0.3681312686084878, 0.5216447901186357, 0.03136985754883707, 0.36031694614092646, 0.9543977406087589, 0.5391290149024123, 0.33006311698113183, 0.3417991697552833, 0.6053129263578918, 0.15931595597144993, 0.842418988254286, 0.4221938040357015, 0.6842257903309064, 0.8808935064429438, 0.6816878103477814, 0.303122123860729, 0.44302172866938533, 0.4350937243042033, 0.08135722647378293, 0.19697651595559368, 0.48662447262414477, 0.05913958887645487, 0.6115796283217245, 0.6218805564998553, 0.5320756698423627, 0.34896663253806254, 0.7728840335301379, 0.23943003905099092, 0.4592340655093014, 0.847965857250423, 0.5666508194530249, 0.34529670616507324, 0.34024337743725674, 0.5547737097987645, 0.12615374434793902, 0.9720241092086732, 0.17096354452712592, 0.12285193335986061, 0.4872377469954148, 0.6810304819410277, 0.6395415482498733, 0.9877538771495491, 0.9739020800618146, 0.906957103801808, 0.475219031926396, 0.8045663072729657, 0.8311964750008354, 0.8220605487052456, 0.45433006173210483, 0.38804450114702876, 0.18591532225373888, 0.6013456035776169, 0.5902386612564284, 0.4714254755367403, 0.7145871198486826, 0.7905711849408456, 0.5396970153507289, 0.7868086059502695, 0.8382091397585135, 0.12913456183107458, 0.6597758750413981, 0.4203342003080856, 0.47406424765983113, 0.19814952073462747, 0.9571258710554313, 0.46917062170513774, 0.12678471175917497, 0.8707828304273976, 0.4548733834319995, 0.004536614078877677, 0.3635902034254978, 0.8770978999912357, 0.36193690571523335, 0.755640299827464, 0.3023288356923936, 0.8892785746418675, 0.9649701481873704, 0.723507883599412, 0.21558899897653047, 0.7951659818127885, 0.9044950883097932, 0.7112044590009037, 0.05972550878804619, 0.13853930425152008, 0.03408334696804246, 0.23791601752329844, 0.19415743171701816, 0.5735074947243917, 0.12467670212803178, 0.668766288402019, 0.29374618071218495, 0.317751296257717, 0.1753075126431198, 0.29008349449782256, 0.045451053871730075, 0.6151659857801569, 0.9665867831280271, 0.06111179083164283, 0.9597856276841269, 0.27270304078515556, 0.41437337055020895, 0.2878785396333206, 0.4378619665903485, 0.7588945298626673, 0.008019508308760479, 0.05308327666691498, 0.6760109627081038, 0.9626672863823164, 0.690508015205691, 0.03746565969091353, 0.3321056824781876, 0.7606139551166836, 0.3766540404360699, 0.9231393216633335, 0.060790665905520014, 0.5988866629444178, 0.07033914855788102, 0.7078450362638279, 0.40883418579393327, 0.1523143064195613, 0.04247755728928075, 0.23098109214513515, 0.14677100944284066, 0.40821720032126146, 0.9680851466739328, 0.28761063070211634, 0.05889250026877025, 0.23570425772674183, 0.4734279938990939, 0.03542459075876958, 0.330466915938727, 0.14298471345495983, 0.13277352205546858}
  2. IndexOf(true, onboardingRemaining) → onboardingCurrent
  3. Element({cornersGroup, cornersArray, cornersMultiply, cornersNumberLine}, onboardingCurrent) → cornersCurrent
  4. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  5. Element(Remove[{3, 4, 5, 6, 7, 8, 9}, {currentQuotient}], 1 + floor((currentRandomSeeds(2) * 6))) → currentDivisor
  6. Zip(If[A ≟ cDIVIDE, "\div", If[A ≟ cEQUAL, "=", ("" * A)]], A, studentInput) → studentChars
  7. Midpoint(cornersArray(1), cornersArray(3)) → CenterArray
  8. Div(currentDivisor, 5) → numWholeTally
  9. Corner(5) → layoutAppSize
  10. Sequence((A * lineStretchFactor), A, 0, lineLength, jumpSize) → numberPos, {0, 116.66666666666667, 233.33333333333334, 350, 466.6666666666667, 583.3333333333334, 700}
  11. Rotate(PolyLine[AnchorNumberLine + (-6, 10), AnchorNumberLine + (0, 4), AnchorNumberLine + (6, 10)], ((-2 * pi)) / 8, AnchorNumberLine + (0, 4)) → endArrowTemplate
  12. Sequence(AnchorNumberLine + (((jumpSize * lineStretchFactor) * (A + 0.5)), (((-cos((2 * pi / 8))) * jumpSize) * lineStretchFactor / 2)), A, 0, currentQuotient - 1) → arcCenter
  13. Sequence(Text[("" * (A * currentDivisor)), AnchorNumberLine + (numberPos(A + 1), 0), true, true, 0, -1], A, 0, currentQuotient) → xLbls
  14. Reverse(Zip[CircleArc[A, AnchorNumberLine + (B, 0), AnchorNumberLine + (C, 0)], A, arcCenter, B, Take[numberPos, 2], C, numberPos]) → allArcs
  15. Reverse(Zip[Text[("-" * currentDivisor), A + (0, (lineStretchFactor * ((0.5 * arcRadius) + 1.3))), true, true, 0, 0], A, arcCenter]) → textSubtract
  16. RemoveUndefined(Flatten[Sequence[Sequence[If[(groupColSize * j) + i ≤ currentQuotient, ((i * 20), ((-j) * 20))], i, 1, groupColSize], j, 0, groupRows - 1]]) → fullGroupTemplate
  17. Sequence(AnchorGroups + ((i * 80), 0), i, 0, 8) → groupingAnchors
  18. PixelsToPoint(Corner[1], Corner[3], Corner[5], (startButtonX + 160, startButtonY - 10)) → PxRightDisplay
  19. PixelsToPoint(Corner[1], Corner[3], Corner[5], (startButtonX + 10, startButtonY - 48)) → PxLeftDisplay
  20. Polygon({-5, 0}) → regionAnchor
  21. Segment(AnchorNumberLine + (-1, 0), AnchorNumberLine + ((lineLength * lineStretchFactor) + lineStretchFactor, 0)) → numberLine
  22. Zip(Segment[AnchorNumberLine + (A, 5), AnchorNumberLine + (A, -5)], A, numberPos) → numberTicks
  23. Sequence(allArcs(A), A, 1, animateNumberLine) → displayArcs, {}
  24. Reverse(Sequence[Translate[endArrowTemplate, (numberPos(A), 0)], A, 0, Length[numberPos] - 1]) → allArrows
  25. Sequence(allArrows(A), A, 1, animateNumberLine) → displayArrows, {}
  26. Sequence(Sequence[CenterArray + arrayOffset + ((30 * i), (20 * j)), i, 0, currentDivisor - 1], j, 0, currentQuotient - 1) → arrayAllPoints, {{(175.5, 235.5), (205.5, 235.5), (235.5, 235.5)}, {(175.5, 255.5), (205.5, 255.5), (235.5, 255.5)}, {(175.5, 275.5), (205.5, 275.5), (235.5, 275.5)}, {(175.5, 295.5), (205.5, 295.5), (235.5, 295.5)}, {(175.5, 315.5), (205.5, 315.5), (235.5, 315.5)}, {(175.5, 335.5), (205.5, 335.5), (235.5, 335.5)}}
  27. Flatten(Zip[Sequence[Translate[A, groupingAnchors(B)], B, 1, currentDivisor], A, fullGroupTemplate]) → groupedModel
  28. Polygon(cornersNumberLine) → boxNumberline
  29. Polygon(cornersArray) → boxArray
  30. Polygon(cornersGroup) → boxGroup
  31. Polygon(cornersMultiply) → boxMultiply
  32. Text("\textbf{Multiplication}", Midpoint[cornersMultiply(1), cornersMultiply(3)], true, true, 0, 0) → msgClickMultiply
  33. Take(textSubtract, 1, animateNumberLine) → displayTextSubtract
  34. Polygon(cornersCurrent) → pulsingBox
  35. Take(fullGroupTemplate, 1, animateGroup) → partialGroupTemplate
  36. Zip(Translate[partialGroupTemplate, A], A, Take[groupingAnchors, 1, currentDivisor]) → displayGroup
  37. Midpoint(cornersArray(1), cornersMultiply(3)) → PCenter
  38. Polygon(cornersTitle) → boxTitleBackground
  39. Polygon(cornersTitle) → boxTitle
  40. Text((((("\(" * currentDividend) * "\div") * currentDivisor) * "=\fbox{\phantom{2}}\)"), PCenter + (0, -15), true, true, 0, 0) → titleLine2
  41. Text("\text{Ways to Divide}", PCenter + (0, 35), true, true, 0, 0) → titleLine1
  42. Text((("\textbf{\(" * currentDivisor) * "\) Equal Groups}"), Midpoint[cornersGroup(1), cornersGroup(3)], true, true, 0, 0) → msgClickGroup
  43. Text((("\textbf{Groups of \(" * currentDivisor) * "\)}"), Midpoint[cornersArray(1), cornersArray(3)], true, true, 0, 0) → msgClickArray
  44. Text("\textbf{Number line model}", Midpoint[cornersNumberLine(1), cornersNumberLine(3)], true, true, 0, 0) → msgClickNumberLine
  45. Text((((((((("\(" * currentDividend) * "\div") * currentDivisor) * "=\Box\\\textsf\scalebox{0.85}{is the same as}\\") * currentDivisor) * "\times\Box=") * currentDividend) * "\)"), Midpoint[cornersMultiply(1), cornersMultiply(3)], true, true, 0, 0) → textMultiply
  46. Zip(A, A, Take[arrayAllPoints, 1, floor(animateArray)]) → displayArray
  47. Text((((((("\(" * (animateArray * currentDivisor)) * "\div") * currentDivisor) * "=") * animateArray) * "\)"), cornersArray(4), true, true, -1, 1) → arrayCounter
  48. Text((((((("\(" * (animateGroup * currentDivisor)) * "\div") * currentDivisor) * "=") * animateGroup) * "\)"), cornersGroup(4), true, true, -1, 1) → groupCounter

AI 绘图提示语参考

描述一个展示除法三种模型的图形。包含一条数字线,上面有标记显示除法结果;一个矩形数组,表示分组;一个矩形表示重复减法;一个乘法模型,显示乘法关系。图形中有文本标签如“乘法模型”、“等分分组”、“数组分组”、“数字线模型”。构造顺序:随机生成除数和除法问题,绘制数字线、数组、矩形分组和乘法模型,最后添加标签和文本。图形用于帮助学生理解除法与乘法的关系。
以上提示语为根据原始绘图命令整理而来,仅供参考。