Systems of Linear Equations Puzzle
Loading the math board and drawing, please wait…
This activity introduces systems of linear equations through logic puzzles. Students will learn to solve linear equations algebraically. It uses commands like RandomUniform, Take, Element, If, Textfield, Flatten, Sequence, Zip, RemoveUndefined, making it suitable for 6-8 grade students to practice.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.40433700651860893, 0.112701665048636, 0.43786519359241144, 0.13453724759274702, 0.06192297921637483, 0.8915034755135657, 0.6466506560403794, 0.6808468711017576, 0.8593474775407397, 0.4602142629884519, 0.6559903247648702, 0.6534812608944176, 0.25210776828740494, 0.10870077884298113, 0.5064554469577719, 0.9872562139275634, 0.2529367233101544, 0.05661461464449197, 0.2491244284025733, 0.9706394614637479, 0.5989872230700475, 0.24533268797746025, 0.4676445851080821, 0.7561921318249966, 0.328526224935492, 0.8536214014243046, 0.11377039947113653, 0.0055152838615534616, 0.7443566745298374, 0.7922279173159801, 0.7138448513349351, 0.5575530257792992, 0.011916857223985961, 0.384506523957501, 0.1486416964904676, 0.5139757771941219, 0.10667754830806861, 0.3955297208793514, 0.7048752848295406, 0.37867874722312533, 0.5980645182749853, 0.060912731055820776, 0.6035109867985163, 0.17017811806094382, 0.12567843963426972, 0.10879766011184097, 0.5577719810463939, 0.22587286613416155, 0.05806743995363438, 0.09409681092395178, 0.4924407657509772, 0.025763946125180105, 0.7647266937457412, 0.09318732623310333, 0.2056909655165735, 0.950282258052023, 0.16835746430482218, 0.6897782149670819, 0.005262568304296941, 0.06237546787746418, 0.24671253530781573, 0.6286376164156512, 0.4223059334997308, 0.8779388204297942, 0.9115876041598543, 0.703272648929759, 0.238672560537199, 0.3110486940580416, 0.31668798579449176, 0.7264956535720677, 0.14681813592483736, 0.9012676308505371, 0.4062077525596964, 0.03909046483166584, 0.7458101664384525, 0.5195379702140152, 0.7620026196991775, 0.7515084843344814, 0.6321958432792921, 0.24686668944750553, 0.05922120592275738, 0.44667929254591, 0.6006873478663752, 0.5061268929419303, 0.8281785829370629, 0.8586117261473274, 0.45676002617794786, 0.03186253593016289, 0.03411366642704248, 0.6014910764088042, 0.011335362657519082, 0.6159799999507874, 0.6662668874284856, 0.16744464473143283, 0.33673416371652104, 0.28864678766576696, 0.07344726314137161, 0.41805249101402464, 0.7530365966618042, 0.9535900535809495, 0.15492719131863758, 0.8550212206262406, 0.2948746634433723, 0.14529791134684808, 0.1731117663246547, 0.0892192187513365, 0.9705081102796802, 0.2923756673416958, 0.6079732927291471, 0.8044871655130715, 0.697799560643654, 0.2064931788053683, 0.8027249222137118, 0.38329311487530116, 0.9354046649282988, 0.7599838369402704, 0.27562656862510987, 0.27539239539371646, 0.11213259298402116, 0.48721552518800276, 0.6341743851376955, 0.08818236648433783, 0.9530080396619998, 0.8853520737326576, 0.5352193432826327, 0.7884086926689375, 0.007079499467599023, 0.36905969209557327, 0.877793284920726, 0.5992840916318181, 0.5794699091770811, 0.431084974983695, 0.31459067610308206, 0.404922248593043, 0.8385543552266583, 0.36644280908948434, 0.8231616187438786, 0.17526921203479676, 0.6384756318796153, 0.0921996559519927, 0.09891653113087882, 0.7194307517644389, 0.037472488683625856, 0.7875235380055781, 0.11902574883860291, 0.23344925950823053, 0.8636957988100211, 0.17979512159773559, 0.48921654510626034, 0.5401748100172966, 0.6923275934538607, 0.5421349998629293, 0.8043281140458913, 0.7639047504362647, 0.10089309125717022, 0.6756997595183689, 0.3282796735810703, 0.9809331427159179, 0.36367010522213644, 0.5865358227141658, 0.3698392522114043, 0.7990547957845157, 0.3110514232490109, 0.34165214255136866, 0.6472508212878754, 0.4044116479881559, 0.005603873256348059, 0.9022841983014703, 0.04738460287853601, 0.3228476916060517, 0.02339464383772005, 0.7340694185380656, 0.14362068465794292, 0.47515553848900505, 0.9469186319787978, 0.94403944076242, 0.3011579585913105, 0.2512523714511674, 0.7546619007596369, 0.43295835029445456, 0.8188609495587554, 0.2774146133503415, 0.7019751473610105, 0.8685959278737445, 0.2931139678844169, 0.3332298091630006, 0.6585069182597671, 0.6810233054111836, 0.08144716803556845, 0.25089123608774483, 0.608960403417007, 0.11495399921398156, 0.5219318016827421, 0.018864895187589947, 0.4063883865500811, 0.3165261777918305, 0.31851116946076846, 0.32480060667551824, 0.9206299912279065, 0.05273256633983858}Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsElement(Sequence[-10, 10], 1 + floor((currentRandomSeeds(1) * 21))) → hardAIf(countQuestion < 3, 1, If[countQuestion < 6, 2, If[countQuestion < 9, 3, 4]]) → currentLevelElement({easyA, hardA, easyA, hardA}, currentLevel) → numAElement(Remove[Sequence[1, 10], {easyA}], 1 + floor((currentRandomSeeds(2) * 9))) → easyBElement(Remove[Sequence[-10, 10], {hardA}], 1 + floor((currentRandomSeeds(2) * 20))) → hardBElement({easyB, hardB, easyB, hardB}, currentLevel) → numBElement(Remove[Sequence[1, 10], {easyA, easyB}], 1 + floor((currentRandomSeeds(3) * 8))) → easyCElement(Remove[Sequence[-10, 10], {hardA, hardB}], 1 + floor((currentRandomSeeds(3) * 19))) → hardCElement({easyC, hardC, easyC, hardC}, currentLevel) → numCTextfield(input1) → InputBox1Textfield(input2) → InputBox2Element(Remove[{1, 2, 3}, {shapeA}], 1 + floor((currentRandomSeeds(8) * 2))) → shapeBElement(Remove[{1, 2, 3}, {shapeA, shapeB}], 1) → shapeCFlatten(Sequence[Sequence[(45 + (i * boxWidth), ((-xyRatio) * 150) - (j * boxWidth)), i, 1, 3], j, 0, 2]) → anchorBoxesIf(currentLevel ≤ 2, Element[{1, 2, 3}, 1 + floor((currentRandomSeeds(4) * 3))], NaN) → sameColSequence(1 + floor((currentRandomSeeds(A) * 3)), A, 6, 14) → randomOptions, {3, 2, 3, 3, 2, 2, 2, 1, 1}Zip(anchorBoxes(A) + ((3 * boxWidth), 0), A, {3, 6, 9}) → anchorSymbolsTextfield(input3) → InputBox3Zip(A ≟ B, A, inputCurrent, B, currentNums) → checkShapesElement(Remove[{1, 2, 3}, {numA}], 1 + floor((currentRandomSeeds(2) * 2))) → indexBSequence(Sequence[Element[{numA, numB, numC}, currentOrder(J, K)], K, 1, 3], J, 1, 3) → allNumbers, {{5, 5, 5}, {6, 5, 2}, {2, 6, 2}}Sequence(allNumbers(A, 1) + allNumbers(A, 2) + allNumbers(A, 3), A, 1, 3) → rowTotals, {15, 13, 10}Sequence(allNumbers(1, A) + allNumbers(2, A) + allNumbers(3, A), A, 1, 3) → colTotals, {13, 16, 9}Flatten(currentOrder) → flattenedOrderRemoveUndefined(Sequence[If[flattenedOrder(A) ≟ shapeB, anchorBoxes(A)], A, 1, Length[anchorBoxes]]) → shapeBLocationsZip(Circle[A, shapeWidth / 2], A, shapeBLocations) → allShapeBRemoveUndefined(Sequence[If[flattenedOrder(A) ≟ shapeC, anchorBoxes(A)], A, 1, Length[anchorBoxes]]) → shapeCLocationsZip(Polygon[A + (0, shapeWidth / 2), Rotate[A + (0, shapeWidth / 2), pi / 3, A], 6], A, shapeCLocations) → allShapeCRemoveUndefined(Sequence[If[flattenedOrder(A) ≟ shapeA, anchorBoxes(A)], A, 1, Length[anchorBoxes]]) → shapeALocationsZip(centerBox[shapeWidth, shapeWidth, A], A, shapeALocations) → allShapeAcenterBox(shapeWidth, shapeWidth, anchorSymbols(1)) → legendShapeAPolygon(anchorSymbols(3) + (0, shapeWidth / 2), Rotate[anchorSymbols(3) + (0, shapeWidth / 2), pi / 3, anchorSymbols(3)], 6) → legendShapeCCircle(anchorSymbols(2), shapeWidth / 2) → legendShapeBZip(Text[("\vphantom{-}" * A), B - (0, (xyRatio * boxWidth / 2)), true, true, 0, -1], A, colTotals, B, {anchorBoxes(7), anchorBoxes(8), anchorBoxes(9)}) → displayColTotalsZip((x(anchorBoxes(A)) + (3.5 * boxWidth) - 10, y(anchorBoxes(A)) + (xyRatio * 10)), A, {3, 6, 9}) → anchorInputsZip(centerBox[boxWidth, boxWidth, A], A, anchorBoxes) → puzzleFrameText("\text{Totals}", anchorBoxes(7) - (boxWidth / 2, (xyRatio * boxWidth / 2)), true, true, -1, -1) → lblTotalColZip(Text[("\vphantom{-}" * currentNums(shapeA)), A, false, true, 0, 0], A, shapeALocations) → shapeALabelsZip(Text[("\vphantom{-}" * currentNums(shapeB)), A, false, true, 0, 0], A, shapeBLocations) → shapeBLabelsZip(Text[("\vphantom{-}" * currentNums(shapeC)), A, false, true, 0, 0], A, shapeCLocations) → shapeCLabelsTableText(rowTotals, "v") → testSizeZip(Text[("" * A), B + (offsetTotals, 0), false, true, -1, 0], A, rowTotals, B, {anchorBoxes(3), anchorBoxes(6), anchorBoxes(9)}) → displayRowTotalsText("\text{Totals}", anchorBoxes(3) + (boxWidth - (10 * (xMax - xMin) / PXwidth), (xyRatio * boxWidth / 2)), true, true, 0, 1) → lblTotalRow
AI Drawing Prompt Reference
This is a graphic with a grid, shapes, input boxes, labels, and total displays. The grid consists of boxes, shapes such as circles and triangles are placed on the grid, input boxes are located on the grid for entering numbers, labels show shape names, and totals are displayed on the grid. The construction order is: first draw the grid, then place shapes, create input boxes, add labels and total displays.
The prompt above was compiled from the original drawing commands and is for reference only.