平方根作为平方的逆运算

平方根作为平方的逆运算
几何画板及绘图内容加载中,请稍等……
2025-11-26 03:46
①本范例演示了平方根作为平方逆运算的数学原理;②涉及的核心数学概念包括平方、平方根、实数运算;③作图要点提炼自构造摘要,使用了Random, Sequence, Shuffle, If, Textfield, Element, Join, Angle, CircleArc, Mirror, Segment, Text, Translate, Circle等GeoGebra命令与对象;④适合初中及以上数学教学,用于帮助学生理解平方根与平方的互逆关系,增强数形结合能力。

GeoGebra 命令及参数

  1. Random(1, 2) → StartType
  2. Sequence(Mod[k + StartType, 2] + 1, k, 1, 30) → OrderTaskType, {1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2}
  3. Shuffle(1…12) → TaskType1, {1, 8, 5, 9, 3, 12, 2, 4, 7, 6, 11, 10}
  4. Shuffle(16…27) → TaskType2, {24, 19, 20, 23, 27, 22, 26, 17, 21, 25, 16, 18}
  5. Sequence(If[OrderTaskType(k) ≟ 1, TaskType1(CountIf[a ≟ OrderTaskType(k), a, Take[OrderTaskType, 1, k]]), TaskType2(CountIf[a ≟ OrderTaskType(k), a, Take[OrderTaskType, 1, k]])], k, 1, 30) → OrderTasks
  6. If(actualTask ≤ 15, actualTask, actualTask - 15) → number1
  7. Shuffle(1…numberOfQuestions) → randomQuestions, {5, 11, 3, 23, 15, 8, 22, 18, 2, 7, 1, 20, 16, 9, 21, 14, 17, 24, 12, 6, 10, 19, 13, 4}
  8. Textfield(input) → inputBox
  9. Element(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestion
  10. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  11. Join({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftung
  12. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  13. Angle(MP1 + (1, 0), MP1, Pos1) → angle11
  14. Angle(MP1 + (1, 0), MP1, Pos2) → angle12
  15. CircleArc(MP1, MP1 + (Distance[MP1, Pos1] * (cos(angle12 + disAngle), sin(angle12 + disAngle))), MP1 + (Distance[MP1, Pos1] * (cos(angle11 - disAngle), sin(angle11 - disAngle)))) → arc01
  16. Mirror(arc01, Spiegelgerade) → arc02
  17. Segment(Point[arc01, 0], Point[arc01, 0] + (0.001 * UnitVector[Tangent[Point[arc01, 0], arc01]])) → arrow01
  18. Segment(Point[arc02, 1], Point[arc02, 1] + (0.001 * UnitVector[Tangent[Point[arc02, 1], arc02]])) → arrow02
  19. Text(txtHintTypicalText, PosHint, false, true, 0, 1) → txtHintTypical
  20. Translate(arc01, vec) → SolArc01
  21. Translate(arc02, vec) → SolArc02
  22. Translate(arrow01, vec) → SolArrow01
  23. Translate(arrow02, vec) → SolArrow02
  24. Text((("\textsf{\bold{\Large{" * number1) * "}}}"), Pos1 + vec, false, true, 0, 0) → txtSol1
  25. Text((("\textsf{\bold{\Large{" * number2) * "}}}"), Pos2 + vec, false, true, 0, 0) → txtSol2
  26. Circle(If[actualTaskType ≟ 1, Pos1, Pos2] + (0, -0.05), 0.425) → HintCircle
  27. Text((("\textsf{\Large{" * number1) * "}}"), Pos1, false, true, 0, 0) → txtNumber1
  28. Text((("\textsf{\Large{" * number2) * "}}"), Pos2, false, true, 0, 0) → txtNumber2
  29. Text((("\colorbox{" * If[showHint ∧ actualTaskType ≟ 2, "#ffffff", "#ffffff"]) * "}{\textsf{Quadratwurzelziehen}}"), MP1 + (0, 0.45), false, true, 0, -1) → CapQ2
  30. Text((("\colorbox{" * If[showHint ∧ actualTaskType ≟ 1, "#ffffff", "#ffffff"]) * "}{\textsf{Quadrieren}}"), MP2 + (0, -0.45), false, true, 0, 1) → CapQ1
  31. Text(txtHintText, PosHint, false, true, 0, -1) → txtHint
  32. Text(txtSolutionText, PosHint + (0, 1), false, true, 0, -1) → txtSolution
  33. Text(txtHintCalculateText, Midpoint[MP1, MP2], false, true, 0, 0) → txtHintCalculate