五乘五

五乘五
几何画板及绘图内容加载中,请稍等……
2019-05-03 01:57
①本范例演示一个五行五列的交互式数学模型,通过动态元素展示加法、乘法等运算规律;②涉及核心数学概念包括加法、乘法、中位线、数列与级数、条件概率、坐标几何、三角函数;③作图要点运用了Reverse, Sequence, Zip, RandomElement, Polygon, Text, Flatten等GeoGebra命令与对象,实现数据的动态生成与可视化;④适合高中阶段数学教学,用于辅助概率统计、解析几何及三角函数的教学演示。

GeoGebra 命令及参数

  1. Reverse({{leftNumber11, leftNumber21, leftNumber31, leftNumber41, leftNumber51}, {leftNumber12, leftNumber22, leftNumber32, leftNumber42, leftNumber52}, {leftNumber13, leftNumber23, leftNumber33, leftNumber43, leftNumber53}, {leftNumber14, leftNumber24, leftNumber34, leftNumber44, leftNumber54}, {leftNumber15, leftNumber25, leftNumber35, leftNumber45, leftNumber55}}) → leftRows
  2. Sequence(Sequence[If[Element[leftRows, i, j] ≟ Element[leftRows, i, j + 1], Element[leftRows, i, j], 0], j, 1, 4], i, 1, 5) → leftRowMatches
  3. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, leftRowMatches) → leftRowUniques
  4. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, leftRowMatches) → leftRowZeros
  5. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, leftRowZeros) → leftRowGaps
  6. RandomElement({"heads", "tails"}) → coinToss
  7. Polygon((1, 1), (2, 1), 4) → right11
  8. Polygon((1, 2), (2, 2), 4) → right12
  9. Polygon((1, 3), (2, 3), 4) → right13
  10. Polygon((1, 4), (2, 4), 4) → right14
  11. Polygon((1, 5), (2, 5), 4) → right15
  12. Polygon((2, 1), (3, 1), 4) → right21
  13. Polygon((2, 2), (3, 2), 4) → right22
  14. Polygon((2, 3), (3, 3), 4) → right23
  15. Polygon((2, 4), (3, 4), 4) → right24
  16. Polygon((2, 5), (3, 5), 4) → right25
  17. Polygon((3.0300525920360633, 1), (4.030052592036063, 1), 4) → right31
  18. Polygon((3, 2), (4, 2), 4) → right32
  19. Polygon((3, 3), (4, 3), 4) → right33
  20. Polygon((3, 4), (4, 4), 4) → right34
  21. Polygon((3, 5), (4, 5), 4) → right35
  22. Polygon((4, 1), (5, 1), 4) → right41
  23. Polygon((4, 1.9849737039819684), (5, 1.9849737039819684), 4) → right42
  24. Polygon((4, 3), (5, 3), 4) → right43
  25. Polygon((4, 4), (5, 4), 4) → right44
  26. Polygon((4, 5), (5, 5), 4) → right45
  27. Polygon((5, 1), (6, 1), 4) → right51
  28. Polygon((5, 2), (6, 2), 4) → right52
  29. Polygon((5, 3), (6, 3), 4) → right53
  30. Polygon((5, 4), (6, 4), 4) → right54
  31. Polygon((5, 5), (6, 5), 4) → right55
  32. Polygon((-6, 1), (-5, 1), 4) → left11
  33. Polygon((-6, 2), (-5, 2), 4) → left12
  34. Polygon((-6, 3), (-5, 3), 4) → left13
  35. Polygon((-6, 4), (-5, 4), 4) → left14
  36. Polygon((-5, 1), (-4, 1), 4) → left21
  37. Polygon((-5, 2), (-4, 2), 4) → left22
  38. Polygon((-5, 3), (-4, 3), 4) → left23
  39. Polygon((-5, 4), (-4, 4), 4) → left24
  40. Polygon((-5, 5), (-4, 5), 4) → left25
  41. Polygon((-6, 5), (-5, 5), 4) → left15
  42. Polygon((-4, 1), (-3, 1), 4) → left31
  43. Polygon((-4, 2), (-3, 2), 4) → left32
  44. Polygon((-4, 3), (-3, 3), 4) → left33
  45. Polygon((-4, 4), (-3, 4), 4) → left34
  46. Polygon((-4, 5), (-3, 5), 4) → left35
  47. Polygon((-3, 1), (-2, 1), 4) → left41
  48. Polygon((-3, 2), (-2, 2), 4) → left42
  49. Polygon((-3, 3), (-2, 3), 4) → left43
  50. Polygon((-3, 4), (-2, 4), 4) → left44
  51. Polygon((-3, 5), (-2, 5), 4) → left45
  52. Polygon((-2, 1), (-1, 1), 4) → left51
  53. Polygon((-2, 2), (-1, 2), 4) → left52
  54. Polygon((-2, 3), (-1, 3), 4) → left53
  55. Polygon((-2, 4), (-1, 4), 4) → left54
  56. Polygon((-2, 5), (-1, 5), 4) → left55
  57. Text(leftNumber51, Centroid[left51] + textAdjuster) → leftText51
  58. Text(leftNumber52, Centroid[left52] + textAdjuster) → leftText52
  59. Text(leftNumber53, Centroid[left53] + textAdjuster) → leftText53
  60. Text(leftNumber54, Centroid[left54] + textAdjuster) → leftText54
  61. Text(leftNumber55, Centroid[left55] + textAdjuster) → leftText55
  62. Text(leftNumber41, Centroid[left41] + textAdjuster) → leftText41
  63. Text(leftNumber42, Centroid[left42] + textAdjuster) → leftText42
  64. Text(leftNumber43, Centroid[left43] + textAdjuster) → leftText43
  65. Text(leftNumber44, Centroid[left44] + textAdjuster) → leftText44
  66. Text(leftNumber45, Centroid[left45] + textAdjuster) → leftText45
  67. Text(leftNumber31, Centroid[left31] + textAdjuster) → leftText31
  68. Text(leftNumber32, Centroid[left32] + textAdjuster) → leftText32
  69. Text(leftNumber33, Centroid[left33] + textAdjuster) → leftText33
  70. Text(leftNumber34, Centroid[left34] + textAdjuster) → leftText34
  71. Text(leftNumber35, Centroid[left35] + textAdjuster) → leftText35
  72. Text(leftNumber21, Centroid[left21] + textAdjuster) → leftText21
  73. Text(leftNumber22, Centroid[left22] + textAdjuster) → leftText22
  74. Text(leftNumber23, Centroid[left23] + textAdjuster) → leftText23
  75. Text(leftNumber24, Centroid[left24] + textAdjuster) → leftText24
  76. Text(leftNumber25, Centroid[left25] + textAdjuster) → leftText25
  77. Text(leftNumber11, Centroid[left11] + textAdjuster) → leftText11
  78. Text(leftNumber12, Centroid[left12] + textAdjuster) → leftText12
  79. Text(leftNumber13, Centroid[left13] + textAdjuster) → leftText13
  80. Text(leftNumber14, Centroid[left14] + textAdjuster) → leftText14
  81. Text(leftNumber15, Centroid[left15] + textAdjuster) → leftText15
  82. Text(rightNumber11, Centroid[right11] + textAdjuster) → rightText11
  83. Text(rightNumber12, Centroid[right12] + textAdjuster) → rightText12
  84. Text(rightNumber13, Centroid[right13] + textAdjuster) → rightText13
  85. Text(rightNumber14, Centroid[right14] + textAdjuster) → rightText14
  86. Text(rightNumber15, Centroid[right15] + textAdjuster) → rightText15
  87. Text(rightNumber21, Centroid[right21] + textAdjuster) → rightText21
  88. Text(rightNumber22, Centroid[right22] + textAdjuster) → rightText22
  89. Text(rightNumber23, Centroid[right23] + textAdjuster) → rightText23
  90. Text(rightNumber24, Centroid[right24] + textAdjuster) → rightText24
  91. Text(rightNumber25, Centroid[right25] + textAdjuster) → rightText25
  92. Text(rightNumber31, Centroid[right31] + textAdjuster) → rightText31
  93. Text(rightNumber32, Centroid[right32] + textAdjuster) → rightText32
  94. Text(rightNumber33, Centroid[right33] + textAdjuster) → rightText33
  95. Text(rightNumber34, Centroid[right34] + textAdjuster) → rightText34
  96. Text(rightNumber35, Centroid[right35] + textAdjuster) → rightText35
  97. Text(rightNumber41, Centroid[right41] + textAdjuster) → rightText41
  98. Text(rightNumber42, Centroid[right42] + textAdjuster) → rightText42
  99. Text(rightNumber43, Centroid[right43] + textAdjuster) → rightText43
  100. Text(rightNumber44, Centroid[right44] + textAdjuster) → rightText44
  101. Text(rightNumber45, Centroid[right45] + textAdjuster) → rightText45
  102. Text(rightNumber51, Centroid[right51] + textAdjuster) → rightText51
  103. Text(rightNumber52, Centroid[right52] + textAdjuster) → rightText52
  104. Text(rightNumber53, Centroid[right53] + textAdjuster) → rightText53
  105. Text(rightNumber54, Centroid[right54] + textAdjuster) → rightText54
  106. Text(rightNumber55, Centroid[right55] + textAdjuster) → rightText55
  107. Flatten(Zip[{AAA, AAA}, AAA, randomNumbers]) → doubledNumbers
  108. Reverse(Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], i, -6, -2], j, 1, 5]) → leftBackGrounds
  109. Sequence(Sequence[If[Element[leftColumns, i, j] ≟ Element[leftColumns, i, j + 1], Element[leftColumns, i, j], 0], j, 1, 4], i, 1, 5) → leftColumnMatches
  110. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, leftRowUniques, BBB, leftRowGaps) → leftRowSums
  111. Polygon((-6.1, 0.9), (-0.9, 0.9), 4) → leftOutline
  112. Polygon((0.9, 0.9), (6.1, 0.9), 4) → rightOutline
  113. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, leftColumnMatches) → leftColumnUniques
  114. Reverse({{rightNumber11, rightNumber21, rightNumber31, rightNumber41, rightNumber51}, {rightNumber12, rightNumber22, rightNumber32, rightNumber42, rightNumber52}, {rightNumber13, rightNumber23, rightNumber33, rightNumber43, rightNumber53}, {rightNumber14, rightNumber24, rightNumber34, rightNumber44, rightNumber54}, {rightNumber15, rightNumber25, rightNumber35, rightNumber45, rightNumber55}}) → rightRows
  115. Sequence(Sequence[If[Element[rightColumns, i, j] ≟ Element[rightColumns, i, j + 1], Element[rightColumns, i, j], 0], j, 1, 4], i, 1, 5) → rightColumnMatches
  116. Sequence(Sequence[If[Element[rightRows, i, j] ≟ Element[rightRows, i, j + 1], Element[rightRows, i, j], 0], j, 1, 4], i, 1, 5) → rightRowMatches
  117. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, rightColumnMatches) → rightColumnZeros
  118. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, leftColumnMatches) → leftColumnZeros
  119. Zip(Append[0, Append[RemoveUndefined[Sequence[If[Element[AAA, i] ≟ 0, i], i, 1, 4]], 5]], AAA, rightRowMatches) → rightRowZeros
  120. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, rightColumnMatches) → rightColumnUniques
  121. Zip(RemoveUndefined[Sequence[If[Element[AAA, i] ≠ Element[AAA, i + 1] ∧ Element[AAA, i] > 0, Element[AAA, i]], i, 1, 4]], AAA, rightRowMatches) → rightRowUniques
  122. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, leftColumnZeros) → leftColumnGaps
  123. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, rightColumnZeros) → rightColumnGaps
  124. Zip(Remove[Sequence[Element[AAA, i] - Element[AAA, i - 1], i, 2, Length[AAA]], {1, 1, 1, 1, 1}], AAA, rightRowZeros) → rightRowGaps
  125. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, leftColumnUniques, BBB, leftColumnGaps) → leftColumnSums
  126. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, rightColumnUniques, BBB, rightColumnGaps) → rightColumnSums
  127. Zip(Sum[Sequence[If[c, (Element[AAA, i] * Element[BBB, i]), Element[AAA, i]^(Element[BBB, i])], i, 1, Length[AAA]]], AAA, rightRowUniques, BBB, rightRowGaps) → rightRowSums
  128. Zip(Sequence[If[Element[AAA, i] ≟ Element[AAA, i + i], Segment[Centroid[Element[BBB, i]] + (x(textAdjuster) + 0.15, 0), Centroid[Element[BBB, i + 1]] + (x(textAdjuster) + 0.15, 0)]], i, 1, 4], AAA, leftRows, BBB, leftBackGrounds) → leftRowLinesStep
  129. Reverse(Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], i, 1, 5], j, 1, 5]) → rightBackGrounds
  130. Sequence(Sequence[If[Element[leftRows, j, i] ≟ Element[leftRows, j, i + 1] ∧ Element[leftRows, j, i] > 0, Segment[Centroid[Element[leftBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[leftBackGrounds, j, i + 1]] + segmentAdjuster]], j, 1, 5], i, 1, 4) → leftRowLines
  131. Sequence(Sequence[If[Element[rightRows, j, i] ≟ Element[rightRows, j, i + 1] ∧ Element[rightRows, j, i] > 0, Segment[Centroid[Element[rightBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[rightBackGrounds, j, i + 1]] + segmentAdjuster]], j, 1, 5], i, 1, 4) → rightRowLines
  132. Sequence(Sequence[If[Element[leftRows, j + 1, i] ≟ Element[leftRows, j, i] ∧ Element[leftRows, j, i] > 0, Segment[Centroid[Element[leftBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[leftBackGrounds, j + 1, i]] + segmentAdjuster]], j, 1, 4], i, 1, 5) → leftColumnLines
  133. Sequence(Sequence[If[Element[rightRows, j + 1, i] ≟ Element[rightRows, j, i] ∧ Element[rightRows, j, i] > 0, Segment[Centroid[Element[rightBackGrounds, j, i]] + segmentAdjuster, Centroid[Element[rightBackGrounds, j + 1, i]] + segmentAdjuster]], j, 1, 4], i, 1, 5) → rightColumnLines
  134. Polygon((-1, 0), (1, 0), (1, 0.25), (-1, 0.25)) → timerOutline, f, g, h, i
  135. Polygon((-1, 0), (1 - (2 * timer), 0), (1 - (2 * timer), 0.25), (-1, 0.25)) → timerFill, j, k, l, m