比率、速率与正比例问题的条形模型演示

比率、速率与正比例问题的条形模型演示
几何画板及绘图内容加载中,请稍等……
2014-04-07 16:30
该GeoGebra范例通过可交互的条形模型(Bar Model)直观演示比率(Ratio)、速率(Rate)和正比例(Direct Proportion)问题的算术解法。核心数学概念包括比例关系、单位量(unit part)的划分、以及通过条形长度表示数量之间的倍数关系。作图要点:使用Polygon命令绘制条形,Textfield创建输入框,Sequence生成重复结构,Vector和Midpoint用于标注和定位,Segment构建辅助线段;对象包括scalefactor(比例因子)、barwidth(条宽)、多个点(P_1至P_4)以及输入框(inputBox1-4)和文本标签(textTitle、NameItem等),通过滑块或输入框调整数值,条形长度动态变化,帮助学生理解“每份量”与“总份数”的关系。适合小学高年级至初中阶段学习比例和正比例概念,也可用于教师课堂演示或学生自主探索,培养从图形到代数建模的思维。

GeoGebra 命令及参数

  1. Polygon(P_1, P_2, P_3, P_4) → ModelBar1, p_1, p_2, p_3, p_4
  2. Textfield(a) → inputBox1
  3. Textfield(NameItem1) → inputBox2
  4. Textfield(NameItem2) → inputBox3
  5. Textfield(b) → inputBox4
  6. Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / a), y(P_1)), (x(P_1) + ((i * c) * scalefactor / a), barwidth)], i, 1, a, 1) → UnitPartforItem1
  7. Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / b), y(P_1)), (x(P_1) + ((i * c) * scalefactor / b), barwidth)], i, 1, b, 1) → UnitPartforItem2
  8. Vector(P_{1s}, P_{1e}) → v_{1r}
  9. Vector(P_{1e}, P_{1s}) → v_{1l}
  10. Midpoint(P_{1s}, P_{1e}) → P_{1txt1}
  11. Vector(P_{2s}, P_{2e}) → v_{2r}
  12. Vector(P_{2e}, P_{2s}) → v_{2l}
  13. Midpoint(P_{2s}, P_{2e}) → P_{2txt1}
  14. Vector((x(P_1) + (c * scalefactor / a), barwidth + spacer / 3), (x(P_1), barwidth + spacer / 3)) → s_{1l}
  15. Vector((x(P_1), barwidth + spacer / 3), (x(P_1) + (c * scalefactor / a), barwidth + spacer / 3)) → s_{1r}
  16. Segment((x(P_1) + (c * scalefactor / a), barwidth), (x(P_1) + (c * scalefactor / a), barwidth + spacer / 3)) → g_1
  17. Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer / 3)) → f_1
  18. Segment((x(P_1), 1), (x(P_1), 1 - spacer / 3)) → f_2
  19. Segment((x(P_1) + (c * scalefactor / a), 1), (x(P_1) + (c * scalefactor / a), 1 - spacer / 3)) → g_2
  20. Vector((x(P_1), 1 - spacer / 3), (x(P_1) + (c * scalefactor / a), 1 - spacer / 3)) → s_{12r}
  21. Vector((x(P_1) + (c * scalefactor / a), 1 - spacer / 3), (x(P_1), 1 - spacer / 3)) → s_{12l}
  22. Textfield(a_2) → inputBox5
  23. Textfield(b_2) → inputBox6
  24. Vector((x(P_1) + ((a_2 * c) * scalefactor / a), barwidth + (2 * spacer / 3)), (x(P_1), barwidth + (2 * spacer / 3))) → s_{1nl}
  25. Vector((x(P_1), barwidth + (2 * spacer / 3)), (x(P_1) + ((a_2 * c) * scalefactor / a), barwidth + (2 * spacer / 3))) → s_{1nr}
  26. Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / a), y(P_1)), (x(P_1) + ((i * c) * scalefactor / a), barwidth)], i, 1, a_2, 1) → nPartsForItem1
  27. Polygon(P_1, P_{2n1}, P_{3n1}, P_4) → ModelBarn1, p_5, p_{2n1}, p_{3n1}, p_6
  28. Segment((x(P_1), barwidth), (x(P_1), barwidth + (2 * spacer / 3))) → f_{1n}
  29. Segment((x(P_{2n1}), barwidth), (x(P_{2n1}), barwidth + (2 * spacer / 3))) → g_{1n}
  30. Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer)) → f_0
  31. Segment((x(P_2), barwidth), (x(P_2), barwidth + spacer)) → g_0
  32. Vector((x(P_1), 1 - (2 * spacer / 3)), (x(P_1) + ((a_2 * c) * scalefactor / a), 1 - (2 * spacer / 3))) → s_{1n2r}
  33. Vector((x(P_1) + ((a_2 * c) * scalefactor / a), 1 - (2 * spacer / 3)), (x(P_1), 1 - (2 * spacer / 3))) → s_{1n2l}
  34. Segment((x(P_1), 1), (x(P_1), 1 - (2 * spacer / 3))) → f_{1n2}
  35. Segment((x(P_{2n1}), 1), (x(P_{2n1}), 1 - (2 * spacer / 3))) → g_{1n2}
  36. Segment((x(P_1), 1), (x(P_1), 1 - spacer)) → d_0
  37. Segment((x(P_2), 1), (x(P_2), 1 - spacer)) → e_0
  38. Vector((x(P_1) + (c * scalefactor / b), 1 - spacer / 3), (x(P_1), 1 - spacer / 3)) → s_{2l}
  39. Vector((x(P_1), 1 - spacer / 3), (x(P_1) + (c * scalefactor / b), 1 - spacer / 3)) → s_{2r}
  40. Segment((x(P_1), 1), (x(P_1), 1 - spacer / 3)) → d_1
  41. Segment((x(P_1) + (c * scalefactor / b), 1), (x(P_1) + (c * scalefactor / b), 1 - spacer / 3)) → e_1
  42. Segment((x(P_1) + (c * scalefactor / b), barwidth), (x(P_1) + (c * scalefactor / b), barwidth + spacer / 3)) → e_2
  43. Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer / 3)) → d_2
  44. Vector((x(P_1), barwidth + spacer / 3), (x(P_1) + (c * scalefactor / b), barwidth + spacer / 3)) → s_{21r}
  45. Vector((x(P_1) + (c * scalefactor / b), barwidth + spacer / 3), (x(P_1), barwidth + spacer / 3)) → s_{21l}
  46. Polygon(P_1, P_{2n2}, P_{3n2}, P_4) → ModelBarn2, p_7, p_{2n2}, p_{3n2}, p_8
  47. Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / b), y(P_1)), (x(P_1) + ((i * c) * scalefactor / b), barwidth)], i, 1, b_2, 1) → nPartsForItem2
  48. Segment((x(P_{2n2}), 1), (x(P_{2n2}), 1 - (2 * spacer / 3))) → e_{1n}
  49. Segment((x(P_1), 1), (x(P_1), 1 - (2 * spacer / 3))) → d_{1n}
  50. Vector((x(P_{2n2}), 1 - (2 * spacer / 3)), (x(P_1), 1 - (2 * spacer / 3))) → s_{2nl}
  51. Vector((x(P_1), 1 - (2 * spacer / 3)), (x(P_{2n2}), 1 - (2 * spacer / 3))) → s_{2nr}
  52. Segment((x(P_{2n2}), barwidth), (x(P_{2n2}), barwidth + (2 * spacer / 3))) → e_{1n2}
  53. Segment((x(P_1), barwidth), (x(P_1), barwidth + (2 * spacer / 3))) → d_{1n2}
  54. Vector((x(P_1), barwidth + (2 * spacer / 3)), (x(P_{2n2}), barwidth + (2 * spacer / 3))) → s_{2n1r}
  55. Vector((x(P_{2n2}), barwidth + (2 * spacer / 3)), (x(P_1), barwidth + (2 * spacer / 3))) → s_{2n1l}

AI 绘图提示语参考

画一个条形模型,表示比例、速率和直接比例问题。首先画一个矩形条形,然后根据输入框 a 和 b 的值,分别在条形上画出 a 个和 b 个单位部分。接着画辅助线和向量,标注条形的起始和结束点。最后,根据输入框 a_2 和 b_2 的值,调整条形的单位部分数量,并画出新的辅助线和向量。
以上提示语为根据原始绘图命令整理而来,仅供参考。