Determine if a Number is a Square Number
Loading the math board and drawing, please wait…
In collections
Quadratzahlen und Quadratwurzeln
This example demonstrates how to determine if a number is a square number through geometric shapes. Key mathematical concepts include sequences and geometric construction. Using GeoGebra commands such as Sequence, Join, and Shuffle, the example dynamically shows the generation process of sequences and changes in geometric shapes. Suitable for middle school and above students to learn about square
GeoGebra Commands & Parameters
Sequence(RandomElement[4…6], k, 1, 100) → NumberOfQ, {6, 5, 5, 5, 5, 6, 4, 5, 6, 5, 4, 5, 6, 4, 4, 4, 6, 6, 4, 4, 6, 4, 5, 4, 6, 4, 5, 5, 5, 4, 5, 4, 6, 6, 5, 4, 4, 5, 5, 6, 5, 6, 5, 5, 5, 6, 6, 6, 4, 4, 6, 5, 4, 6, 4, 5, 5, 4, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 6, 5, 6, 4, 5, 5, 5, 4, 6, 5, 6, 4, 6, 4, 4, 4, 6, 5, 6, 6, 6, 5, 5, 5, 6, 5, 6, 4, 5, 6}Join({Sequence[1, k, 1, NumberOfQ(counter)], Sequence[2, k, 1, 10 - NumberOfQ(counter)]}) → ElementBoxSequence(ZuteilungListe(k) ≟ ElementBox(k), k, 1, 20) → CorrectListShuffle(1…numberOfQuestions) → randomQuestions, {68, 25, 15, 70, 82, 18, 10, 37, 22, 61, 11, 34, 98, 27, 28, 23, 86, 78, 12, 83, 79, 41, 76, 17, 29, 39, 50, 100, 35, 19, 93, 80, 5, 91, 84, 74, 32, 49, 43, 2, 69, 20, 75, 66, 94, 47, 57, 62, 72, 85, 24, 31, 4, 7, 51, 40, 90, 26, 88, 58, 1, 71, 16, 3, 38, 6, 14, 89, 81, 99, 55, 64, 92, 87, 60, 46, 67, 45, 73, 36, 77, 97, 95, 48, 21, 65, 59, 42, 33, 44, 54, 63, 96, 13, 9, 30, 52, 53, 8, 56}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) → RasterPunkteSequence(Sample[NumbersQ, NumberOfQ(k)], k, 1, 100) → SampleQList, {{144, 49, 121, 9, 4, 16}, {81, 1, 25, 100, 49}, {144, 9, 36, 100, 49}, {16, 1, 81, 144, 4}, {16, 4, 49, 64, 144}, {1, 100, 64, 121, 16, 81}, {81, 144, 4, 25}, {16, 4, 49, 81, 1}, {144, 100, 81, 1, 9, 121}, {100, 121, 36, 9, 25}, {36, 25, 100, 4}, {49, 36, 81, 4, 16}, {4, 9, 100, 25, 144, 49}, {121, 4, 25, 64}, {144, 9, 36, 81}, {64, 25, 49, 1}, {100, 144, 1, 64, 36, 121}, {64, 81, 9, 121, 25, 144}, {121, 9, 49, 1}, {16, 25, 9, 100}, {9, 25, 4, 81, 49, 36}, {36, 1, 100, 144}, {9, 4, 16, 121, 49}, {64, 100, 81, 144}, {36, 4, 64, 1, 16, 144}, {36, 4, 64, 144}, {25, 36, 121, 49, 144}, {100, 25, 81, 64, 144}, {81, 16, 25, 144, 49}, {144, 9, 25, 36}, {4, 25, 16, 1, 81}, {25, 64, 1, 4}, {1, 9, 36, 121, 4, 81}, {25, 49, 81, 121, 16, 64}, {9, 25, 121, 100, 1}, {36, 1, 4, 25}, {144, 1, 16, 121}, {49, 64, 4, 100, 16}, {81, 100, 36, 25, 16}, {81, 100, 25, 144, 1, 4}, {16, 121, 49, 144, 1}, {1, 25, 100, 121, 9, 49}, {81, 121, 49, 36, 4}, {144, 81, 121, 25, 9}, {4, 25, 81, 144, 49}, {49, 1, 9, 36, 64, 25}, {25, 144, 81, 9, 64, 100}, {81, 49, 1, 36, 144, 9}, {81, 144, 1, 9}, {64, 81, 1, 121}, {16, 1, 36, 64, 25, 4}, {121, 9, 4, 16, 81}, {144, 4, 16, 36}, {25, 144, 81, 4, 121, 49}, {100, 81, 49, 64}, {36, 4, 16, 1, 49}, {144, 100, 25, 64, 16}, {9, 81, 100, 144}, {1, 100, 81, 144, 16, 25}, {64, 81, 25, 16, 100}, {16, 36, 64, 121, 144, 9}, {25, 16, 81, 4, 64, 9}, {64, 9, 4, 16, 144, 1}, {100, 16, 36, 144, 64, 81}, {25, 144, 49, 121, 16, 9}, {81, 4, 144, 64, 9, 25}, {25, 100, 9, 144, 64, 4}, {36, 4, 16, 144, 25, 64}, {64, 36, 49, 9}, {64, 81, 49, 144}, {64, 144, 25, 9, 1, 36}, {9, 25, 100, 1, 36}, {121, 49, 16, 1, 81, 4}, {9, 81, 49, 36}, {100, 121, 81, 1, 36}, {25, 9, 1, 121, 100}, {49, 4, 25, 1, 9}, {121, 49, 1, 144}, {25, 16, 9, 49, 81, 64}, {81, 100, 4, 121, 144}, {144, 36, 121, 64, 25, 49}, {4, 25, 81, 16}, {64, 100, 1, 144, 16, 36}, {64, 121, 81, 49}, {49, 25, 100, 36}, {25, 144, 49, 81}, {16, 49, 36, 81, 25, 121}, {4, 100, 9, 36, 81}, {16, 25, 64, 36, 144, 49}, {36, 144, 25, 81, 64, 121}, {144, 9, 16, 81, 36, 25}, {100, 4, 49, 9, 81}, {1, 4, 49, 25, 16}, {16, 49, 64, 144, 100}, {36, 16, 144, 81, 9, 1}, {144, 64, 121, 4, 36}, {36, 100, 64, 16, 4, 121}, {25, 9, 49, 1}, {81, 64, 16, 144, 100}, {16, 100, 121, 144, 9, 64}}Sequence(Sample[NoNumbersQ, 10 - NumberOfQ(k)], k, 1, 100) → SampleNoQList, {{128, 21, 28, 23}, {137, 6, 51, 34, 78}, {20, 87, 129, 79, 82}, {76, 31, 133, 62, 98}, {43, 108, 70, 99, 82}, {124, 59, 3, 74}, {28, 127, 23, 108, 97, 40}, {149, 120, 75, 78, 82}, {146, 55, 79, 34}, {93, 140, 130, 20, 150}, {135, 139, 76, 66, 10, 6}, {35, 139, 70, 5, 115}, {124, 73, 82, 38}, {37, 146, 27, 18, 12, 101}, {122, 61, 90, 20, 70, 19}, {42, 134, 132, 60, 131, 10}, {40, 19, 56, 51}, {83, 26, 18, 101}, {60, 24, 10, 82, 101, 17}, {133, 37, 3, 21, 96, 140}, {93, 137, 37, 43}, {17, 109, 12, 46, 117, 53}, {104, 137, 131, 143, 107}, {51, 62, 59, 133, 134, 24}, {101, 88, 18, 150}, {89, 86, 111, 63, 10, 104}, {146, 68, 53, 98, 70}, {125, 109, 31, 86, 137}, {42, 105, 68, 135, 11}, {133, 46, 115, 147, 91, 60}, {26, 58, 101, 15, 68}, {8, 50, 91, 104, 113, 34}, {117, 127, 119, 21}, {136, 84, 79, 103}, {48, 146, 83, 98, 92}, {72, 7, 24, 120, 10, 94}, {18, 7, 76, 69, 41, 86}, {42, 7, 150, 57, 73}, {23, 13, 60, 50, 75}, {51, 119, 108, 67}, {103, 72, 12, 123, 124}, {109, 137, 44, 8}, {140, 142, 122, 63, 139}, {56, 110, 76, 96, 61}, {105, 113, 72, 13, 22}, {21, 65, 117, 28}, {7, 52, 122, 134}, {107, 50, 58, 148}, {116, 6, 26, 31, 122, 109}, {63, 103, 104, 120, 45, 6}, {67, 99, 109, 107}, {130, 8, 106, 84, 62}, {65, 132, 46, 108, 126, 39}, {126, 20, 99, 110}, {71, 15, 77, 53, 90, 12}, {78, 35, 103, 148, 57}, {57, 113, 21, 73, 90}, {5, 70, 77, 66, 30, 18}, {61, 67, 30, 40}, {106, 98, 147, 114, 50}, {50, 46, 110, 33}, {79, 115, 148, 24}, {91, 70, 125, 27}, {122, 76, 3, 114}, {115, 123, 132, 92}, {122, 71, 127, 43}, {111, 72, 14, 6}, {119, 46, 111, 78}, {95, 59, 5, 114, 112, 44}, {43, 91, 37, 102, 54, 14}, {54, 102, 21, 106}, {22, 15, 48, 149, 123}, {77, 126, 107, 19}, {20, 42, 79, 65, 57, 111}, {80, 138, 118, 67, 20}, {15, 20, 24, 19, 107}, {110, 11, 14, 10, 119}, {103, 18, 48, 12, 85, 133}, {44, 133, 48, 23}, {56, 15, 111, 112, 19}, {33, 142, 146, 112}, {58, 24, 130, 91, 41, 90}, {146, 148, 23, 15}, {51, 39, 145, 147, 149, 129}, {51, 90, 50, 79, 66, 128}, {110, 101, 141, 140, 67, 12}, {110, 70, 134, 68}, {21, 18, 92, 23, 35}, {97, 2, 19, 5}, {20, 39, 74, 67}, {82, 92, 114, 136}, {12, 76, 103, 141, 91}, {21, 101, 73, 29, 20}, {10, 30, 115, 92, 135}, {73, 124, 129, 101}, {139, 93, 72, 20, 102}, {83, 41, 120, 125}, {70, 17, 6, 45, 105, 148}, {128, 39, 85, 56, 134}, {20, 53, 104, 136}}Join({SampleQList(counter), SampleNoQList(counter)}) → TaskNumbersText(txtElement1, PosP1 + (0, 0.05), false, true, 0, 0) → txtDD1Text(txtElement2, PosP2 + (0, 0.05), false, true, 0, 0) → txtDD2Text(txtElement3, PosP3 + (0, 0.05), false, true, 0, 0) → txtDD3Text(txtElement4, PosP4 + (0, 0.05), false, true, 0, 0) → txtDD4Text(txtElement5, PosP5 + (0, 0.05), false, true, 0, 0) → txtDD5Text(txtElement6, PosP6 + (0, 0.05), false, true, 0, 0) → txtDD6Text(txtElement7, PosP7 + (0, 0.05), false, true, 0, 0) → txtDD7Text(txtElement8, PosP8 + (0, 0.05), false, true, 0, 0) → txtDD8Text(txtElement9, PosP9 + (0, 0.05), false, true, 0, 0) → txtDD9Text(txtElement10, PosP10 + (0, 0.05), false, true, 0, 0) → txtDD10Text(txtElement11, PosP11 + (0, 0.05), false, true, 0, 0) → txtDD11Text(txtElement12, PosP12 + (0, 0.05), false, true, 0, 0) → txtDD12Text(txtElement13, PosP13 + (0, 0.05), false, true, 0, 0) → txtDD13Text(txtElement14, PosP14 + (0, 0.05), false, true, 0, 0) → txtDD14Text(txtElement15, PosP15 + (0, 0.05), false, true, 0, 0) → txtDD15Text(txtElement16, PosP16 + (0, 0.05), false, true, 0, 0) → txtDD16Text(txtElement17, PosP17 + (0, 0.05), false, true, 0, 0) → txtDD17Text(txtElement18, PosP18 + (0, 0.05), false, true, 0, 0) → txtDD18Text(txtElement19, PosP19 + (0, 0.05), false, true, 0, 0) → txtDD19Text(txtElement20, PosP20 + (0, 0.05), false, true, 0, 0) → txtDD20Take(OrderElements, 1, numberOfActiveElements) → ActiveElementListTake({box1(1), box2(1), box3(1), box4(1)}, 1, numberOfBoxes) → BoxesSort(ZuteilungListe, Sequence[IndexOf[k, OrderElements], k, 1, 20]) → ZuteilungOrderListeText("\textsf{\bold{← Zieh mich!\vphantom{Äg}}}", ParkP + (widthDD, 0.05), false, true, 1, 0) → CapZiehMichText("\textsf{\bold{Box 3\vphantom{Äg}}}", PBox3 + (If[CapBoxOben, 1, -1] * (0, heightBox / 2)), false, true, 0, If[CapBoxOben, 1, -1]) → CapBox3Text("\textsf{\bold{Box 4\vphantom{Äg}}}", PBox4 + (If[CapBoxOben, 1, -1] * (0, heightBox / 2)), false, true, 0, If[CapBoxOben, 1, -1]) → CapBox4If(Defined[Unique[RemoveUndefined[Sequence[IndexOf[true, CorrectList, k], k, 1, 20]]]], Unique[RemoveUndefined[Sequence[IndexOf[true, CorrectList, k], k, 1, 20]]], {}) → CorrectZuteilungText("\textsf{\bold{Quadratzahl\vphantom{Äg}}}", PBox1 + (If[CapBoxOben, 1, -1] * (0, heightBox / 2)), false, true, 0, If[CapBoxOben, 1, -1]) → CapBox1Text("\textsf{\bold{Keine Quadratzahl\vphantom{Äg}}}", PBox2 + (If[CapBoxOben, 1, -1] * (0, heightBox / 2)), false, true, 0, If[CapBoxOben, 1, -1]) → CapBox2Unique(KeepIf[a ≠ 0, a, ZuteilungListe]) → ZuteilungBoxen