基于模型写出等值分数(换分母)
几何画板及绘图内容加载中,请稍等……
该范例通过可视化模型,引导学生把同一数量用不同分母表示为等值分数。核心数学概念包括等值分数、分数与分割(单位的等分)、由“对半/四分之一/八分之一”“三分之一/六分之一”等关系进行等值转换,以及利用组成或分解建立分数之间的对应关系。作图与交互要点:利用随机生成题目参数(RandomUniform、RemoveUndefined、Sequence、Element、Mod、Take、RemoveUndefined)来得到分子分母,并用条件逻辑控制题目有效性与答案校验(If、inputOK、inputSaved、studentAnswer、enableBtnValidate)。在视觉模型层面,借助几何元素与文字标注呈现分割结构(CircleArc、Polygon、Rotate、Translate、PointToPixels、Textfield、LaTeX、TextToUnicode、Split),同时通过动画或分段显示来对应“学生选择/模型对应”的数量(animateNumer、animateStudent、showhint、showsolution)。适合4-5年级“用模型写等值分数”(含组成/分解、把若干份对应到更细分或更粗分)的练习与课堂演示。
GeoGebra 命令及参数
RandomUniform(0, 0.99, 200) → allRandomSeeds, {0.17974004018571862, 0.024508932089415437, 0.44242052420323336, 0.15091281912768453, 0.2106682121266081, 0.6913173313371165, 0.37705582549361044, 0.8889536832264192, 0.47062835979326045, 0.8179160857280386, 0.6041698416686374, 0.33857267288959497, 0.8880389985591565, 0.704190363813229, 0.9159535534605943, 0.8688779654387159, 0.33520196666307955, 0.38893540099715745, 0.5408809329383841, 0.10210516021779112, 0.44135410149546184, 0.5052481051159169, 0.7005048558001792, 0.9373951413181137, 0.7791610032765989, 0.1698433918594705, 0.7957911419510416, 0.024440309995123678, 0.7700460737329563, 0.3780041723239429, 0.2566212479571363, 0.7811248211977124, 0.05326895685966367, 0.01062908343859731, 0.7524586439666985, 0.8926338254160215, 0.020376461437383638, 0.8392862846596528, 0.38872708625533375, 0.7825443735404926, 0.2805459368892761, 0.02931188746450613, 0.5221888679014497, 0.5291348773632844, 0.5334246808903582, 0.009810153902707647, 0.9895392136980694, 0.06256218894095153, 0.2943404000405486, 0.28291834609654726, 0.24654805683152767, 0.15065532075297536, 0.4922171566534184, 0.2928927234853512, 0.6003829809265485, 0.8428610117065043, 0.6631774351232047, 0.2584529459182551, 0.8252377366090778, 0.78335224781294, 0.8126446142596825, 0.24939004842029097, 0.36106823709672425, 0.275471986143332, 0.5957824913567739, 0.43069987457902553, 0.4271031286121307, 0.2105339961862672, 0.6603164568827186, 0.2744463658330293, 0.3958488301141626, 0.634540673197527, 0.3271783896190442, 0.4611907079706652, 0.19954935770758864, 0.1866010611325028, 0.7630003477520532, 0.4391398474037436, 0.6894886577815387, 0.7027455591829455, 0.06425462541018886, 0.740174716012046, 0.16913854308230722, 0.23843262717999436, 0.2757957138587617, 0.787611133549987, 0.9349582002303891, 0.7323303196226925, 0.676707105586195, 0.36092732813547374, 0.23364136485847, 0.16292980707450982, 0.9236892410880416, 0.7677608118781155, 0.021784685832851945, 0.14821063285041597, 0.6767466563812087, 0.703232716316599, 0.6033167326017949, 0.9069262960014326, 0.7136412312197833, 0.6611012242554599, 0.041579238255107495, 0.07811662199646567, 0.11847514549952873, 0.2903766784599847, 0.2566924921681163, 0.6931776248156535, 0.3458508540536639, 0.20484915596311015, 0.13476479856676152, 0.2722315651075238, 0.5153271206084468, 0.49148538905019706, 0.14362108466379847, 0.3336398013932779, 0.16134898069790982, 0.7368448871703038, 0.4000279119052628, 0.02228812167448159, 0.021475947158092337, 0.308546399034551, 0.2958834848974863, 0.23874832468525437, 0.3605670664666672, 0.6113838725233696, 0.6955179291991309, 0.06758297347978738, 0.20060242899630057, 0.3149472969498082, 0.05311467662799364, 0.5889085154846122, 0.6450302309716643, 0.611546639731338, 0.19831720764609725, 0.7428705158248339, 0.3629245627812956, 0.41986852390007984, 0.9593242206441547, 0.5419080083419908, 0.6318232915200225, 0.6911132540779966, 0.8662055727830161, 0.7805970207499178, 0.24888693336151815, 0.14036580603075552, 0.252785416391905, 0.5174625920516209, 0.6579780965579207, 0.31664785860567335, 0.3732423824331841, 0.43743567964902297, 0.4054080692020239, 0.410478453695243, 0.739566428782549, 0.9576059849798187, 0.8594304358271065, 0.07783965902875466, 0.9281900528299796, 0.9825839542680347, 0.7380840363684646, 0.26419930813055575, 0.7184767407520588, 0.11913474003423043, 0.6166951911451756, 0.5016858852504459, 0.2423019225097508, 0.7527838426426546, 0.9402472318665824, 0.7866423266759152, 0.14270254661583082, 0.631819197469252, 0.706907982348389, 0.19360291413890696, 0.4604984396661335, 0.10652612753696086, 0.807278116394772, 0.2652438160087239, 0.0509044246605182, 0.1535912893938989, 0.849381935427575, 0.6260514911203884, 0.8274546149434033, 0.13739944259719966, 0.6720689136923127, 0.36033300201300933, 0.26805054258970257, 0.11142019531437436, 0.42932782001981035, 0.3927618885699845, 0.4976225852156198, 0.0540454229357734, 0.46503742222494043, 0.7919081744130131, 0.6237593317270814, 0.43408685173162653, 0.5318860578931571, 0.604144872172955, 0.5257124737396354, 0.3616802664108506}Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeedsRemoveUndefined(Sequence[If[GCD[A, denom] < denom, A], A, 1, (denom * 5)]) → validNumersElement(validNumers, 1 + floor((currentRandomSeeds(2) * Length[validNumers]))) → numerIf(showsolution, (numer * factor), lastNumer) → rightNumerIf(showsolution, (denom * factor), lastDenom) → rightDenomTextfield(studentAnswer) → inputAMod(animateNumer, rightDenom) → rightNumerPartialMod(numer, denom) → numerPartialIf(numerPartial ≟ 0, Max[numer / denom, 1], numModelFullUnits + 1) → numModelTotalUnitsIf(rightNumerPartial ≟ 0, Max[animateNumer / rightDenom, 1], numRightFullUnits + 1) → numRightTotalUnitsIf(Defined[animateStudent], Max[1 - Max[animateStudent, 0] / (numer / denom), -1], 0) → currentPositionRotate(PCenter + (armRadius, 0), (currentPosition * pi / 10), PCenter) → PRightRotateIf(showBalance, AnchorMoveRight, (3, -1)) → AnchorRightLaTeX(("" * inputA)) → inputFormattedTextToUnicode(inputFormatted) → inputUnicodeIf(showBalance, AnchorMoveLeft, AnchorA) → AnchorModelRotate(PCenter + (armRadius, 0), ((-pi)) / 10, PCenter) → PLowRightRotate(PCenter + (armRadius, 0), pi / 10, PCenter) → PHighRightCircleArc(PCenter, PLowRight, PHighRight) → movePathPolygon({(0, 0), (boxWidth, 0), (boxWidth, boxHeight), (0, boxHeight)}) → modelTemplateSequence(AnchorModel + (((boxWidth + gap) * A), 0), A, 0, numModelTotalUnits - 1) → modelAnchorsSequence(Segment[AnchorModel + (0, A), AnchorModel + (boxWidth, A)], A, 0, boxHeight, boxHeight / denom) → modelSubDivisionTemplateTranslate(Polygon[{(0, 0), (boxWidth, 0), (boxWidth, (numerPartial / denom * boxHeight)), (0, (numerPartial / denom * boxHeight))}], modelAnchors(-1)) → modelFillPartialPointToPixels(PLeftRotate, Corner[1], Corner[3], Corner[5]) → PLeftPXPointToPixels(PRightRotate, Corner[1], Corner[3], Corner[5]) → PRightPXPointToPixels(PCenter, Corner[1], Corner[3], Corner[5]) → PCenterPXTake(modelAnchors, 1, Length[modelAnchors] - 1) → unitAnchorsReplaceAll(LaTeX[("" * inputFormatted)], "frac", "") → inputNoFracSplit(("" * inputA), {"/"}) → inputValuesZip(Translate[modelSubDivisionTemplate, A - AnchorModel], A, modelAnchors) → modelSubDivisionsZip(Translate[modelTemplate, A], A, Take[modelAnchors, 1, Length[modelAnchors] - 1]) → modelFillUnitsZip(Translate[modelTemplate, A], A, modelAnchors) → allModelOutlinesSequence(AnchorRight + (((boxWidth + gap) * A), 0), A, 0, numRightTotalUnits - 1) → rightAnchorsZip(Translate[modelTemplate, A], A, rightAnchors) → allRightOutlinesSequence(Segment[AnchorRight + (0, A), AnchorRight + (boxWidth, A)], A, 0, boxHeight, boxHeight / If[rightDenom > 0, rightDenom, 1]) → rightSubDivisionTemplateZip(Translate[rightSubDivisionTemplate, A - AnchorRight], A, rightAnchors) → rightSubDivisionsIf(studentDenom ≠ denom ∧ currentPosition ≟ 0 ∧ showBalance, {0 / 255, 132 / 255, 117 / 255}, {218 / 255, 37 / 255, 112 / 255}) → fillColorZip(Translate[modelTemplate, A], A, Take[rightAnchors, 1, numRightFullUnits]) → rightFillUnitsTranslate(Polygon[{(0, 0), (boxWidth, 0), (boxWidth, (rightNumerPartial / rightDenom * boxHeight)), (0, (rightNumerPartial / rightDenom * boxHeight))}], rightAnchors(-1)) → rightPartialFillIf(validate ∧ correct ∧ showsolution, {0, 132 / 255, 117 / 255}, {218 / 255, 37 / 255, 112 / 255}) → animateColorLaTeX(("" * inputString)) → testInputIf(Defined[rightNumer], rightNumer, 0) → maxSlider
AI 绘图提示语参考
绘制一个用于分数等价教学的视觉模型:左侧显示一个被等分的长方形,表示一个分数(如几分之几),右侧显示另一个等分的长方形,表示与之等价的分数。两个长方形并排,高度相同,但分割线数量不同(如左侧分成4份,右侧分成8份)。左侧填充部分表示分子,右侧填充部分表示对应的等价分子。在图形下方或旁边,用文字或标签标出两个分数,并显示一个输入框供学生填写答案。整体布局清晰,颜色区分填充与未填充部分,并可能包含一个滑块或按钮用于显示答案或提示。
以上提示语为根据原始绘图命令整理而来,仅供参考。