平方根作为平方的逆运算
几何画板及绘图内容加载中,请稍等……
①本范例演示了平方根作为平方逆运算的数学原理;②涉及的核心数学概念包括平方、平方根、实数运算;③作图要点提炼自构造摘要,使用了Random, Sequence, Shuffle, If, Textfield, Element, Join, Angle, CircleArc, Mirror, Segment, Text, Translate, Circle等GeoGebra命令与对象;④适合初中及以上数学教学,用于帮助学生理解平方根与平方的互逆关系,增强数形结合能力。
GeoGebra 命令及参数
Random(1, 2) → StartTypeSequence(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}Shuffle(1…12) → TaskType1, {1, 8, 5, 9, 3, 12, 2, 4, 7, 6, 11, 10}Shuffle(16…27) → TaskType2, {24, 19, 20, 23, 27, 22, 26, 17, 21, 25, 16, 18}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) → OrderTasksIf(actualTask ≤ 15, actualTask, actualTask - 15) → number1Shuffle(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}Textfield(input) → inputBoxElement(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestionJoin({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]}) → RasterStreckenJoin({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]}) → RasterBeschriftungSequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkteAngle(MP1 + (1, 0), MP1, Pos1) → angle11Angle(MP1 + (1, 0), MP1, Pos2) → angle12CircleArc(MP1, MP1 + (Distance[MP1, Pos1] * (cos(angle12 + disAngle), sin(angle12 + disAngle))), MP1 + (Distance[MP1, Pos1] * (cos(angle11 - disAngle), sin(angle11 - disAngle)))) → arc01Mirror(arc01, Spiegelgerade) → arc02Segment(Point[arc01, 0], Point[arc01, 0] + (0.001 * UnitVector[Tangent[Point[arc01, 0], arc01]])) → arrow01Segment(Point[arc02, 1], Point[arc02, 1] + (0.001 * UnitVector[Tangent[Point[arc02, 1], arc02]])) → arrow02Text(txtHintTypicalText, PosHint, false, true, 0, 1) → txtHintTypicalTranslate(arc01, vec) → SolArc01Translate(arc02, vec) → SolArc02Translate(arrow01, vec) → SolArrow01Translate(arrow02, vec) → SolArrow02Text((("\textsf{\bold{\Large{" * number1) * "}}}"), Pos1 + vec, false, true, 0, 0) → txtSol1Text((("\textsf{\bold{\Large{" * number2) * "}}}"), Pos2 + vec, false, true, 0, 0) → txtSol2Circle(If[actualTaskType ≟ 1, Pos1, Pos2] + (0, -0.05), 0.425) → HintCircleText((("\textsf{\Large{" * number1) * "}}"), Pos1, false, true, 0, 0) → txtNumber1Text((("\textsf{\Large{" * number2) * "}}"), Pos2, false, true, 0, 0) → txtNumber2Text((("\colorbox{" * If[showHint ∧ actualTaskType ≟ 2, "#ffffff", "#ffffff"]) * "}{\textsf{Quadratwurzelziehen}}"), MP1 + (0, 0.45), false, true, 0, -1) → CapQ2Text((("\colorbox{" * If[showHint ∧ actualTaskType ≟ 1, "#ffffff", "#ffffff"]) * "}{\textsf{Quadrieren}}"), MP2 + (0, -0.45), false, true, 0, 1) → CapQ1Text(txtHintText, PosHint, false, true, 0, -1) → txtHintText(txtSolutionText, PosHint + (0, 1), false, true, 0, -1) → txtSolutionText(txtHintCalculateText, Midpoint[MP1, MP2], false, true, 0, 0) → txtHintCalculate