加减法逆运算教学

加减法逆运算教学
几何画板及绘图内容加载中,请稍等……
2024-07-03 21:38
本范例通过Kletter-Max的故事情境,演示加减法的逆运算关系。涉及核心数学概念为通过逆运算求解未知数,即加法是减法的逆运算,减法是加法的逆运算。构造要点使用了GeoGebra的Sequence, Element, Textfield, SelectedIndex, Corner, Curve, Cartesian, PolyLine, Segment, If, Invert, Text, CircleArc, Vector等命令和对象来创建交互式问题和反馈。适合小学5-6年级学生,用于理解和练习通过逆运算解决线性方程。

GeoGebra 命令及参数

  1. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {1, 2, 3, 9, 5, 9, 8, 3, 8, 8}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Textfield(input) → inputBox
  4. SelectedIndex(dropdown031) → index031
  5. SelectedIndex(dropdown041) → index041
  6. SelectedIndex(dropdown071) → index071
  7. SelectedIndex(dropdown081) → index081
  8. Textfield(input031) → InputBox031
  9. Textfield(input041) → InputBox041
  10. Textfield(input071) → InputBox071
  11. Textfield(input081) → InputBox081
  12. Corner(imgWand, 3) → PosImgWand3
  13. Sequence(PosImgWand1 + (0.105 * (PosImgWand2 - PosImgWand1)) + (0.105 * (PosImgWand3 - PosImgWand2)) + ((k * 0.07065) * (PosImgWand3 - PosImgWand2)), k, 0, 12) → PointListSprosse
  14. Sequence(Polygon[PointListSprosse(k) + {(0, 0), (0.775 * (PosImgWand2 - PosImgWand1)), (0.775 * (PosImgWand2 - PosImgWand1)) - (0.025 * (PosImgWand3 - PosImgWand2)), (-0.025 * (PosImgWand3 - PosImgWand2))}], k, 1, Length[PointListSprosse]) → SprosseList
  15. Sequence(PointListSprosse(k) + (0.25 * (PosImgWand2 - PosImgWand1)) - (0.035 * (PosImgWand3 - PosImgWand2)), k, 1, Length[PointListSprosse]) → PosListKM
  16. Sequence(PointListSprosse(k) + (0.9 * (dimWand, 0)) - (0.007 * (0, dimWand)), k, 1, 13) → PointListRight
  17. Sequence(Text[(((("\textsf{" * If[k ≟ actualSprosse, "\bold{\textcolor{#1565c0}{", "{{"]) * "") * k) * "}}}"), PointListRight(k), false, true, 0, 0], k, 1, 13) → CapList
  18. CurveCartesian(Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1) + (Distance[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])], PointListRight(Min[Sprosse031, Sprosse041])] * (cos(t), sin(t))), t, -60°, 60°) → arc031
  19. Sequence(PointListRight(k) - (0.9 * (dimWand, 0)), k, 1, 13) → PointListLeft
  20. PolyLine(PosImgMax2 + (-0.5, 3.5), Corner[txt111, 1] + (0.6, 0), Corner[txt111, 2] + (0.1, 0), Corner[txt111, 3] + (0.1, 0.1), Corner[txt111, 4] + (-0.05, 0.1), Corner[txt111, 1] + (-0.05, 0.5), PosImgMax2 + (-0.5, 3.5)) → sb
  21. CurveCartesian(Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1) + (Distance[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])], PointListLeft(Min[Sprosse031, Sprosse041])] * (cos(t), sin(t))), t, 120°, 240°) → arc041
  22. Segment(Point[arc031, 1], Point[arc031, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc031, 1]]])) → seg031
  23. Segment(Point[arc031, 0], Point[arc031, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse031, Sprosse041]), PointListRight(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc031, 0]]])) → seg032
  24. Segment(Point[arc041, 0], Point[arc041, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc041, 0]]])) → seg042
  25. Segment(Point[arc041, 1], Point[arc041, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse031, Sprosse041]), PointListLeft(Max[Sprosse031, Sprosse041])] + (-0.25, -0.1), Point[arc041, 1]]])) → seg041
  26. If(Sprosse041 > Sprosse031, 7, 2) → Sprosse071
  27. If(Sprosse041 > Sprosse031, 2, 7) → Sprosse081
  28. Invert(pixMat) → invPixMat
  29. Text((((("\textsf{\colorbox{ebe7f8}{Operation:\\\bold{" * If[Sprosse031 < Sprosse041, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse031 < Sprosse041, "+", "\(-\)"]) * " 3 Sprossen}}"), Pos031, false, true, 1, 0) → txt062
  30. CurveCartesian(Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1) + (Distance[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])], PointListRight(Min[Sprosse071, Sprosse081])] * (cos(t), sin(t))), t, -60°, 60°) → arc071
  31. CurveCartesian(Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1) + (Distance[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])], PointListLeft(Min[Sprosse071, Sprosse081])] * (cos(t), sin(t))), t, 120°, 240°) → arc081
  32. Segment(Point[arc071, 1], Point[arc071, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1), Point[arc071, 1]]])) → seg071
  33. Segment(Point[arc071, 0], Point[arc071, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListRight(Min[Sprosse071, Sprosse081]), PointListRight(Max[Sprosse071, Sprosse081])] + (-0.5, -0.1), Point[arc071, 0]]])) → seg072
  34. Text((("\textsf{\bold{\textcolor{" * If[step ≟ 7, "006758", "black"]) * " }{") + Sprosse071 + " " + (If[Sprosse071 < Sprosse081, "+", "\(-\)"]) + " 5 = " + Sprosse081 + "}}}", Pos071 + (0, -0.5), false, true, 1, 0) → txt073
  35. Segment(Point[arc081, 1], Point[arc081, 1] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1), Point[arc081, 1]]])) → seg081
  36. Segment(Point[arc081, 0], Point[arc081, 0] + (0.01 * UnitOrthogonalVector[Vector[Midpoint[PointListLeft(Min[Sprosse071, Sprosse081]), PointListLeft(Max[Sprosse071, Sprosse081])] + (0, -0.1), Point[arc081, 0]]])) → seg082
  37. Text((((("\textsf{\colorbox{ebe7f8}{Operation:\\\bold{" * If[Sprosse071 < Sprosse081, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse071 < Sprosse081, "+", "\(-\)"]) * " 5 Sprossen}}"), Pos071, false, true, 1, 0) → txt102
  38. Text((((("\textsf{\colorbox{ebe7f8}{Umkehroperation:\\\bold{" * If[Sprosse031 > Sprosse041, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse031 > Sprosse041, "+", "\(-\)"]) * " 3 Sprossen}}"), Pos041, false, true, -1, 0) → txt063
  39. Text((((("\textsf{\colorbox{ebe7f8}{Umkehroperation:\\\bold{" * If[Sprosse071 > Sprosse081, "Addition", "Subtraktion"]) * "}\\") * If[Sprosse071 > Sprosse081, "+", "\(-\)"]) * " 5 Sprossen}}"), Pos081, false, true, -1, 0) → txt103
  40. If(step ≟ 2, triesKM ≥ 1 ∧ animKM ∈ {0, 1}, step ≟ 8, anim081 ≟ 5 ∧ correct081 ∧ correctdd081, step ≟ 9, anim091 ≟ 5, true, step ≟ 3, correct031 ∧ correctdd031, step ≟ 4, anim041 ≟ 3 ∧ correct041 ∧ correctdd041, step ≟ 5, anim051 ≟ 3, step ≟ 7, correct071 ∧ correctdd071) → clickableBtnNext
  41. If(step ≟ 2, animKM ∈ {0, 1}, true, step ≟ 4, anim041 ≟ 3, step ≟ 5, anim051 ≟ 3, step ≟ 8, anim081 ≟ 5, step ≟ 9, anim091 ≟ 5) → clickableBtnBack
  42. If(step ≟ 3, Point[arc031, 0] + (0.5, -0.25), step ≟ 4, Point[arc041, 1] + (-4, -0.25), step ≟ 7, Point[arc071, 0] + (0.5, -0.25), Point[arc081, 1] + (-4, -0.25)) → PosBtnShowSolution
  43. Text((("\textsf{\bold{\textcolor{" * If[step ≟ 3, "006758", "black"]) * " }{") + Sprosse031 + " " + (If[Sprosse031 < Sprosse041, "+", "\(-\)"]) + " 3 = " + Sprosse041 + "}}}", Pos031 + (0, -0.5), false, true, 1, 0) → txt033
  44. Text((("\textsf{\bold{\textcolor{" * If[step ≟ 4, "006758", "black"]) * " }{") + Sprosse041 + " " + (If[Sprosse041 < Sprosse031, "+", "\(-\)"]) + " 3 = " + Sprosse031 + "}}}", Pos041 + (-1.9, -0.5), false, true, -1, 0) → txt043
  45. Text((("\textsf{\bold{\textcolor{" * If[step ≟ 8, "006758", "black"]) * " }{") + Sprosse081 + " " + (If[Sprosse081 < Sprosse071, "+", "\(-\)"]) + " 5 = " + Sprosse071 + "}}}", Pos081 + (-1.85, -0.5), false, true, -1, 0) → txt083
  46. CircleArc(Midpoint[PosZ1, PosZ2] + (0, -2), PosZ2 + (-0.25, 0.5), PosZ1 + (0.25, 0.5)) → arc111
  47. CircleArc(Midpoint[PosZ1, PosZ2] + (0, 2), PosZ1 + (0.25, -0.5), PosZ2 + (-0.25, -0.5)) → arc112
  48. Vector(Point[arc111, 0], Point[arc111, 0] + (0.1, -0.1)) → vec111
  49. Vector(Point[arc112, 0], Point[arc112, 0] + (-0.1, 0.1)) → vec112
  50. Text((("\textsf{\bold{" * If[Sprosse041 > Sprosse031, "+", "\(-\)"]) * " 3} Sprossen}"), Pos031 + (0, 0.25), false, true, 1, 0) → txt034
  51. Text((("\textsf{\bold{" * If[Sprosse031 > Sprosse041, "+", "\(-\)"]) * " 3} Sprossen}"), Pos041 + (0, 0.25), false, true, -1, 0) → txt044
  52. Text((("\textsf{\bold{" * If[Sprosse081 > Sprosse071, "+", "\(-\)"]) * " 5} Sprossen}"), Pos071 + (0, 0.25), false, true, 1, 0) → txt074
  53. Text((("\textsf{\bold{" * If[Sprosse071 > Sprosse081, "+", "\(-\)"]) * " 5} Sprossen}"), Pos081 + (0, 0.25), false, true, -1, 0) → txt084

AI 绘图提示语参考

这是一个交互式数学教学图形,包含输入框用于输入数字,下拉菜单选择运算类型,文本框显示问题与答案。图形中有点阵、曲线和线段构成几何图形,曲线和线段连接点阵,形成类似图形。文本框显示“Operation: Addition or Subtraction 3 Sprossen”等信息。整体布局类似教学界面,包含按钮和反馈区域,用于展示加法和减法的逆运算关系。
以上提示语为根据原始绘图命令整理而来,仅供参考。