卡片游戏中的乘法和除法

卡片游戏中的乘法和除法
几何画板及绘图内容加载中,请稍等……
2024-07-03 21:39
本范例演示了如何使用卡片游戏来演示乘法和除法的概念。学生们可以通过交换数字来理解乘法和除法的关系。例如,7 × 4 = 28 可以通过交换数字来理解为 28 ÷ 4 = 7 或 28 ÷ 7 = 4。这个范例使用 GeoGebra 来创建一个交互式的卡片游戏,学生们可以通过点击按钮来改变数字并观察乘法和除法的关系。这个范例适合中小学的数学教育,特别是对于理解乘法和除法的关系。

GeoGebra 命令及参数

  1. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {3, 1, 4, 4, 3, 8, 5, 2, 2, 5}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Textfield(input) → inputBox
  4. RemoveUndefined({"$\textsf{\phantom{2 }}$", "$\textsf{2 }$", "$\textsf{3 }$", "$\textsf{4 }$", "$\textsf{6 }$", If[step < 9, "$\textsf{8 }$"]}) → dropdown021
  5. If(SelectedIndex[dropdown021] ≟ 1, 0, 8, SelectedIndex[dropdown021] ≟ 2, 2, SelectedIndex[dropdown021] ≟ 3, 3, SelectedIndex[dropdown021] ≟ 4, 4, SelectedIndex[dropdown021] ≟ 5, 6) → anzahlP
  6. If(step < 9, 24, (4 * anzahlP)) → anzahlK
  7. Text((("\textsf{Anzahl Spielkarten: " * anzahlK) * "}"), Ausrichtung, false, true, 0, -1) → txt022
  8. Corner(imgK1, 3) → PosImgKarte013
  9. Sequence(Translate[imgK1, Vector[(k * (dimK + disK, 0))]], k, 1, anzahlK / 2 - 1) → KartenReihe1
  10. Sequence(Translate[Element[Join[{{imgK1}, KartenReihe1}], k], PosImgKarte012 - PosImgKarte013 - (0, disK)], k, 1, anzahlK / 2) → KartenReihe2
  11. If(anzahlP ≟ 2, 5, anzahlP ≟ 3, 2.5, anzahlP ≟ 4, If[step ≥ 9, 2.2, 1.6], anzahlP ≟ 6, 2.4, 1.5) → disP
  12. Join({{imgKG1}, Sequence[Translate[imgKG1, Vector[(k * (dimK + disK, 0))]], k, 1, anzahlK / 2 - 1]}) → KGReihe1
  13. If(anzahlP ≠ 0, anzahlK / anzahlP, 1) → anzahlKpP
  14. Translate(imgK1, Vector[PosImgKarte011, PosKP1]) → imgKP1
  15. Translate(imgK1, Vector[PosImgKarte011, PosKP2]) → imgKP2
  16. Translate(imgK1, Vector[PosImgKarte011, PosKP3]) → imgKP3
  17. Translate(imgK1, Vector[PosImgKarte011, PosKP6]) → imgKP6
  18. Translate(imgK1, Vector[PosImgKarte011, PosKP7]) → imgKP7
  19. Translate(imgK1, Vector[PosImgKarte011, PosKP8]) → imgKP8
  20. Translate(imgK1, Vector[PosImgKarte011, PosKP4]) → imgKP4
  21. Translate(imgK1, Vector[PosImgKarte011, PosKP5]) → imgKP5
  22. Sequence(Translate[imgKP1, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR11
  23. Sequence(Translate[imgKP2, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR21
  24. Sequence(Translate[imgKP3, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR31
  25. Sequence(Translate[imgKP4, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR41
  26. Sequence(Translate[Element[KR11, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KR11]) → KR12
  27. Sequence(Translate[Element[KR21, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KR11]) → KR22
  28. Sequence(Translate[Element[KR31, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KR11]) → KR32
  29. Sequence(Translate[Element[KR41, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KR11]) → KR42
  30. Sequence(Translate[imgKP5, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR51
  31. Sequence(Translate[imgKP6, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR61
  32. Sequence(Translate[imgKP7, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR71
  33. Sequence(Translate[imgKP8, Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KR81
  34. Text((("\textsf{Spielkarten pro Kind: " * If[step ≥ 9, 4, anzahlKpP]) * "}"), (x(Ausrichtung), y(If[anzahlP ∈ {2, 3, 4} ∧ step < 9 ∨ anzahlP ∈ {2, 3} ∧ step ≥ 9, PosP11 - ((2 * 1.463) * dimK) - (3 * disK), PosP51 - (1.463 * dimK) - (2 * disK)])), false, true, 0, -1) → txt031
  35. CircleArc(Midpoint[Ausrichtung, (x(Ausrichtung), y(If[anzahlKpP ∈ {12, 8, 6}, PosP11 - ((2 * 1.463) * dimK) - (3 * disK), PosP51 - (1.463 * dimK) - (2 * disK)]))] + (-3, 0), Midpoint[Corner[txt031, 2], Corner[txt031, 3]] + (3.9, 0.5), Midpoint[Corner[txt022, 2], Corner[txt022, 3]] + (3.1, -0.9)) → arc041
  36. Line(Ausrichtung, Pos1) → sym
  37. Mirror(arc041, sym) → arc071
  38. Segment(Point[arc041, 0], Point[arc041, 0] + (0.25 * UnitVector[Tangent[Point[arc041, 0], arc041]])) → seg041
  39. Segment(Point[arc071, 1], Point[arc071, 1] + (0.25 * UnitVector[Tangent[Point[arc071, 1], arc071]])) → seg071
  40. Sequence(Translate[Element[KGReihe1, k], PosImgKarte012 - PosImgKarte013 - (0, disK)], k, 1, anzahlK / 2) → KGReihe2
  41. Mirror(PosArc041, sym) → PosArc071
  42. Textfield(input041) → InputBox041
  43. Textfield(input071) → InputBox071
  44. Textfield(input101) → InputBox101
  45. Textfield(input121) → InputBox121
  46. Invert(pixMat) → invPixMat
  47. CircleArc(Midpoint[PosArc11, PosArc12] + (1.5 * UnitOrthogonalVector[Segment[PosArc12, PosArc11]]), PosArc12, PosArc11) → arc1
  48. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP1]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR11
  49. Sequence(Translate[Element[KGR11, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR11]) → KGR12
  50. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP2]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR21
  51. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP3]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR31
  52. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP4]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR41
  53. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP5]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR51
  54. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP6]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR61
  55. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP7]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR71
  56. Sequence(Translate[Translate[imgKG1, Vector[Corner[imgKG1, 1], PosKP8]], Vector[(k * (disK + dimK, 0))]], k, 0, anzahlKpP / If[anzahlKpP > 4, 2, 1] - 1) → KGR81
  57. Sequence(Translate[Element[KGR21, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR21]) → KGR22
  58. Sequence(Translate[Element[KGR31, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR31]) → KGR32
  59. Sequence(Translate[Element[KGR41, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR41]) → KGR42
  60. Sequence(Translate[Element[KGR51, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR51]) → KGR52
  61. Sequence(Translate[Element[KGR61, k], Vector[(0, (-disK) - (1.463 * dimK))]], k, 1, Length[KGR61]) → KGR62
  62. If(step ≟ 4, correctdd041 ∧ correct041, step ≟ 7, correctdd071 ∧ correct071, step ≟ 10, correctdd101 ∧ correct101, step ≟ 12, correctdd121 ∧ correct121, true) → clickableBtnNext
  63. CircleArc(Midpoint[PosZ1, PosZ2] + (0, -2), PosZ2 + (-0.25, 0.5), PosZ1 + (0.25, 0.5)) → arc141
  64. CircleArc(Midpoint[PosZ1, PosZ2] + (0, 2), PosZ1 + (0.27, -0.6), PosZ2 + (-0.25, -0.5)) → arc142
  65. Vector(Point[arc141, 0], Point[arc141, 0] + (0.1, -0.1)) → vec141
  66. Vector(Point[arc142, 0], Point[arc142, 0] + (-0.1, 0.1)) → vec142
  67. Vector(Point[arc1, 0], Point[arc1, 0] + (0.1 * UnitVector[Tangent[Point[arc1, 0], arc1]])) → vec1
  68. CircleArc(Midpoint[PosArc21, PosArc22] - (1.5 * UnitOrthogonalVector[Segment[PosArc22, PosArc21]]), PosArc21, PosArc22) → arc2
  69. Vector(Point[arc2, 0], Point[arc2, 0] + (0.1 * UnitVector[Tangent[Point[arc2, 0], arc2]])) → vec2
  70. Ellipse(Midpoint[Corner[Element[KR31, 1], 1], Corner[Element[KR32, 1], 4]], Midpoint[Corner[Element[KR31, 4], 2], Corner[Element[KR32, 4], 3]], 2.1) → ell13
  71. Ellipse(Midpoint[Corner[Element[KR41, 1], 1], Corner[Element[KR42, 1], 4]], Midpoint[Corner[Element[KR41, 3], 2], Corner[Element[KR42, 3], 3]], 1.75) → ell14
  72. Ellipse(Midpoint[Corner[Element[KR41, 1], 1], Corner[Element[KR41, 1], 4]], Midpoint[Corner[Element[KR41, 4], 2], Corner[Element[KR41, 4], 3]], 1.8) → ell16
  73. Ellipse(Midpoint[Corner[Element[KR41, 1], 1], Corner[Element[KR41, 1], 4]], Midpoint[Corner[Element[KR41, 3], 2], Corner[Element[KR41, 3], 3]], 1.45) → ell18
  74. Ellipse(Midpoint[Corner[Element[KR21, 1], 1], Corner[Element[KR22, 1], 4]] - (0.45, 0), Midpoint[Corner[Element[KR21, 6], 2], Corner[Element[KR22, 6], 3]] + (0.45, 0), 3.25) → ell12
  75. Ellipse(Midpoint[Corner[Element[KR11, 1], 1], Corner[Element[KR12, 1], 4]] - (0.45, 0), Midpoint[Corner[Element[KR11, 6], 2], Corner[Element[KR12, 6], 3]] + (0.45, 0), 3.25) → ell22
  76. Ellipse(Midpoint[Corner[Element[KR11, 1], 1], Corner[Element[KR12, 1], 4]], Midpoint[Corner[Element[KR11, 4], 2], Corner[Element[KR12, 4], 3]], 2.1) → ell23
  77. Ellipse(Midpoint[Corner[Element[KR11, 1], 1], Corner[Element[KR12, 1], 4]], Midpoint[Corner[Element[KR11, 3], 2], Corner[Element[KR12, 3], 3]], 1.75) → ell24
  78. Ellipse(Midpoint[Corner[Element[KR11, 1], 1], Corner[Element[KR11, 1], 4]], Midpoint[Corner[Element[KR11, 4], 2], Corner[Element[KR11, 4], 3]], 1.8) → ell26
  79. Ellipse(Midpoint[Corner[Element[KR11, 1], 1], Corner[Element[KR11, 1], 4]], Midpoint[Corner[Element[KR11, 3], 2], Corner[Element[KR11, 3], 3]], 1.45) → ell28
  80. If(step ≟ 4, PosDD041 + (-0.15, -1), step ≟ 7, PosDD071 + (-0.5, -1), (1, 1)) → PosBtnShowSolution

AI 绘图提示语参考

绘制一个小学数学交互教学图形,展示纸牌游戏中的乘除法关系。画面上方有下拉菜单可选择数字(2、3、4、6、8),选择后画面中呈现相应数量的纸牌阵列,从左到右排列整齐。画面中用德文显示两行文字,上方显示总纸牌数量,下方显示每位参与者应得的纸牌数。纸牌阵列之间有弧形线条连接,指示乘除关系的对应。画面右侧设有四个输入框,供学生填写答案。整体布局清晰,纸牌用简洁的卡片图形表示,背景为浅色。
以上提示语为根据原始绘图命令整理而来,仅供参考。