农夫乘法:可视化古代乘法算法的交互演示
几何画板及绘图内容加载中,请稍等……
① 本范例通过GeoGebra交互界面,直观演示了“农夫乘法”(又称俄罗斯乘法或埃及乘法)这一古老算法的完整计算过程,将抽象的二进制分解与累加操作转化为可视化的表格与步骤。② 核心数学概念包括:整数乘法、二进制分解(将乘数反复除以2取余)、奇偶性判断、累加求和,以及算法背后的数学原理——任何整数均可表示为2的幂次之和。③ 作图要点:利用GeoGebra的Textfield(输入框)接收两个整数a和b,通过Mod(取模)判断奇偶,CountIf与Sequence生成迭代序列,TableText构建步骤表格,并用crossout对象标记被划去的行,最终由ANSWER对象输出结果;涉及A1-A14、B1-B14等系列点与文本对象,以及C1-D3等辅助对象,构成完整的交互式算法演示。④ 适合小学高年级至初中阶段的学生学习乘法原理与算法思维,也可用于数学史教学或编程启蒙,帮助理解二进制与算法优化的思想。
GeoGebra 命令及参数
Textfield(a) → InputBox1Textfield(b) → InputBox2Mod(round(abs(a)), 10000) → A1Mod(round(abs(b)), 10000) → B1CountIf(n > 0, n, A1:A14) → stepsSequence(If[crossout ≟ true, If[Mod[Element[A1:A14, k], 2] ≟ 1, Text[Element[C1:C14, k], true], Text[Element[D1:D14, k], true]], Text[Element[C1:C14, k], true]], k, 1, steps) → list1Sequence(If[crossout ≟ true, If[Mod[Element[A1:A14, k], 2] ≟ 1, Text[Element[E1:E14, k], true], Text[Element[F1:F14, k], true]], Text[Element[E1:E14, k], true]], k, 1, steps) → list2TableText({list1, list2}, "vr|_") → text2