三项式公式图形化练习

三项式公式图形化练习
几何画板及绘图内容加载中,请稍等……
2025-01-09 19:35
所属专题 Binomische Formeln
交互式数学练习,通过随机打乱的配对题目,训练学生推导并图形化说明三个二项式公式(完全平方公式、平方差公式、求和公式)。学生需要在混合的选项中识别正确的公式展开与几何表示,锻炼代数变形与几何直观的双重能力。涉及GeoGebra命令:Polygon(绘制几何图形)、Textfield(文本输入框)、Shuffle(随机打乱选项)、Sequence(生成序列)、Element(选取元素)、Text(文本显示)、If(条件判断)、CountIf(条件计数);对象包含左右两侧的选项按钮(optionsR1-R7、optionsL1-L6)及矩形区域(allowedRect)等,适合七至八年级学生课堂练习或课后巩固。

GeoGebra 命令及参数

  1. Polygon(allowedRect4, allowedRect3, allowedRect2, allowedRect1) → allowedRect, a_1, b, c, d
  2. Max(widthsOptionsR) → widthR
  3. Max(heightsOptionsR) → heightR
  4. Max(heightR, Max[heightsOptionsL]) → heightL
  5. Max(widthsOptionsL) → widthL
  6. If(isShuffleOptionsLechts, Shuffle[1…numOptionsR], 1…numOptionsR) → indizesOptionsRechts
  7. If(isShuffleOptionsLinks, Shuffle[1…numOptionsL], 1…numOptionsL) → indizesOptionsLinks
  8. Textfield(input1) → InputBox1
  9. Textfield(input2) → InputBox2
  10. Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1
  11. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {6, 5, 1, 1, 5, 2, 6, 3, 5, 6, 2, 9, 4, 1, 1, 3, 4, 5, 1, 3, 1, 4, 2, 5, 7, 7, 2, 5, 10, 8, 8, 9, 6, 0, 1, 1, 9, 10, 9, 4, 5, 2, 1, 5, 4, 3, 1, 9, 9, 1, 2, 2, 8, 0, 2, 3, 10, 7, 1, 6, 10, 7, 3, 1, 7, 10, 4, 7, 10, 0, 1, 2, 6, 6, 1, 3, 8, 9, 4, 10, 3, 8, 3, 5, 3, 3, 10, 0, 0, 7, 1, 2, 7, 3, 1, 9, 4, 10, 1, 4}
  12. Element(randomNosForX, Mod[questionCount, 100] + 1) → numX
  13. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {6, 4, 9, 2, 6, 3, 1, 7, 2, 2, 0, 7, 4, 9, 7, 10, 1, 5, 2, 9, 10, 10, 7, 8, 4, 3, 3, 5, 4, 6, 5, 0, 8, 2, 2, 4, 1, 10, 10, 3, 8, 3, 1, 6, 0, 10, 6, 2, 8, 4, 2, 2, 10, 8, 2, 4, 1, 2, 5, 4, 10, 6, 0, 9, 9, 0, 3, 10, 7, 8, 1, 9, 0, 7, 10, 3, 5, 3, 3, 3, 0, 1, 3, 7, 7, 9, 5, 3, 4, 3, 2, 7, 7, 5, 6, 5, 2, 9, 1, 2}
  14. Element(randomNosForY, Mod[questionCount, 100] + 1) → numY
  15. Append(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayX
  16. Append(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayY
  17. Remove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeat
  18. Remove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeat
  19. Element(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeat
  20. Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeat
  21. Sequence(1) → positionsOptionsRechts
  22. Sequence(Element[optionsRAll, indizesOptionsRechts(i)], i, 1, numOptionsR) → optionsRActual
  23. Length(optionsRActual) → a
  24. Sequence(Element[optionsLAll, indizesOptionsLinks(i)], i, 1, numOptionsL) → optionsLActual
  25. Sequence(allOptionsL(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsL
  26. Sequence(allOptionsR(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsR
  27. Polygon((-10, -2), (10, -2), (10, 10), (-10, 10)) → q1, q_1, r_1, s_1, t_1
  28. Text(optionsLActual(6), CenterOptionL6, true, true, 0, 0) → opL6
  29. Text(optionsLActual(1), CenterOptionL1, true, true, 0, 0) → opL1
  30. Text(optionsLActual(2), CenterOptionL2, true, true, 0, 0) → opL2
  31. Text(optionsLActual(3), CenterOptionL3, true, true, 0, 0) → opL3
  32. Text(optionsLActual(4), CenterOptionL4, true, true, 0, 0) → opL4
  33. Text(optionsLActual(5), CenterOptionL5, true, true, 0, 0) → opL5
  34. PointIn(allowedRect) → CenterOptionR1
  35. Text(optionsRActual(1), CenterOptionR1, true, true, 0, 0) → opR1
  36. Polygon(CenterOptionR1, CenterOptionR1 - (widthR / 2, heightR / 2), CenterOptionR1 + (widthR / 2, ((-heightR)) / 2), CenterOptionR1 + (widthR / 2, heightR / 2), CenterOptionR1 - (widthR / 2, ((-heightR)) / 2), CenterOptionR1 - (widthR / 2, heightR / 2)) → rectRMove1, centeroptionr1, f, g, h, i, j
  37. PointIn(allowedRect) → CenterOptionR2
  38. Text(optionsRActual(2), CenterOptionR2, true, true, 0, 0) → opR2
  39. Polygon(CenterOptionR2, CenterOptionR2 - (widthR / 2, heightR / 2), CenterOptionR2 + (widthR / 2, ((-heightR)) / 2), CenterOptionR2 + (widthR / 2, heightR / 2), CenterOptionR2 - (widthR / 2, ((-heightR)) / 2), CenterOptionR2 - (widthR / 2, heightR / 2)) → rectRMove2, centeroptionr2, k, l, m, n, p
  40. PointIn(allowedRect) → CenterOptionR3
  41. Text(optionsRActual(3), CenterOptionR3, true, true, 0, 0) → opR3
  42. Polygon(CenterOptionR3, CenterOptionR3 - (widthR / 2, heightR / 2), CenterOptionR3 + (widthR / 2, ((-heightR)) / 2), CenterOptionR3 + (widthR / 2, heightR / 2), CenterOptionR3 - (widthR / 2, ((-heightR)) / 2), CenterOptionR3 - (widthR / 2, heightR / 2)) → rectRMove3, centeroptionr3, q, r, s, t, e
  43. PointIn(allowedRect) → CenterOptionR4
  44. Text(optionsRActual(4), CenterOptionR4, true, true, 0, 0) → opR4
  45. Polygon(CenterOptionR4, CenterOptionR4 - (widthR / 2, heightR / 2), CenterOptionR4 + (widthR / 2, ((-heightR)) / 2), CenterOptionR4 + (widthR / 2, heightR / 2), CenterOptionR4 - (widthR / 2, ((-heightR)) / 2), CenterOptionR4 - (widthR / 2, heightR / 2)) → rectRMove4, centeroptionr4, f_1, g_1, h_1, i_1, j_1
  46. PointIn(allowedRect) → CenterOptionR5
  47. Text(optionsRActual(5), CenterOptionR5, true, true, 0, 0) → opR5
  48. Polygon(CenterOptionR5, CenterOptionR5 - (widthR / 2, heightR / 2), CenterOptionR5 + (widthR / 2, ((-heightR)) / 2), CenterOptionR5 + (widthR / 2, heightR / 2), CenterOptionR5 - (widthR / 2, ((-heightR)) / 2), CenterOptionR5 - (widthR / 2, heightR / 2)) → rectRMove5, centeroptionr5, k_1, l_1, m_1, n_1, p_1
  49. PointIn(allowedRect) → CenterOptionR6
  50. Text(optionsRActual(6), CenterOptionR6, true, true, 0, 0) → opR6
  51. Polygon(CenterOptionR6, CenterOptionR6 - (widthR / 2, heightR / 2), CenterOptionR6 + (widthR / 2, ((-heightR)) / 2), CenterOptionR6 + (widthR / 2, heightR / 2), CenterOptionR6 - (widthR / 2, ((-heightR)) / 2), CenterOptionR6 - (widthR / 2, heightR / 2)) → rectRMove6, centeroptionr6, b_1, c_1, d_1, e_1, f_2
  52. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR1] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR1] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR1] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR1] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR1] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR1] ≟ 4, 5) → indexAnswerR1
  53. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR2] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR2] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR2] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR2] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR2] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR2] ≟ 4, 5) → indexAnswerR2
  54. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR3] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR3] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR3] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR3] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR3] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR3] ≟ 4, 5) → indexAnswerR3
  55. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR4] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR4] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR4] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR4] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR4] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR4] ≟ 4, 5) → indexAnswerR4
  56. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR5] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR5] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR5] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR5] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR5] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR5] ≟ 4, 5) → indexAnswerR5
  57. If(CountIf[P ∈ answerRectLarger1(1), P, verticesR6] ≟ 4, 1, CountIf[P ∈ answerRectLarger6(1), P, verticesR6] ≟ 4, 6, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR6] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR6] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR6] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR6] ≟ 4, 5) → indexAnswerR6
  58. CountIf(ind ≠ -1, ind, indizesAnswerR) → numAnswersDraggedToLeft
  59. If(correct, "\vphantom{✘}✓ Richtig", If[correctpartially, "\vphantom{✓}✘ Teilweise richtig", "\vphantom{✓}✘ Falsch"]) → correctTextTemp
  60. Text((("\Large\textsf{" * correctTextTemp) * "}"), PStartCorrectText, true, true, 1, 0) → correctText

AI 绘图提示语参考

绘制一个交互式练习界面,用于二项式公式的匹配练习。界面中央有一个矩形答题区域,左侧和右侧各有一列可点击的选项按钮,左侧六个,右侧七个,每个按钮内显示一个公式或几何表达式。选项按钮的位置随机分布,但都限制在答题区域内。界面顶部或底部设有两个文本输入框,用于输入答案。此外,有一个反馈区域,当答案正确时显示绿色矩形提示。所有选项按钮和输入框均基于随机生成的数字,确保每次练习的题目顺序和选项内容不同。整体布局清晰,适合学生进行代数与几何结合的练习。
以上提示语为根据原始绘图命令整理而来,仅供参考。