指数的匹配练习:把幂对应到重复乘法
几何画板及绘图内容加载中,请稍等……
这个范例通过交互式“匹配/排序”练习,帮助学生把正整数指数的幂表示与“同一个数的重复相乘”建立联系,并在图形反馈中巩固幂的含义。核心数学概念是:用正整数指数表示反复乘法(a^n 为 n 次重复乘以 a)、幂的读法与意义解释,以及用幂的表示进行简单应用。作图与交互要点主要来自构造摘要中的 GeoGebra 元素与命令:使用 Polygon 构造用于承载题目/区域的多边形外形;用 Sequence 生成可用的数值/位置序列;用 Shuffle 与随机重排来实现题块或选项的打乱;用 If 做条件判断以确定匹配结果;用 Textfield 让用户输入/选择;用 Element 与 Append/Remove 动态管理选项元素的集合;并通过 CountIf 统计匹配次数、Length 检查数据规模;结合 PointIn 判断对象是否落入指定区域,最终用 Text 标注与 optionsR/ optionsL、allowedRect1-4 等对象控制可操作区域与反馈逻辑。适合七到八年级(初中中段)作为指数运算概念理解与巩固练习,也适用于课堂互动或在线作业。
GeoGebra 命令及参数
Polygon(allowedRect4, allowedRect3, allowedRect2, allowedRect1) → allowedRect, a_1, b, c, dMax(widthsOptionsR) → widthRMax(heightsOptionsR) → heightRMax(heightR, Max[heightsOptionsL]) → heightLMax(widthsOptionsL) → widthLIf(isShuffleOptionsLechts, Shuffle[1…numOptionsR], 1…numOptionsR) → indizesOptionsRechtsIf(isShuffleOptionsLinks, Shuffle[1…numOptionsL], 1…numOptionsL) → indizesOptionsLinksTextfield(input1) → InputBox1Textfield(input2) → InputBox2Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {4, 7, 8, 7, 7, 3, 9, 0, 7, 10, 7, 4, 5, 7, 10, 2, 9, 9, 3, 6, 3, 7, 4, 9, 5, 5, 9, 4, 10, 9, 0, 1, 3, 1, 7, 8, 3, 8, 2, 0, 5, 6, 1, 3, 4, 10, 3, 8, 9, 3, 0, 9, 3, 2, 0, 10, 2, 5, 10, 0, 10, 4, 2, 10, 5, 10, 7, 6, 3, 7, 7, 6, 8, 4, 1, 1, 2, 4, 8, 5, 8, 2, 5, 5, 2, 1, 5, 1, 0, 2, 10, 1, 1, 5, 7, 9, 0, 8, 6, 9}Element(randomNosForX, Mod[questionCount, 100] + 1) → numXShuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {8, 5, 3, 3, 10, 0, 3, 3, 10, 3, 4, 10, 0, 4, 1, 2, 8, 7, 4, 3, 6, 1, 8, 9, 5, 4, 0, 3, 1, 6, 1, 7, 1, 4, 6, 9, 9, 9, 0, 9, 3, 3, 7, 7, 0, 5, 7, 3, 9, 2, 3, 6, 8, 0, 1, 0, 8, 3, 7, 7, 6, 6, 7, 7, 10, 5, 9, 3, 8, 6, 2, 9, 0, 10, 10, 0, 4, 2, 5, 6, 3, 0, 6, 1, 8, 0, 10, 5, 8, 10, 0, 8, 0, 0, 3, 5, 5, 8, 8, 9}Element(randomNosForY, Mod[questionCount, 100] + 1) → numYAppend(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100]) → stayXAppend(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayYRemove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForXwithoutRepeatRemove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeatElement(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1) → numXwithoutRepeatElement(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeatSequence(1) → positionsOptionsRechtsSequence(Element[optionsRAll, indizesOptionsRechts(i)], i, 1, numOptionsR) → optionsRActualLength(optionsRActual) → aSequence(Element[optionsLAll, indizesOptionsLinks(i)], i, 1, numOptionsL) → optionsLActualSequence(allOptionsL(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsLSequence(allOptionsR(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsRPolygon((-10, -2), (10, -2), (10, 10), (-10, 10)) → q1, q_1, r_1, s_1, t_1Polygon(E, F, G, H) → q2, e_1, f_2, g_2, h_2Polygon(I, J, K, L) → q3, i_2, j_2, k_1, l_1Sequence(optionsLoesungAll(indizesOptionsLinks(i)), i, 1, numOptionsL) → optionsLoesungText(optionsLActual(1), CenterOptionL1, true, true, 0, 0) → opL1Text(optionsLActual(2), CenterOptionL2, true, true, 0, 0) → opL2Text(optionsLActual(3), CenterOptionL3, true, true, 0, 0) → opL3Text(optionsLActual(4), CenterOptionL4, true, true, 0, 0) → opL4Text(optionsLActual(5), CenterOptionL5, true, true, 0, 0) → opL5PointIn(allowedRect) → CenterOptionR1Text(optionsRActual(1), CenterOptionR1, true, true, 0, 0) → opR1Polygon(CenterOptionR1, CenterOptionR1 - (widthR / 2, heightR / 2), CenterOptionR1 + (widthR / 2, ((-heightR)) / 2), CenterOptionR1 + (widthR / 2, heightR / 2), CenterOptionR1 - (widthR / 2, ((-heightR)) / 2), CenterOptionR1 - (widthR / 2, heightR / 2)) → rectRMove1, centeroptionr1, f, g, h, i, jPointIn(allowedRect) → CenterOptionR2Text(optionsRActual(2), CenterOptionR2, true, true, 0, 0) → opR2Polygon(CenterOptionR2, CenterOptionR2 - (widthR / 2, heightR / 2), CenterOptionR2 + (widthR / 2, ((-heightR)) / 2), CenterOptionR2 + (widthR / 2, heightR / 2), CenterOptionR2 - (widthR / 2, ((-heightR)) / 2), CenterOptionR2 - (widthR / 2, heightR / 2)) → rectRMove2, centeroptionr2, k, l, m, n, pPointIn(allowedRect) → CenterOptionR3Text(optionsRActual(3), CenterOptionR3, true, true, 0, 0) → opR3Polygon(CenterOptionR3, CenterOptionR3 - (widthR / 2, heightR / 2), CenterOptionR3 + (widthR / 2, ((-heightR)) / 2), CenterOptionR3 + (widthR / 2, heightR / 2), CenterOptionR3 - (widthR / 2, ((-heightR)) / 2), CenterOptionR3 - (widthR / 2, heightR / 2)) → rectRMove3, centeroptionr3, q, r, s, t, ePointIn(allowedRect) → CenterOptionR4Text(optionsRActual(4), CenterOptionR4, true, true, 0, 0) → opR4Polygon(CenterOptionR4, CenterOptionR4 - (widthR / 2, heightR / 2), CenterOptionR4 + (widthR / 2, ((-heightR)) / 2), CenterOptionR4 + (widthR / 2, heightR / 2), CenterOptionR4 - (widthR / 2, ((-heightR)) / 2), CenterOptionR4 - (widthR / 2, heightR / 2)) → rectRMove4, centeroptionr4, f_1, g_1, h_1, i_1, j_1PointIn(allowedRect) → CenterOptionR5Text(optionsRActual(5), CenterOptionR5, true, true, 0, 0) → opR5Polygon(CenterOptionR5, CenterOptionR5 - (widthR / 2, heightR / 2), CenterOptionR5 + (widthR / 2, ((-heightR)) / 2), CenterOptionR5 + (widthR / 2, heightR / 2), CenterOptionR5 - (widthR / 2, ((-heightR)) / 2), CenterOptionR5 - (widthR / 2, heightR / 2)) → rectRMove5, centeroptionr5, m_1, n_1, b_1, c_1, d_1PointIn(allowedRect) → CenterOptionR6Text(optionsRActual(6), CenterOptionR6, true, true, 0, 0) → opR6Polygon(CenterOptionR6, CenterOptionR6 - (widthR / 2, heightR / 2), CenterOptionR6 + (widthR / 2, ((-heightR)) / 2), CenterOptionR6 + (widthR / 2, heightR / 2), CenterOptionR6 - (widthR / 2, ((-heightR)) / 2), CenterOptionR6 - (widthR / 2, heightR / 2)) → rectRMove6, centeroptionr6, k_2, l_2, m_2, n_2, p_2If(CountIf[P ∈ answerRectLarger1(1), P, verticesR1] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR1] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR1] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR1] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR1] ≟ 4, 5) → indexAnswerR1If(CountIf[P ∈ answerRectLarger1(1), P, verticesR2] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR2] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR2] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR2] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR2] ≟ 4, 5) → indexAnswerR2If(CountIf[P ∈ answerRectLarger1(1), P, verticesR3] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR3] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR3] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR3] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR3] ≟ 4, 5) → indexAnswerR3If(CountIf[P ∈ answerRectLarger1(1), P, verticesR4] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR4] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR4] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR4] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR4] ≟ 4, 5) → indexAnswerR4If(CountIf[P ∈ answerRectLarger1(1), P, verticesR5] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR5] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR5] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR5] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR5] ≟ 4, 5) → indexAnswerR5If(CountIf[P ∈ answerRectLarger1(1), P, verticesR6] ≟ 4, 1, -1, CountIf[P ∈ answerRectLarger2(1), P, verticesR6] ≟ 4, 2, CountIf[P ∈ answerRectLarger3(1), P, verticesR6] ≟ 4, 3, CountIf[P ∈ answerRectLarger4(1), P, verticesR6] ≟ 4, 4, CountIf[P ∈ answerRectLarger5(1), P, verticesR6] ≟ 4, 5) → indexAnswerR6CountIf(ind ≠ -1, ind, indizesAnswerR) → numAnswersDraggedToLeftIf(correct, "\vphantom{✘}✓ Richtig", If[correctpartially, "\vphantom{✓}✘ Teilweise richtig", "\vphantom{✓}✘ Falsch"]) → correctTextTempText((("\textsf{" * correctTextTemp) * "}"), PStartCorrectText, true, true, 1, 0) → correctText
AI 绘图提示语参考
创建一个交互式图形,展示正整数指数与重复乘法的关联。包含多个矩形区域和选项,通过拖拽选项到对应区域进行匹配。图形中心有一个大矩形,周围分布着多个小矩形作为选项区域,每个区域通过文字标注显示对应的指数表达式。用户需要理解指数的意义,将表达式拖拽到表示正确乘法结果的区域。图形设计应清晰展示指数运算的概念,适合中年级学生理解。
以上提示语为根据原始绘图命令整理而来,仅供参考。