Identifying Patterns in Input-Output Tables - Multiplication and Division
Loading the math board and drawing, please wait…
This interactive GeoGebra example demonstrates how to identify and represent patterns of multiplication and division in input-output tables using an animated function machine. Core math concepts include function relationships, variable mapping, arithmetic operations, and algebraic expression formulation. Construction highlights: commands such as RandomUniform generate random numbers, Take and Element extract data, Zip builds lists, If handles conditional logic, Textfield captures user input, TableText creates tables, and slider animation (anim) drives the machine's movement, with Translate and Text for labels. Designed for grades 4-5, it helps students complete tables of values based on given relationships, visualize the function machine's input-output process, and translate patterns into algebraic expressions.
GeoGebra Commands & Parameters
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.7972723403473906, 0.9820586243711863, 0.6021710932189611, 0.8339214018249029, 0.254039653059072, 0.0633790700598275, 0.2931016295885725, 0.22692504590426074, 0.39991264883172345, 0.43632487320182345, 0.10853037604146284, 0.15579343756163833, 0.6397728938378975, 0.17356875554715073, 0.14188398032092914, 0.3471774071407089, 0.07656869081471043, 0.7192616000773597, 0.7133908137461569, 0.7121857553097987, 0.03773977249710319, 0.32404883993568395, 0.9171230802791757, 0.546579923636661, 0.04241331882180641, 0.435660831223492, 0.4922084426537765, 0.10297193305730777, 0.9368296292071585, 0.5011556250586994, 0.8082036886099893, 0.5746929321835718, 0.4523204635502315, 0.8127429647920392, 0.573831717391819, 0.8329436313105556, 0.7392167862916296, 0.6346545561172462, 0.4146796165874032, 0.6254683439685866, 0.9513017189424305, 0.5637511134899453, 0.39903982211957467, 0.7763128648904509, 0.8788533977483853, 0.8414683220923921, 0.8618476753885671, 0.6222325240168857, 0.9039365567651256, 0.4493033817965361, 0.4846272439966251, 0.7920094969996913, 0.6494053201624638, 0.7343313066990635, 0.7845049149174326, 0.7303200069005299, 0.35306939480642563, 0.045214416400721956, 0.6776828560575061, 0.42786004432840974, 0.17065380315474374, 0.7228308009717755, 0.5822870043750411, 0.3941938442819968, 0.02554717430382557, 0.1629969083311442, 0.9422125127028967, 0.4192336201147013, 0.5398871583963614, 0.5617966314411368, 0.8174867006221926, 0.3733885310701217, 0.930270648587337, 0.8567541862569382, 0.08775288126871926, 0.24524089002101865, 0.35230527171768755, 0.549499386333102, 0.6837504246828943, 0.6191116229278514, 0.38133309018310624, 0.047674616312487, 0.9671253727380894, 0.04307221441845739, 0.891960682153394, 0.13561876835658848, 0.741551722784647, 0.9408397189947558, 0.33651966999428257, 0.024839029060659833, 0.22797872855395496, 0.5885606380337506, 0.8622596604101832, 0.8264427359562867, 0.5038397576772372, 0.7697450774612764, 0.6289408986332797, 0.6185517340503368, 0.3502681898358615, 0.24855584891846808, 0.38254644264094984, 0.7222582903734782, 0.5127615844978732, 0.5132883682079379, 0.40707383346275433, 0.6599064974802891, 0.7693201673863495, 0.9281949963535605, 0.5647945757132605, 0.9393952268623467, 0.975856231531058, 0.31281402930051766, 0.655984139000378, 0.877798080305586, 0.37163072972238587, 0.6336562904947237, 0.08192837495834845, 0.8568832427118829, 0.1676195687893555, 0.1834835766568343, 0.9200027558772497, 0.6420903361187857, 0.3380460972859277, 0.018481265995648, 0.2867978678786004, 0.9551838605662916, 0.009837770857277247, 0.8133833705565189, 0.4246304061504482, 0.019152078356288908, 0.5164739690181848, 0.03905183156864793, 0.9883313238348775, 0.5819577293437198, 0.7515884380612665, 0.5861423579591524, 0.1829434172448009, 0.0434711187000521, 0.5737738325713018, 0.7623078328221671, 0.9188878211822987, 0.007328473579299082, 0.5773072782969788, 0.4788959476266181, 0.9392744094955866, 0.29655810666130583, 0.5939747966751127, 0.7262911249413804, 0.34433421003844444, 0.5386038969027886, 0.37881914066206923, 0.024931824681968823, 0.9604411304132311, 0.06185037306245286, 0.987469340343154, 0.46160221447475513, 0.5458693573410232, 0.6719155113227921, 0.31473175316624824, 0.4478538394724332, 0.9022969290091851, 0.6618273557712686, 0.8333315985724137, 0.1693552528866244, 0.10011922838680709, 0.3657373824297058, 0.7680904024612076, 0.6315996519755896, 0.45687645572311286, 0.8910481128226467, 0.9544082768019345, 0.6087174190104095, 0.011526377483832671, 0.028745122043949273, 0.7606923873070373, 0.5481482297359582, 0.4429096756064679, 0.4763220955978963, 0.45233096868232087, 0.6546185099429193, 0.29855706998530923, 0.8619761290627578, 0.9899592845637166, 0.28225315348580715, 0.4899781269780977, 0.012723901103003362, 0.427098094814539, 0.08371682914688451, 0.5827497189783513, 0.5727518141431167, 0.09176568977458155, 0.860037540770505, 0.5340862550443364, 0.9216633161612863, 0.1433750968646358, 0.5542073019432809, 0.6471278662720539, 0.505322842589442, 0.7001228178058662, 0.4657866818776382}Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsElement({"+", "-", "\times", "\div"}, randomNum1) → chosenOperationZip(kk + randomNum2, kk, ins) → out1Zip(kk - randomNum2, kk, ins) → out2Zip((kk * randomNum2), kk, ins) → out3Zip(kk / randomNum2, kk, ins) → out4Element({out1, out2, out3, out4}, randomNum1) → outsIf(currentRandomSeeds(9) ≥ 0.5, 0, 1) → showInOut2If(currentRandomSeeds(8) ≥ 0.5, 0, 1) → showInOut1Textfield(input1) → InputBox1Textfield(input2) → InputBox2Corner(5) → layoutAppSizesectorPixels(A, B, C, haloPixels + 40, Corner[1], Corner[3], Corner[5]) → pulsingObjectsectorPixels(A, B, C, 40, Corner[1], Corner[3], Corner[5]) → displayAnglePointToPixels(Corner[onboardingDisplayText, 2], Corner[1], Corner[3], Corner[5]) → layoutOnboardingonboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffsetTranslate(vGL, Vector[(Vector[Corner[1], Corner[2]] / 800 * 16)]) → vGL'Text(text1, H, true, true, 0, 1) → text2If(anim ≤ 2.5, (5, 5.45), (5 + (2 * (anim - 2.5)), 5.45 - ((anim - 2.5)^(0.2) * (5.45 - 4.8)))) → AnimPoint3Element({AnimPoint1, AnimPoint2, AnimPoint3, AnimPoint3}, floor(anim) + 1) → AnimPointText(text3, AnimPoint, true, true, 0, 0) → text4Text((chosenOperation * randomNum2), AnimPointDrop, true, true, 0, 0) → text5Zip(((If[kk, "\bold{", "{"] * nn) * "}"), kk, boldIns, nn, ins) → insTextZip(((If[kk, "\bold{", "{"] * nn) * "}"), kk, boldOuts, nn, outs) → outsTextTableText(Append["\textsf{Input}", Zip[Text[kk], kk, ({inp1, inp2, inp3, inp4, inp5} * If[randomNum1 ≟ 4, randomNum2, 1])]], Append["\textsf{Output}", Zip[Text[kk], kk, outs]], "c_|v", 100, 46) → tableTableText(Take[insText, 1, Min[animCount, 5]], Sequence[chosenOperation, ii, 1, Min[animCount, 5]], Sequence[randomNum2, ii, 1, Min[animCount, 5]], Sequence["=", ii, 1, Min[animCount, 5]], Take[outsText, 1, Min[animCount, 5] - If[anim ≤ 2.5, 1, 0]], "v,c", 10, 46) → tableSolTranslate(hGL, Vector[(Vector[Corner[4], Corner[1]] / 500 * 16)]) → hGL'
AI Drawing Prompt Reference
Create an interactive math function machine demonstration with a draggable slider controlling an animation, featuring a central abstract machine graphic displaying the current operation symbol (addition, subtraction, multiplication, or division) at the top. Include input boxes on the left side and output areas on the right. Below the machine, show a clear input-output comparison table with input values (1, 2, 3, 4, 5) on the left column and corresponding calculated results on the right. Display the operation formula below the table, such as 'input value × number = output', where the number updates with animation. When dragging the slider, the machine pulses and the table progressively reveals the calculation process row by row, demonstrating multiplication and division function relationships for students.
The prompt above was compiled from the original drawing commands and is for reference only.