安第斯算盘:自然数四则运算与概率模拟互动教具

安第斯算盘:自然数四则运算与概率模拟互动教具
几何画板及绘图内容加载中,请稍等……
2026-10-08 22:30
本范例演示一种名为“塔普塔尼塔”(Taptanita)的安第斯传统计算工具,模拟类似算盘的珠算操作,用于教学自然数的加法、减法及四则运算。核心数学概念包括自然数运算、随机过程模拟、概率统计入门。构造要点:使用Polygon命令绘制玉米粒与豆粒的排列图形,Sequence与Join命令生成序列与集合,Random与Mod命令实现随机抽取与取模运算,CircleArc与Semicircle命令绘制弧形装饰,Vector与PointIn命令定位元素,Textfield实现交互输入。适合小学至初中数学课堂,用于直观展示算术运算过程或作为概率实验的动手操作教具。

GeoGebra 命令及参数

  1. Join({Sequence[Rotate[(0, (-4.55 * s)), (k * pi / 5), CentroChoza(2)], k, 4, -4, -1], CentroKilla, {Rotate[(0, (-4.55 * s)), (4 * pi / 5), CentroChoza(2)]}}) → CentroPozo
  2. Sequence(Text[("CHOZA " * k), CentroChoza(k) + ajusteChoza], k, 1, 2) → textoChoza
  3. Sequence(Text[("POZO " * k), CentroPozo(k) + ajustePozo], k, 1, 9) → textoPozo
  4. Semicircle(CentroKilla(1) + ((1.52 * s), 0), CentroKilla(1) - ((1.52 * s), 0)) → killa
  5. Polygon(CentroChoza(2) - ((3.4, 3.4) * s), CentroChoza(2) + ((3.4, -3.4) * s), CentroChoza(1) + ((3.4, 1.6) * s), CentroChoza(1) - ((3.4, -1.6) * s)) → zona, f, g, h, i
  6. PointIn(zona) → C1M0a
  7. PointIn(zona) → C1M1a
  8. PointIn(zona) → C1M2a
  9. PointIn(zona) → C1M3a
  10. PointIn(zona) → C1M4a
  11. PointIn(zona) → C1M5a
  12. PointIn(zona) → C1M6a
  13. PointIn(zona) → C1M7a
  14. PointIn(zona) → C1M8a
  15. PointIn(zona) → C1M9a
  16. PointIn(zona) → C1P0a
  17. PointIn(zona) → C1P1a
  18. PointIn(zona) → C1P2a
  19. PointIn(zona) → C1P3a
  20. PointIn(zona) → C1P4a
  21. PointIn(zona) → C1P5a
  22. PointIn(zona) → C1P6a
  23. PointIn(zona) → C1P7a
  24. PointIn(zona) → C1P8a
  25. PointIn(zona) → C1P9a
  26. PointIn(zona) → C1H1a
  27. PointIn(zona) → C1H2a
  28. PointIn(zona) → C1H3a
  29. PointIn(zona) → C1H4a
  30. PointIn(zona) → C1H5a
  31. PointIn(zona) → C1H6a
  32. PointIn(zona) → C1H7a
  33. PointIn(zona) → C1H8a
  34. PointIn(zona) → C1H9a
  35. PointIn(zona) → C2M0a
  36. PointIn(zona) → C2M1a
  37. PointIn(zona) → C2M2a
  38. PointIn(zona) → C2M3a
  39. PointIn(zona) → C2M4a
  40. PointIn(zona) → C2M5a
  41. PointIn(zona) → C2M6a
  42. PointIn(zona) → C2M7a
  43. PointIn(zona) → C2M8a
  44. PointIn(zona) → C2M9a
  45. PointIn(zona) → C2P0a
  46. PointIn(zona) → C2P1a
  47. PointIn(zona) → C2P2a
  48. PointIn(zona) → C2P3a
  49. PointIn(zona) → C2P4a
  50. PointIn(zona) → C2P5a
  51. PointIn(zona) → C2P6a
  52. PointIn(zona) → C2P7a
  53. PointIn(zona) → C2P8a
  54. PointIn(zona) → C2P9a
  55. PointIn(zona) → C2H1a
  56. PointIn(zona) → C2H2a
  57. PointIn(zona) → C2H3a
  58. PointIn(zona) → C2H4a
  59. PointIn(zona) → C2H5a
  60. PointIn(zona) → C2H6a
  61. PointIn(zona) → C2H7a
  62. PointIn(zona) → C2H8a
  63. PointIn(zona) → C2H9a
  64. Corner(1, 1) → E1
  65. Random(1, 1000000) → activar
  66. Join({Sequence[{CentroPozo(k) - (anchoM, altoM) / 2, CentroPozo(k) + (anchoM, (-altoM)) / 2}, k, 1, 9], {posKillaM}}) → posPozosM
  67. Sequence(Rotate[CentroPozo(k) - ((0.2, 0.05) * s), ((-k) * pi / 5), CentroPozo(k)], k, 1, 9) → posPozosHa
  68. Sequence(Rotate[posPozosHa(k) + (anchoH, 0), (((-(k - 1)) * pi)) / 5, posPozosHa(k)], k, 1, 9) → posPozosHb
  69. Sequence(Circle[CentroPozo(k), (0.66 * s)], k, 1, 9) → pozo
  70. Sequence(posC1Maiz(k) + CentroChoza(2) - CentroChoza(1), k, 1, 10) → posC2Maiz
  71. Sequence(Rotate[CentroChoza(1) + (((-anchoP)) / 2, (0.5 * s)), ((-k) * pi / 5), CentroChoza(1)], k, 1, 10) → posC1Poroto
  72. Sequence(posC1Poroto(k) + CentroChoza(2) - CentroChoza(1), k, 1, 10) → posC2Poroto
  73. Sequence(Rotate[CentroChoza(1) + (((-anchoH)) / 2, (0.75 * s)), ((-k) * pi / 5), CentroChoza(1)], k, 1, 10) → posC1Haba
  74. Sequence(posC1Haba(k) + CentroChoza(2) - CentroChoza(1), k, 1, 10) → posC2Haba
  75. Join({Sequence[Rotate[CentroPozo(k) - ((-0.2, 0.05) * s), ((-k) * pi / 5), CentroPozo(k)], k, 1, 9], {posKillaP(1)}}) → posPozosPa
  76. Join({Sequence[Rotate[posPozosPa(k) - (anchoP, 0), (((-(k - 1)) * pi)) / 5, posPozosPa(k)], k, 1, 9], {posKillaP(2)}}) → posPozosPb
  77. Vector(CentroChoza(2) + (0.65 * (CentroPozo(9) - CentroChoza(2))) - (0.2, 0.15), CentroChoza(2) + (0.65 * (CentroPozo(9) - CentroChoza(2)))) → flechaSentidoHorario
  78. CircleArc(CentroChoza(2), CentroChoza(2) + (0.65 * (CentroPozo(9) - CentroChoza(2))), CentroChoza(2) + (0.65 * (CentroPozo(1) - CentroChoza(2)))) → sentido
  79. If(sumar9 ∨ restar9, contar9) → c
  80. If(contar, N1, sumar, N1 + N2, N1 - N2) → T
  81. If(contar19 ∧ aux ≟ 1, 0, floor(N1 / 100)) → c1
  82. If(contar19 ∧ aux ≟ 1, 10, contar19 ∧ aux ≟ 0, 0, floor((N1 - (c1 * 100)) / 10)) → d1
  83. If(contar19 ∧ aux ≟ 1, floor((N1 - 100) / 10), contar19 ∧ aux ≟ 0, 0, floor((N2 - (c2 * 100)) / 10)) → d2
  84. If(contar19 ∧ aux ≟ 0, 10, contar19 ∧ aux ≟ 1, 0, N1 - (100 * c1) - (10 * d1)) → u1
  85. If(contar19 ∧ aux ≟ 0, N1 - 10, contar19 ∧ aux ≟ 1, N1 - 100 - (10 * d2), N2 - (100 * c2) - (10 * d2)) → u2
  86. Mod(u1 + u2, 10) → u12
  87. Mod(d1 + d2, 10) → d12
  88. Vector(CentroChoza(2) + (0.65 * (CentroPozo(1) - CentroChoza(2))) + (0.2, -0.15), CentroChoza(2) + (0.65 * (CentroPozo(1) - CentroChoza(2)))) → flechaSentidoAntiHorario
  89. Textfield(N1) → CasillaDeEntrada1
  90. Textfield(N2) → CasillaDeEntrada2