气球与沙袋:整数加减法多步运算互动探究

气球与沙袋:整数加减法多步运算互动探究
几何画板及绘图内容加载中,请稍等……
2023-08-19 04:26
① 本范例通过气球(代表正数)和沙袋(代表负数)的直观模型,演示整数加法与减法的多步运算过程,帮助学习者将抽象的数运算转化为可视化的物理操作。② 核心数学概念包括整数加减法、正负数的意义、多步表达式的构建与化简,以及数感培养。③ 作图要点:利用GeoGebra命令如RandomUniform、Shuffle、Take、If、CountIf、Sequence、Zip、Sum、Segment、Polygon、Circle、Translate等,构建随机题目生成、气球与沙袋的动画拖放、步骤分步显示(animationSlider)以及实时计算校验(cumSum)等交互机制,实现动态建模与即时反馈。④ 适合6-8年级学生,用于课堂探究或自主练习,也可作为教师演示整数运算规律的直观教具,支持西班牙语翻译版本。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 250) → allRandomSeeds, {0.7164396340843854, 0.0960152250184383, 0.9493939396963116, 0.3840123472039877, 0.3503714177046925, 0.6360563267521125, 0.4799774201135941, 0.07580900613761635, 0.18996965801243682, 0.5441322122525135, 0.7441943818522122, 0.5161504893493514, 0.3967554276257407, 0.19859336809269945, 0.2923863766346715, 0.11689524148321852, 0.14181318639905482, 0.26638014435347934, 0.5204664956257167, 0.7392432113830971, 0.6564361156928823, 0.24590046913288646, 0.20710859014615612, 0.7561540832459619, 0.8048893081315012, 0.1241387208854631, 0.20702157278826827, 0.35140503870591333, 0.6213634319244329, 0.011071671816478773, 0.29749343405668927, 0.12265577570750161, 0.8164624670336769, 0.08297312431233918, 0.48350511627134524, 0.7829884023578804, 0.3090288836371394, 0.8893824699136104, 0.2770169104097707, 0.5221765750208428, 0.866755310047899, 0.9663930805109245, 0.7785202171774598, 0.7554134234596757, 0.22386625317674516, 0.5914846810874755, 0.36362554740684117, 0.2633890120017607, 0.4961745917015194, 0.8823800950093441, 0.754322614264771, 0.9134589830190707, 0.12302689455471917, 0.6343497426438027, 0.3036010283025689, 0.9071815280035325, 0.6520478417235968, 0.6970183249073466, 0.8733608296674932, 0.9347261133153476, 0.9061777750170212, 0.5830463500805086, 0.6889691095521858, 0.6915682121364828, 0.11326983405834296, 0.5070653467394698, 0.8594348373109152, 0.08748447047145404, 0.3364706967975033, 0.2239383612430099, 0.05997638977875627, 0.5721498881071209, 0.8687568665596231, 0.0007988334434471389, 0.06374666515929091, 0.5756129760590485, 0.2773313740309829, 0.40738898109160177, 0.3416582587819054, 0.06558706503220245, 0.16310764620276064, 0.003974655711198713, 0.03361654265298395, 0.3868455422438254, 0.8072166009245694, 0.47555706874955866, 0.7410213152411232, 0.9210459931264191, 0.6303687522175544, 0.7752328265689138, 0.9191375887890131, 0.22803265114505494, 0.3819878837432102, 0.33837155971014105, 0.07886406178003166, 0.2620787590553106, 0.8843037153892244, 0.7827869593611381, 0.430543146398396, 0.8686301233529934, 0.6720503259136494, 0.6582698817515381, 0.05775892263426455, 0.6288981529029435, 0.4610635900422244, 0.9317331785405101, 0.3465596326811618, 0.1311254110896817, 0.09890460034930537, 0.7917864385747545, 0.23521937046112218, 0.2485084849564189, 0.7876577987910186, 0.6488145001135771, 0.0815185026032715, 0.00461306812800687, 0.9332612777451196, 0.3235769143201957, 0.4685752149097243, 0.3676530031199308, 0.9271236207697704, 0.19897667277685782, 0.6265009401998731, 0.9452295328005244, 0.6143650277736709, 0.37596450985833785, 0.1155798763701998, 0.40103925881015723, 0.958792609228031, 0.09555123843096322, 0.8472884834571616, 0.27465906061478473, 0.5676779545555303, 0.13459387138631027, 0.3522728671703542, 0.4048029467524333, 0.35955259687129437, 0.593401869491618, 0.04939319044119887, 0.9454208911741416, 0.705569811993467, 0.11827882960184963, 0.37712088320209214, 0.9326713526233226, 0.7795036117138759, 0.541869940839412, 0.1779406334827879, 0.5591491539974149, 0.513164175941615, 0.20862979112327926, 0.2979611191779991, 0.4797873691474453, 0.08290604465176853, 0.0718551946731044, 0.27767929220637805, 0.0715762691591949, 0.14898841468818255, 0.5025466275122039, 0.9757701146113874, 0.8666549859358625, 0.4128197529505981, 0.9488674634843873, 0.8358896985967724, 0.5854306466170558, 0.18757636507309017, 0.4281633092516863, 0.2567815445661913, 0.47316705877630494, 0.8153323744716572, 0.6513855085729474, 0.23846680900264064, 0.43995989008802666, 0.8586718286338902, 0.7223298128653821, 0.12197650568048399, 0.03017662509020906, 0.6467751458991778, 0.24135862214851836, 0.46694908166387944, 0.10329031671666213, 0.8951815811951849, 0.2452174526414248, 0.9204696893817783, 0.38357219508703516, 0.634825126758176, 0.8011873086013807, 0.8017674764992069, 0.8413334894479004, 0.3095261504403129, 0.6451337921128952, 0.680814808396012, 0.6033185729977475, 0.5918916577933189, 0.08901855284257885, 0.12448823192084685, 0.21445131833060582, 0.7755367672136096, 0.45413258603156337, 0.9117528233659524, 0.10742363054185589, 0.9466859923785217, 0.32169208718428693, 0.9393224657629689, 0.5705898154507758, 0.5105472097847206, 0.042505018627857015, 0.751426269296246, 0.7982921518214856, 0.6573723942204373, 0.622173260550563, 0.5616760936630764, 0.421093317882925, 0.5998286148999061, 0.4977381830907578, 0.18158339829056933, 0.5064278135153836, 0.15719882128124055, 0.3858083682833149, 0.7090138274622635, 0.21290947726479834, 0.3530160117321932, 0.531026573863566, 0.6007951358790398, 0.9639441023951095, 0.41100627842387755, 0.46723890933446827, 0.6468102380143698, 0.7983961591611192, 0.1196746746835366, 0.7119226768346576, 0.20820872229891435, 0.31784500537800287, 0.29851458252536417, 0.22730997263850342, 0.6698616670981802, 0.8714413843179718, 0.5386551912962642, 0.819212510155998, 0.7068611761721535, 0.8305366798232878, 0.7277834381594351, 0.6068093448496226, 0.37673220148101955, 0.8761068870157721, 0.31338515682510165, 0.1036020163666632, 0.5030762380367116, 0.29253087290123253, 0.36974722406478644, 0.8713728731610794}
  2. Shuffle(Flatten[{Sequence[(6.5, -4.5) + ((2 * cos(n)), sin(n)), n, -6, 6], Sequence[(6.5, -4.5) + ((3 * cos(n)), (1.75 * sin(n))), n, -9, 9]}]) → bagStartUnShuffled, {(8.5, -4.5), (8.420340573300733, -4.779415498198926), (4.5390691374091645, -5.824404366788874), (3.5300225101986635, -4.746960014104768), (4.52001500679911, -4.358879991940133), (5.667706326905715, -3.590702573174318), (7.350986556389679, -6.178117480660492), (9.5, -4.5), (7.067324370926452, -3.5410757253368614), (8.120906917604419, -5.972574223413819), (5.667706326905715, -5.409297426825682), (5.192712758272776, -3.7431975046920716), (9.380510859951098, -4.98897712184812), (7.5806046117362795, -3.6585290151921033), (5.251559490358573, -6.091270496944943), (7.350986556389679, -2.821882519339508), (7.5806046117362795, -5.341470984807897), (8.120906917604419, -3.027425776586181), (3.5300225101986635, -4.253039985895232), (5.251559490358573, -2.9087295030550573), (3.7666092143459693, -3.778792650826926), (4.52001500679911, -4.641120008059867), (8.761706763029913, -5.649726547757881), (8.420340573300733, -4.220584501801074), (7.067324370926452, -5.458924274663138), (9.380510859951098, -4.01102287815188), (3.7666092143459693, -5.221207349173074), (8.761706763029913, -3.350273452242119), (4.5390691374091645, -3.1755956332111257), (5.192712758272776, -5.256802495307928), (6.063499898574159, -2.768623068409082), (6.063499898574159, -6.231376931590918)}
  3. Shuffle({-9, -3, 2, 9}) → randomYCloudStarts, {2, -3, -9, 9}
  4. Shuffle(Flatten[{Sequence[Rotate[(6.5, 3.25), (((-1)^(n) * 30) * n°), (6.5, 4.5)], n, 1, 6], Sequence[Rotate[(6.5, 2), (((-1)^(n) * 20) * n°), (6.5, 4.5)], n, 1, 9], Sequence[Rotate[(6.5, 3.25), (((-1)^(n) * 30) * n°), (6.5, 4.5)], n, 7, 12], Sequence[Rotate[(6.5, 2), (((-1)^(n) * 20) * n°), (6.5, 4.5)], n, 10, 18]}]) → balloonStartUnShuffled, {(7.125000000000001, 3.4174682452694523), (6.5, 7), (5.417468245269452, 3.875), (7.355050358314172, 6.84923155196477), (8.665063509461095, 5.75), (7.125, 5.582531754730548), (4.893030975783651, 2.5848888922025557), (6.500000000000001, 3.25), (8.106969024216347, 6.415111107797445), (4.03798061746948, 4.934120444167326), (5.25, 4.5), (4.893030975783651, 6.415111107797445), (5.417468245269452, 5.125000000000001), (8.96201938253052, 4.065879555832674), (7.582531754730548, 3.875), (6.5, 5.75), (8.665063509461097, 3.2500000000000018), (8.106969024216347, 2.584888892202555), (5.875, 3.4174682452694514), (5.875, 5.582531754730549), (5.6449496416858285, 2.1507684480352287), (6.499999999999999, 2), (5.6449496416858285, 6.849231551964771), (8.96201938253052, 4.934120444167326), (7.582531754730549, 5.125), (4.334936490538903, 5.749999999999999), (4.037980617469479, 4.065879555832675), (4.334936490538903, 3.25), (7.3550503583141715, 2.1507684480352287), (7.75, 4.5)}
  5. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  6. If(btnOrder(3) ≠ 0 ∧ btnOrder(4) ≠ 0, 1, 2) → startSteps
  7. CountIf(n > 0, n, btnOrder) → countOps
  8. RemoveUndefined(Sequence[IndexOf[n, btnOrder], n, 1, 4]) → textIndex
  9. Sequence(If[n ≟ 1 ∨ n ≟ 4, "+", "-"] + "\textcolor{" + (If[n ≤ 2, colorPink, colorOrange]) + "}{" + (abs(btnStorage(n))) + "}", n, 1, 4) → numOpsSim
  10. Flatten({Zip[numOpsSim(n), n, textIndex], ""}) → numOpsSimpOrder
  11. Sequence(If[n ≤ 2, btnStorage(n), (-btnStorage(n))], n, 1, 4) → btnStorageVal
  12. Zip(btnStorageVal(n), n, textIndex) → btnStorageOrder
  13. Sequence(numRandomStart + Sum[First[btnStorageOrder, n]], n, 1, 4) → cumSum, {NaN, NaN, NaN, NaN}
  14. Sequence(cumSum(n) + Sum[Last[numOpsSimpOrder, countOps - n + 1]] + "\\\\", n, 1, countOps) → calcInSteps
  15. If(animationSliderN ≟ 1 ∧ animationsCount ≟ 2, step, step - 1) → stepShow
  16. If(32 - Mod[numSandbagsTotalStatic, 32] < abs(btnStorage(4)), {Mod[numSandbagsTotalStatic, 32] + 1, 32, abs(btnStorage(4)) - (32 - Mod[numSandbagsTotalStatic, 32])}, {Mod[numSandbagsTotalStatic, 32] + 1, Mod[numSandbagsTotalStatic, 32] + abs(btnStorage(4)), 0}) → bagTakeTo
  17. If(btnStorage(4) < 0, Flatten[{Take[bagStartUnShuffled, bagTakeTo(1), bagTakeTo(2)], First[bagStartUnShuffled, bagTakeTo(3)]}], {}) → bagsToDrop
  18. If(step ≠ btnOrder(4), 0, step ≟ btnOrder(4) ∧ animationsCount ≟ 1, (animationSliderN * bagDropLength), bagDropLength) → animationSubSandNew
  19. Zip(Distance[n, y = -9], n, bagsDroppedCopy) → bagDropDistance
  20. If(Length[bagDropDistance] > 0, Sum[bagDropDistance], 1) → animationDropRange
  21. If(animationSlider < bagDropLength, animationSlider, bagDropLength) → animationDropSliderOld
  22. If(step ≠ btnOrder(4), 0, step ≟ btnOrder(4) ∧ animationsCount ≟ 1, (animationSliderN * animationDropRange), animationDropRange) → animationDropSliderNew
  23. If(numCurrentY > numLastY, functDown, functUp) → functUse
  24. If(animationSlider < animationObjectRange, 0, animationSlider - animationObjectRange) → animationSliderMoveOld
  25. If(Mod[animationsCount, 2] ≟ 0, animationSliderN, 0) → animationSliderMove
  26. If(animationStart ≟ 0, PointStartStat, PointStartMove) → PointStart
  27. Sequence(If[n ≟ 3 ∨ n ≟ 4, "\hspace{8px}\scalebox{0.5}[1.0]{-}", "\hspace{8px}"] + (abs(btnStorage(n))) + "\hspace{8px}", n, 1, 4) → textImSign
  28. Zip(textImSign(n), n, textIndex) → textImSignOrder
  29. Sequence(If[n ≟ 1 ∨ n ≟ 3, "+", "-"] + (If[n ≟ 3 ∨ n ≟ 4, "\hspace{8px}\scalebox{0.5}[1.0]{-}", "\hspace{8px}"]) + (abs(btnStorage(n))) + "\hspace{8px}", n, 1, 4) → textImSpace
  30. Zip(textImSpace(n), n, textIndex) → textImsOrder
  31. Sequence(numWidths(n) + If[n ≟ 1, 0, n > 1 ∧ textIndex(n - 1) ≤ 2, -0.2, -0.7], n, 1, 5) → useWidths, {1.2913824115814876, -0.03348004563536189, -0.03348004563536189, -0.03348004563536189, -0.03348004563536189}
  32. Sequence(x(PointTextStart) + If[n > 0, Sum[First[useWidths, n]], 0], n, 2, 5) → sumWidths, {22.144218132496512, 22.11073808686115, 22.077258041225786, 22.043777995590425}
  33. Flatten({0, Sequence[sumWidths(n) - numWidthsS(n) / 2, n, 1, 4]}) → shapeMidX
  34. Sequence(Sum[First[bagDropDistance, n]], n, 1, Length[bagDropDistance]) → bagDropDistanceCum
  35. Zip(Distance[n, y = -9], n, bagsToDrop) → bagTakeDistance
  36. Sequence(Sum[First[bagTakeDistance, n]] + (0.5 * n), n, 1, Length[bagTakeDistance]) → bagTakeDistanceCumSpace, {}
  37. If(step ≠ btnOrder(4), 0, step ≟ btnOrder(4) ∧ animationsCount ≟ 1, (animationSliderN * bagDropLength), bagDropLength) → animationSubSandbags
  38. Sum(Sequence[If[If[n ≟ 1, 0, bagTakeDistanceCumSpace(n - 1)] < animationSubSandbags ≤ bagTakeDistanceCumSpace(n), n, 0], n, 1, Length[bagTakeDistanceCumSpace]]) → bagNum
  39. If(step ≠ btnOrder(4), 0, step ≟ btnOrder(4) ∧ animationsCount ≟ 1, (animationSliderN * animationDropRange), animationDropRange) → animationDropSlider
  40. Sequence(If[n > 1 ∧ animationDropSlider < bagDropDistanceCum(n - 1) ∨ n ≟ 1 ∧ animationDropSlider ≟ 0, 0, animationDropSlider < bagDropDistanceCum(n), animationDropSlider - If[n ≟ 1, 0, bagDropDistanceCum(n - 1)], bagDropDistance(n)], n, 1, Length[bagDropDistanceCum]) → bagDropAnimateSlider
  41. If(32 - Mod[numSandbagsTotalStatic, 32] < abs(numSandbagsStatic), {Mod[numSandbagsTotalStatic, 32] + 1, 32, abs(numSandbagsStatic) - (32 - Mod[numSandbagsTotalStatic, 32])}, {Mod[numSandbagsTotalStatic, 32] + 1, Mod[numSandbagsTotalStatic, 32] + abs(numSandbagsStatic), 0}) → bagsTake
  42. If(numSandbagsStatic < 0, Flatten[{Take[bagStartUnShuffled, bagsTake(1), bagsTake(2)], First[bagStartUnShuffled, bagsTake(3)]}], {}) → bagsDropped
  43. Zip((x(n), -8.85), n, bagsDropped) → bagDropListGround
  44. Zip(PartitionPoint[n, m, p, k], n, bagsDroppedCopy, m, bagDropListGround, p, bagDropAnimateSlider, k, bagDropDistance) → bagDropAnimatePoints
  45. Sequence((100 + floor((allRandomSeeds(A) * 60))) / 10, A, 2, 51) → cloud1x, {10.5, 15.6, 12.3, 12.1, 13.8, 12.8, 10.4, 11.1, 13.2, 14.4, 13, 12.3, 11.1, 11.7, 10.7, 10.8, 11.5, 13.1, 14.4, 13.9, 11.4, 11.2, 14.5, 14.8, 10.7, 11.2, 12.1, 13.7, 10, 11.7, 10.7, 14.8, 10.4, 12.9, 14.6, 11.8, 15.3, 11.6, 13.1, 15.2, 15.7, 14.6, 14.5, 11.3, 13.5, 12.1, 11.5, 12.9, 15.2, 14.5}
  46. Sequence((-20 + floor((allRandomSeeds(A) * 40))) / 10, A, 52, 72) → cloud1y, {1.6, -1.6, 0.5, -0.8, 1.6, 0.6, 0.7, 1.4, 1.7, 1.6, 0.3, 0.7, 0.7, -1.6, 0, 1.4, -1.7, -0.7, -1.2, -1.8, 0.2}
  47. If(testing ≟ 1, yMove, numMoveCloudsOld) → numMoveClouds
  48. Segment((0, 0), (0, 8)) → verticalLineTop
  49. Segment((0, 0), (0, -8)) → verticalLineBottom
  50. Polygon({BucketPoint + (1, 1), BucketPoint + (1, -1), BucketPoint + (-1, -1), BucketPoint + (-1, 1)}) → bucketArea
  51. IndexOf(Element[KeepIf[n ≥ animationDropSlider, n, bagDropDistanceCum], 1], bagDropDistanceCum) → animationCount
  52. Zip(Circle[n, 1], n, cloud1Points) → cloud1
  53. Sequence((-20 + floor((allRandomSeeds(A) * 40))) / 10, A, 73, 93) → cloud2x, {1.4, -2, -1.8, 0.3, -0.9, -0.4, -0.7, -1.8, -1.4, -2, -1.9, -0.5, 1.2, -0.1, 0.9, 1.6, 0.5, 1.1, 1.6, -1.1, -0.5}
  54. Sequence((-10 + floor((allRandomSeeds(A) * 10))) / 10, A, 94, 114) → cloud2y, {-0.7, -1, -0.8, -0.2, -0.3, -0.6, -0.2, -0.4, -0.4, -1, -0.4, -0.6, -0.1, -0.7, -0.9, -1, -0.3, -0.8, -0.8, -0.3, -0.4}
  55. Zip(Circle[n, 1], n, cloud2Points) → cloud2
  56. Sequence((50 + floor((allRandomSeeds(A) * 50))) / 10, A, 115, 155) → cloud3x, {5.4, 5, 9.6, 6.6, 7.3, 6.8, 9.6, 5.9, 8.1, 9.7, 8, 6.8, 5.5, 7, 9.7, 5.4, 9.2, 6.3, 7.8, 5.6, 6.7, 7, 6.7, 7.9, 5.2, 9.7, 8.5, 5.5, 6.8, 9.6, 8.8, 7.7, 5.8, 7.7, 7.5, 6, 6.4, 7.3, 5.4, 5.3, 6.3}
  57. Sequence((-15 + floor((allRandomSeeds(A) * 30))) / 10, A, 155, 195) → cloud3y, {-0.7, -1.3, -1.1, 0, 1.4, 1, -0.3, 1.3, 1, 0.2, -1, -0.3, -0.8, -0.1, 0.9, 0.4, -0.8, -0.2, 1, 0.6, -1.2, -1.5, 0.4, -0.8, -0.1, -1.2, 1.1, -0.8, 1.2, -0.4, 0.4, 0.9, 0.9, 1, -0.6, 0.4, 0.5, 0.3, 0.2, -1.3, -1.2}
  58. Zip(Circle[n, 1], n, cloud3Points) → cloud3
  59. Polygon({(-3.5, 9), (-3.5, -9), (13.5, -9), (13.5, 9)}) → moveArea
  60. Polygon({(-3.5, 9), (-3.5, -9), (13.5, -9), (13.5, 9)}) → moveBorder
  61. Sequence((20 + floor((allRandomSeeds(A) * 40))) / 10, A, 195, 215) → cloud4x, {2.4, 2.8, 5.1, 3.8, 5.6, 2.4, 5.7, 3.2, 5.7, 4.2, 4, 2.1, 5, 5.1, 4.6, 4.4, 4.2, 3.6, 4.3, 3.9, 2.7}
  62. Sequence((-10 + floor((allRandomSeeds(A) * 20))) / 10, A, 216, 236) → cloud4y, {0, -0.7, -0.3, 0.4, -0.6, -0.3, 0, 0.2, 0.9, -0.2, -0.1, 0.2, 0.5, -0.8, 0.4, -0.6, -0.4, -0.5, -0.6, 0.3, 0.7}
  63. Zip(Circle[n, 1], n, cloud4Points) → cloud4
  64. Zip(Circle[n, 1], n, Sequence[BagsCenter + ((2 * cos(n)), sin(n)), n, -6, 6]) → bags
  65. Circle(BagsCenter, 1) → bagArea
  66. Zip(Circle[n, 1.1], n, Sequence[BagsCenter + ((2 * cos(n)), sin(n)), n, -6, 6]) → bagsOutline
  67. Polygon({BucketPoint + (1.1, 1.1), BucketPoint + (1.1, -1.1), BucketPoint + (-1.1, -1.1), BucketPoint + (-1.1, 1.1)}) → bucketOutline
  68. If(numSandbagsStatic > 0, Flatten[{Take[bagStartUnShuffled, bagsTake(1), bagsTake(2)], First[bagStartUnShuffled, bagsTake(3)]}], {}) → bagsAdded
  69. Zip(Segment[BucketPoint, n], n, bagsAdded) → bagStrings_{add}
  70. If(30 - Mod[numBalloonsTotalStatic, 30] < abs(numBalloonsStatic), {Mod[numBalloonsTotalStatic, 30] + 1, 30, abs(numBalloonsStatic) - (30 - Mod[numBalloonsTotalStatic, 30])}, {Mod[numBalloonsTotalStatic, 30] + 1, Mod[numBalloonsTotalStatic, 30] + abs(numBalloonsStatic), 0}) → balloonsTake
  71. If(numBalloonsStatic > 0, Flatten[{Take[balloonStartUnShuffled, balloonsTake(1), balloonsTake(2)], First[balloonStartUnShuffled, balloonsTake(3)]}], {}) → balloonsAdded
  72. Zip(Segment[BucketPoint, n], n, balloonsAdded) → balloonStrings_{add}
  73. If(numBalloonsStatic < 0, Flatten[{Take[balloonStartUnShuffled, balloonsTake(1), balloonsTake(2)], First[balloonStartUnShuffled, balloonsTake(3)]}], {}) → balloonsPopped
  74. Sequence(k + numRandomStart - floor(numMoveClouds), k, -3, 3) → listNumberLine, {5, 6, 7, 8, 9, 10, 11}
  75. Sequence(Segment[(-0.375, (2 * n)), (0.375, (2 * n))], n, -3, 3) → numLineSegs
  76. Sequence((x(TextAlign) + 0.2, (2 * n) + 0.45), n, -3, 3) → numLinePoints
  77. Zip(Text[If[n ≠ numRandomStart - floor(numMoveClouds), n, ""], m, true, true], n, listNumberLine, m, numLinePoints) → textsNumberLine
  78. Zip(Vector[BalloonMid, n], n, balloonsAdded) → balloonVecs
  79. CircleArc(BucketMiddleTop, (x(BucketPoint2) - 0.45, 0.55), (x(BucketPoint1) + 0.5, 0.55)) → bucketArc
  80. Zip(Segment[BucketPoint, n], n, balloonBgEnds) → balloonStrings
  81. Zip(Intersect[bucketArc, n], n, balloonStrings) → balloonStarts
  82. Zip(Intersect[bucketArc, n], n, balloonStrings_{add}) → balloonStart_{add}
  83. Zip(Segment[k, n], k, balloonStart_{add}, n, balloonsAdded) → balloonStringsShort_{add}
  84. Zip(Vector[BalloonMid, n], n, balloonsPopped) → balloonPopVecs
  85. Zip(Vector[BagMid, n], n, bagsAdded) → bagVecs
  86. Zip(Vector[BagMid, k], k, bagDropAnimatePoints) → bagDropVecs
  87. Zip(Translate[balloonPic, Vector[n]], Vector[n], balloonVecs) → balloonImages
  88. Zip(Translate[bangPic, Vector[n]], Vector[n], balloonPopVecs) → popImages
  89. Zip(Translate[bagPic, Vector[n]], Vector[n], bagDropVecs) → bagDropImages
  90. Zip(Translate[bagPic, Vector[n]], Vector[n], bagVecs) → bagImages
  91. Zip(Segment[k, n], k, balloonStarts, n, balloonBgEnds) → balloonStringsShort
  92. Zip(Segment[BucketPoint, n], n, bagBGEnds) → bagStrings
  93. Sequence(Sum[First[bagTakeDistance, n]] + (0.5 * (n - 1)), n, 1, Length[bagTakeDistance]) → bagTakeDistanceCum, {}
  94. Sequence("\hspace{4px}\textcolor{" + colorBlack + "}{" + (If[n ≟ 1 ∨ n ≟ 3, "+", "-"]) + "}\hspace{4px}\textcolor{" + (If[n ≤ 2, colorPink, colorOrange]) + "}{" + (If[n ≥ 3, "\left(-", ""]) + (abs(btnStorage(n))) + (If[n ≥ 3, "\right)}", "}"]), n, 1, 4) → numOps
  95. Zip(numOps(n), n, textIndex) → textOpsOrder
  96. Sequence((shapeMidX(n + 1) - smallImageWidth / 2, y(PointTextStart) - 2.1), n, 1, 4) → ptImageStarts
  97. Zip(Vector[PicStartSmall, n], n, ptImageStarts) → transPicVectors
  98. Translate(balloonPicSmall, transPicVectors(btnOrder(1))) → balloon1
  99. Translate(balloonPicSmall, transPicVectors(btnOrder(2))) → balloon2
  100. Translate(bagPicSmall, transPicVectors(btnOrder(3))) → bag1
  101. Translate(bagPicSmall, transPicVectors(btnOrder(4))) → bag2
  102. First(calcInSteps, stepShow) → stepByStep
  103. If(step ≟ btnOrder(4) ∧ Defined[speedDrop] ∧ animationSlider < bagDropLength, speedDrop / 2, animationSlider < animationObjectRange, 20 / animationSliderRange, ((0.1 * (animationSliderMove + 3)^(2)) * (21 + animationObjectRange) / 20)) → speed
  104. Sequence(If[textIndex(n) ≟ 1 ∨ textIndex(n) ≟ 3, widthPlus, widthMinus], n, 1, 4) → opWidths
  105. Sequence((100 + floor((allRandomSeeds(A) * 60))) / 10, A, 2, 51) → cloud1X, {10.5, 15.6, 12.3, 12.1, 13.8, 12.8, 10.4, 11.1, 13.2, 14.4, 13, 12.3, 11.1, 11.7, 10.7, 10.8, 11.5, 13.1, 14.4, 13.9, 11.4, 11.2, 14.5, 14.8, 10.7, 11.2, 12.1, 13.7, 10, 11.7, 10.7, 14.8, 10.4, 12.9, 14.6, 11.8, 15.3, 11.6, 13.1, 15.2, 15.7, 14.6, 14.5, 11.3, 13.5, 12.1, 11.5, 12.9, 15.2, 14.5}

AI 绘图提示语参考

一个交互式图形,用气球表示正数,用沙包表示负数,展示多步整数加减法的过程。图形中随机生成整数问题,气球和沙包按顺序出现并移动,演示加法和减法的逐步计算,并显示累积和。整体直观,帮助理解正负数的意义,适合6-8年级学生探索和练习。
以上提示语为根据原始绘图命令整理而来,仅供参考。