因式分解的可视化演示 by nikolina.petrova

因式分解的可视化演示 by nikolina.petrova
几何画板及绘图内容加载中,请稍等……
2016-01-19 08:10
所属专题 Division Concepts
①本范例通过输入一个整数,根据其质因数分解,探索用成对的因数组合得到该整数的方法;②涉及核心数学概念:因式分解、因数、质因数;③作图要点:使用了GeoGebra命令如Factors(因数)、Join(连接)、Sequence(序列)、Element(元素)、Textfield(文本框)、Min(最小值)、Corner(角落)、Max(最大值)、If(条件)、Text(文本);④适合初中及以上数学学习者,用于理解因数分解的几何意义和应用。

GeoGebra 命令及参数

  1. Factors(n) → fm
  2. Join(Sequence[Sequence[Element[Element[fm, i], 1], j, 1, Element[Element[fm, i], 2]], i, 1, Length[fm]]) → factors
  3. Sequence(If[Element[bools, i] ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list1
  4. Sequence((floor(i / prows) * d, Mod[i, prows] * d) + ts * Vector[(floor(i / prows) * d, Mod[i, prows] * d), (floor(i / rows) * d, Mod[i, rows]) * d], i, 0, n - 1) → points
  5. Element(points, n) → MX
  6. Textfield(n) → inputBox1
  7. Sequence(If[(¬Element[bools, i]) ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list2
  8. Min(Sequence[If[Element[bools, i], i, 10000], i, 1, Length[bools]]) → minTrue
  9. Min(Sequence[If[¬Element[bools, i], i, 10000], i, 1, Length[bools]]) → minFalse
  10. Sequence(If[(i ≤ Length[factors]) ∧ Element[bools, i], If[i > minTrue, "\times", ""] + (Element[list1, i]), ""], i, 1, Length[bools]) → rt
  11. Sequence(If[(i ≤ Length[factors]) ∧ (¬Element[bools, i]), If[i > minFalse, "\times", ""] + (Element[list2, i]), ""], i, 1, Length[bools]) → ct
  12. Corner(5) → GV
  13. Max(Sequence[If[¬Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxFalse
  14. Max(Sequence[If[Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxTrue
  15. Sequence(Circle[Element[points, i], 0.3 * d], i, 1, n) → list3
  16. If(MXratio > ratio, innerW / ratio, innerH) → finH
  17. If(MXratio > ratio, innerW, innerH * ratio) → finW
  18. Text(If[rows ≟ 1, "1", Element[rt, 1] + (Element[rt, 2]) + (Element[rt, 3]) + (Element[rt, 4]) + (Element[rt, 5]) + (Element[rt, 6]) + (Element[rt, 7]) + (If[minTrue ≟ maxTrue, "", "=" + rows])], RT, false, true) → text1
  19. Text(If[cols ≟ 1, "1", Element[ct, 1] + (Element[ct, 2]) + (Element[ct, 3]) + (Element[ct, 4]) + (Element[ct, 5]) + (Element[ct, 6]) + (Element[ct, 7]) + (If[minFalse ≟ maxFalse, "", "=" + cols])], CT, false, true) → text2
  20. Sequence(If[Element[bools, i], "darkgreen", "red"], i, 1, Length[bools]) → colors