Square Roots as Inverse of Squaring

Square Roots as Inverse of Squaring
Loading the math board and drawing, please wait…
2025-11-26 03:46
This example demonstrates the mathematical principle of square roots as the inverse operation of squaring. Key math concepts include squaring, square roots, and real number operations. It leverages GeoGebra commands and objects like Random, Sequence, Shuffle, If, Textfield, Element, Join, Angle, CircleArc, Mirror, Segment, Text, Translate, Circle as outlined in the construction summary. Suitable f

GeoGebra Commands & Parameters

  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