展开十进制数:探索小数位值的展开形式

展开十进制数:探索小数位值的展开形式
几何画板及绘图内容加载中,请稍等……
2023-08-12 02:56
该GeoGebra范例演示了如何将千分位以内的十进制数写成展开形式,并直观展示小数位值的含义。核心数学概念包括十进制数的位值(个位、十分位、百分位、千分位)、小数分数的展开表示以及指数形式的展开。作图要点:利用RandomUniform生成随机数字,通过Take、If、Zip、Element、Min、Sequence等命令构建数字的各位值,使用Translate、centerBox、Textfield、Corner、PointToPixels等实现界面布局与交互,Text命令显示展开式,expandCircle用于视觉反馈。适合小学4-5年级学生,用于理解小数位值、读写展开式,并可作为课堂探索或练习资源。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.9078771625084362, 0.6165494969305817, 0.2046861958484806, 0.4093998702571009, 0.8380355066325477, 0.7090634025942646, 0.5491040295374503, 0.9016950140260493, 0.5869427381756832, 0.6281755630245893, 0.3051493572714406, 0.5844607304770845, 0.5220939660964896, 0.5884641661441705, 0.8921653232435997, 0.7364696270331946, 0.7226095400475445, 0.3073028775283043, 0.1573601360841553, 0.5073946502071466, 0.4565830676624897, 0.4904330970109495, 0.27409792293050483, 0.8761405032354166, 0.6023457218251403, 0.14450587204777085, 0.3339568339428084, 0.5488507219127563, 0.38537756174004373, 0.008780299972689354, 0.10142866073898053, 0.6963507669374205, 0.10243040682464402, 0.13573444244147187, 0.149811668572859, 0.2519498995432737, 0.1314483947077144, 0.1125997262203419, 0.16871421196368022, 0.2413737268821811, 0.7000814879126334, 0.34277390804379043, 0.34763857279912425, 0.7471368605297867, 0.17698324853712977, 0.8076980608645612, 0.39635564791177036, 0.27988960614856867, 0.6686686811325652, 0.7961016712382066, 0.6212078874759727, 0.48918446682273814, 0.040479169290598756, 0.408525731165601, 0.9270940523435293, 0.08570819023113081, 0.9031603715400242, 0.14072679522869874, 0.31769122959466883, 0.8563120732441215, 0.6267058248540135, 0.3999464469567006, 0.6314605288723804, 0.20214778779615047, 0.45045269018738476, 0.593098234724918, 0.018160056567341334, 0.7788781532531285, 0.14293747863810338, 0.3156806852732578, 0.2599541959285974, 0.8662819349466072, 0.6667291321172172, 0.29466776773988224, 0.9527613186057372, 0.4026087043061958, 0.15235240401158237, 0.9677595085299937, 0.8872214155273682, 0.8767646136699738, 0.5414994124676942, 0.9251935033611817, 0.44459381608320603, 0.3788219397907092, 0.9629981286183216, 0.9488242536516779, 0.42100991883012734, 0.9464447735829712, 0.6254656566431617, 0.2763699620619167, 0.633808395635459, 0.4516105010549932, 0.4482209014187207, 0.2866084298670988, 0.1061711558766666, 0.9784812743227279, 0.5768647027899517, 0.12387059603628667, 0.4609555945124731, 0.26944180715496524, 0.7419577494791872, 0.6274374437086665, 0.5314840972885223, 0.7521692073481858, 0.33843463465882506, 0.5833886649892277, 0.536104316877646, 0.6461380192505514, 0.7697897755125164, 0.48308218650826923, 0.5545744422875042, 0.8821882793127879, 0.35465433047019823, 0.8937626815405323, 0.27775462786526245, 0.7736958020838322, 0.3441549082955073, 0.16280249386373336, 0.9277020403936022, 0.17248460670425278, 0.44640409423101624, 0.08777186222798868, 0.6130683892377988, 0.006907573378179951, 0.21961864632548675, 0.569916401725386, 0.7946905622829595, 0.5834964490149008, 0.1776961034869042, 0.1686879826718405, 0.03844112487319321, 0.21724465224867856, 0.5716012207482483, 0.08973096516660371, 0.22677235256341902, 0.588935060488617, 0.8266229981210772, 0.7981693457998745, 0.7969384047351953, 0.010963473761776038, 0.6094596957908489, 0.9731708521547607, 0.4326222860421612, 0.5158314753748312, 0.4101728942430769, 0.4885828855156215, 0.5966203494630904, 0.07389581918791825, 0.30232323357775526, 0.23794044150608873, 0.45535375939696193, 0.1490603551030786, 0.1900596714801264, 0.7303402401022482, 0.9812776843793356, 0.5428838381531542, 0.4935801964613511, 0.7465553791782421, 0.3067505734409155, 0.8090515721631006, 0.744216456286507, 0.8223338251207023, 0.35260256887158714, 0.26132098188317837, 0.8974153801299706, 0.1580796392552971, 0.9365077862596252, 0.5989006517279712, 0.5861011717119724, 0.13105892449655732, 0.2803180061274696, 0.10375970488262326, 0.6682958662225993, 0.8379040659072042, 0.5917552997867837, 0.47458893020708137, 0.6614623639115201, 0.0015073943657061817, 0.5242889485374466, 0.9220468698412003, 0.5418038688502318, 0.8974019189771113, 0.2396374297468648, 0.42952444112534466, 0.4797137111448243, 0.7604194483139131, 0.020138616077226248, 0.7729477499898745, 0.8427151891462977, 0.042798085453530955, 0.28322187485533495, 0.972114365387231, 0.5945658607360639, 0.3899788751699043, 0.5373935339170234, 0.294719689091941, 0.7937214383399755, 0.7000871770617063, 0.7485117703935168, 0.5725800784502165}
  2. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. If(countQuestion ≟ 1, startNumDecimals, 1 + floor((currentRandomSeeds(1) * 3))) → numDecimalDigits
  4. If(countQuestion ≟ 1, startNumWholeDigits, 1 + floor((currentRandomSeeds(2) * 4))) → numWholeDigits
  5. Take(allUnitNum, 5 - numWholeDigits, 4 + numDecimalDigits) → currentUnitNum
  6. Zip(1 + floor((currentRandomSeeds(K) * (Length[possibleDigits] - K + 1 - If[K ≟ 1 ∨ K ≟ numWholeDigits + numDecimalDigits, 1, 0]))), K, Sequence[9]) → indexDigitList
  7. Element(possibleDigits, indexDigit1) → digit1
  8. Element(Remove[possibleDigits, {digit1}], indexDigit2) → digit2
  9. Element(Remove[possibleDigits, {digit1, digit2}], indexDigit3) → digit3
  10. Element(Remove[possibleDigits, {digit1, digit2, digit3}], indexDigit4) → digit4
  11. Element(Remove[possibleDigits, {digit1, digit2, digit3, digit4}], indexDigit5) → digit5
  12. Element(Remove[possibleDigits, {digit1, digit2, digit3, digit4, digit5}], indexDigit6) → digit6
  13. Element(Remove[possibleDigits, {digit1, digit2, digit3, digit4, digit5, digit6}], indexDigit7) → digit7
  14. Element(Remove[possibleDigits, {digit1, digit2, digit3, digit4, digit5, digit6, digit7}], indexDigit8) → digit8
  15. Element(Remove[possibleDigits, {digit1, digit2, digit3, digit4, digit5, digit6, digit7, digit8}], indexDigit9) → digit9
  16. Zip((K * L), K, currentDigits, L, currentUnitNum) → row2Nums
  17. Zip(If[L ≥ 1, (("" * J) * ""), (((("\dfrac{" * K) * "}{") * 1 / L) * "}")], K, currentDigits, L, currentUnitNum, J, row2Nums) → row1Nums
  18. Min(floor(animateControl), (2 * numDigits) + 1) → animateRows
  19. Sequence(row1Start + (k * (spaceEnd, 0)), k, 0, 18) → row1Location
  20. Sequence(startEnd + (K * (spaceEnd, 0)), K, 0, 7) → boxAnchors
  21. Take(allUnitList, 5 - numWholeDigits, 4 + numDecimalDigits) → currentUnitTextLength
  22. Sequence(boxAnchors(K) + ((1 / 10 * spaceEnd), 0), K, 1, numDecimalDigits + numWholeDigits) → boxLabelLoc
  23. Zip(Text[("\times" * K), J, true, true, 1, 0], K, currentUnitTextLength, J, boxLabelLoc) → unitLabels
  24. Take({lengthTextUnit1, lengthTextUnit2, lengthTextUnit3, lengthTextUnit4, lengthTextUnit5, lengthTextUnit6, lengthTextUnit7}, 1, numDigits) → lengthBetweenDigits
  25. Sequence(startEnd + (k * (spaceClose, 0)) + (Sum[lengthBetweenDigits, k], 0), k, 0, numDigits) → pointsEquation
  26. If(countQuestion ≟ 1, startHomeAnchors, Sequence[startHome + (If[k ≥ numWholeDigits, spaceDecimal, 0], 0) + (k * (spaceHome, 0)), k, 0, 10]) → allHomeAnchors
  27. Translate(allHomeAnchors(2), Vector[(animateNumber2 * Vector[allHomeAnchors(2), pointsEquation(2)])]) → P2
  28. Translate(allHomeAnchors(7), Vector[(animateNumber7 * Vector[allHomeAnchors(7), pointsEquation(7)])]) → P7
  29. Translate(allHomeAnchors(6), Vector[(animateNumber6 * Vector[allHomeAnchors(6), pointsEquation(6)])]) → P6
  30. Translate(allHomeAnchors(5), Vector[(animateNumber5 * Vector[allHomeAnchors(5), pointsEquation(5)])]) → P5
  31. Translate(allHomeAnchors(4), Vector[(animateNumber4 * Vector[allHomeAnchors(4), pointsEquation(4)])]) → P4
  32. Translate(allHomeAnchors(3), Vector[(animateNumber3 * Vector[allHomeAnchors(3), pointsEquation(3)])]) → P3
  33. Translate(allHomeAnchors(1), Vector[(animateNumber1 * Vector[allHomeAnchors(1), pointsEquation(1)])]) → P1
  34. centerBox(boxWidth, boxHeight, P7) → box7
  35. centerBox(boxWidth, boxHeight, P6) → box6
  36. centerBox(boxWidth, boxHeight, P5) → box5
  37. centerBox(boxWidth, boxHeight, P4) → box4
  38. centerBox(boxWidth, boxHeight, P3) → box3
  39. centerBox(boxWidth, boxHeight, P2) → box2
  40. centerBox(boxWidth, boxHeight, P1) → box1
  41. Sequence((0, (-spaceRowV)) + row1Start + (k * (spaceEnd, 0)), k, 0, 18) → row2Location
  42. Take(Zip[Text[(((("\textcolor{" * K) * "}{") * L) * "}"), J, true, true, 1, 0], L, row2Nums, J, row2Location, K, colorList], 1, Max[1, animateRows - numDigits - 1]) → row2Labels
  43. Sequence(((2 + floor((currentRandomSeeds(A) * 3))) / 10 * (-1)^(A)), A, 1, 7) → shift, {-0.3, 0.3, -0.2, 0.4, -0.3, 0.2, -0.3}
  44. Zip(currentUnitTextLength(K), K, shuffleChoice) → currentUnitsShuffledDELETE
  45. Element(allHomeAnchors, numDigits) → onboardingPoint
  46. Zip(IndexOf[K, shuffleChoice], K, Sequence[1, numDigits]) → correctOrder
  47. centerBox(boxWidth, boxHeight, boxAnchors(7)) → frame7
  48. centerBox(boxWidth, boxHeight, boxAnchors(6)) → frame6
  49. centerBox(boxWidth, boxHeight, boxAnchors(5)) → frame5
  50. centerBox(boxWidth, boxHeight, boxAnchors(4)) → frame4
  51. centerBox(boxWidth, boxHeight, boxAnchors(3)) → frame3
  52. centerBox(boxWidth, boxHeight, boxAnchors(2)) → frame2
  53. centerBox(boxWidth, boxHeight, boxAnchors(1)) → frame1
  54. Zip(currentStudentDigitsHint(IndexOf[k, shuffleChoice]), k, Sequence[j, j, 1, numDigits]) → currentStudentDigitsRearranged
  55. Textfield(input1) → InputBox1
  56. Textfield(input2) → InputBox2
  57. Corner(5) → layoutAppSize
  58. PointToPixels(Corner[onboardingDisplayText, 2], Corner[1], Corner[3], Corner[5]) → layoutOnboarding
  59. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  60. Sequence(k, k, 1, 10) → homeIndices
  61. Zip(allHomeAnchors(J), J, homeIndices) → homeLocations
  62. Take({P1, P2, P3, P4, P5, P6, P7, P8}, 1, numDragBoxes) → movingPoints
  63. Element(movingPoints, movingIndex) → PMove
  64. Take({frame1, frame2, frame3, frame4, frame5, frame6, frame7}, 1, numDigits) → frameList
  65. IndexOf(true, Zip[IsInRegion[PMove, K], K, frameList]) → locationPMove
  66. centerBox(boxWidth, boxHeight, PMove) → highlightBox
  67. centerBox(boxWidth, boxHeight, boxAnchors(locationPMove)) → highlightFrame
  68. Zip((("\text{" * K) * "}"), K, {digit1, digit2, digit3, digit4, digit5, digit6, digit7}) → boxText
  69. Text(("" * boxText(movingIndex)), If[Defined[PMove], PMove, (300, 300)], false, true, 0, 0) → textHightlight
  70. Sequence(HOME, k, 1, numDragBoxes) → allHome
  71. centerBox(boxWidth, boxHeight, P8) → box8
  72. centerBox(boxWidth, boxHeight, boxAnchors(8)) → frame8
  73. Sequence((((("SetValue(P" * K) * ",homeLocations(") * K) * "))"), K, 1, numDragBoxes) → cmdSendHome
  74. Zip(centerBox[boxWidth, boxHeight, K], K, Take[allHomeAnchors, 1, numDragBoxes]) → homeBoxes
  75. Text("\text{.}", decLocation - (0, boxHeight / 11), true, true, 0, 0) → textDecimal
  76. Zip(currentUnitNum(K), K, shuffleChoice) → currentUnitsNumShuffledDELETE
  77. If(animateControl > (numDigits * 2) + 1, animateControl - animateRows, 0) → animateFinalNum
  78. Zip(A + (0, (-spaceRowV)), A, row2Location) → row3Location
  79. Sequence((k * (spaceDecimal, 0)) + row3Center, k, (-numWholeDigits) + 1, numDecimalDigits) → finalPoints
  80. Zip(Vector[(animateFinalNum * Vector[K, J])], K, row3Location, J, finalPoints) → finalVectors
  81. Zip(If[IndexOf[K, currentStudentDigitsRearranged] ≟ numWholeDigits, (("" * K) * "."), (("" * K) * "")], K, currentStudentDigitsRearranged) → chosenDigitRearrangedText
  82. Zip(currentDigits(K), K, shuffleChoice) → correctDigits
  83. Zip((((("\text{\textbf{" * K) * "} \times ") * J) * "}"), K, correctDigits, J, currentUnitsShuffledDELETE) → solutionList
  84. Sequence(SolutionStart + (K * (spaceEnd, 0)), K, 0, 120) → solutionPoints
  85. Zip(Text[K, J, true, true, 1, 0], K, solutionList, J, solutionPoints) → solutionText
  86. Zip(currentDigits(IndexOf[K, currentLocations]), K, Sequence[1, numDigits]) → currentStudentDigits
  87. Take(Zip[Text[(((("\textcolor{" * K) * "}{") * L) * "}"), J, true, true, 1, 0], L, row1Nums, J, row1Location, K, colorList], 1, Min[numDigits, animateRows]) → row1Labels
  88. If(animateControl < numDigits, 0, Min[animateControl - animateRows, 1]) → animateMovingNums
  89. Zip(row1Location(IndexOf[K, shuffleChoice]), K, Sequence[1, numDigits]) → moveRow1Location
  90. Zip(Vector[K, J], K, moveRow1Location, J, row2Location) → moveVectors
  91. If(animateRows ≥ numDigits, animateRows - numDigits, 0) → indexRow2
  92. Zip(Translate[K, Vector[J]], K, row3Location, Vector[J], finalVectors) → finalMovingPoints
  93. Zip(Text["\text{+}", J, true, true, 1, 0], J, Take[row2PlusLoc, 1, Length[row2Labels] - 1]) → row2Plus
  94. Zip(Text[K, J, true, true, 1, 0], K, chosenDigitRearrangedText, J, finalMovingPoints) → row3Labels
  95. Take(allUnitList, 5 - numWholeDigits, 4 + numDecimalDigits) → currentUnitText
  96. Zip(K - (0.48, 0), K, pointsEquation) → pointsEquationShift
  97. Zip(K ≟ 0, K, animateList) → boxesFixes
  98. Zip((((("SetFixed(box" * K) * ",false,") * J) * ")"), K, Sequence[Length[movingPoints]], J, boxesFixes) → cmdFixBoxes
  99. Zip(Text[((("(\hspace{28px} \times \hspace{2px}" * K) * ")") * If[L < numDigits, "\hspace{1px}+\hspace{1px}", ""]), J, true, true, 1, 0], K, currentUnitText, J, pointsEquationShift, L, Sequence[numDigits]) → equationText
  100. Zip(Text["\text{+}", J, true, true, 1, 0], J, Take[row1PlusLoc, 1, Length[row1Labels] - 1]) → row1Plus
  101. Text("=", row1Location(1), true, true, -1, 0) → textEquals1
  102. Text("=", row2Location(1), true, true, -1, 0) → textEquals2
  103. centerBox(boxWidth, boxHeight, movingPoint) → movingBox
  104. Zip(Text[((("\textcolor{" * L) * "}") * K), J, true, true, 0, 0], K, boxText, J, Take[allHomeAnchors, 1, numDragBoxes], L, colorList) → boxTextHome
  105. expandCircle(onboardingPoint - (0, 0.04), 7 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingCircle
  106. Zip(Text[((("\textcolor{" * L) * "}") * K), J, true, true, 0, 0], K, boxText, J, Take[{P1, P2, P3, P4, P5, P6, P7}, 1, numDragBoxes], L, colorList) → boxTextMoving

AI 绘图提示语参考

图形展示一个数字的展开形式,将数字分解为各个数位上的值。图形中包含个位、十位、百位等整数部分,以及十分位、百分位、千分位等小数部分。数字通过随机生成,图形以网格布局展示这些数位,并显示每个数位的值。图形中可能有一个框架来框住这些数字,以及一个文本框显示展开表达式。用户可以通过滑块调整数字的位数和值。
以上提示语为根据原始绘图命令整理而来,仅供参考。