线性函数与实际应用:通过几何作图理解价格关系

线性函数与实际应用:通过几何作图理解价格关系
几何画板及绘图内容加载中,请稍等……
2025-10-04 18:53
本范例通过实际生活中的价格问题,演示如何用线性函数描述变量间的数量关系。核心数学概念包括线性函数的定义、斜率与截距的几何意义,以及如何通过坐标系将抽象关系可视化。作图要点包括使用GeoGebra的构造命令绘制函数图像、设置坐标轴比例、添加数据点并连接成线。适合中学阶段(7-8年级)学生,用于理解线性函数在实际问题中的应用,以及培养几何直观与代数思维的结合能力。

GeoGebra 命令及参数

  1. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {2, 4, 8, 4, 6, 7, 5, 3, 2, 3}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Textfield(input) → inputBox
  4. Circle(ziehM1, ziehZone) → ziehK1
  5. Circle(ziehM2, ziehZone) → ziehK2
  6. Circle(ziehM3, ziehZone) → ziehK3
  7. Circle(ziehM4, ziehZone) → ziehK4
  8. Circle(ziehM1, ziehZone) → ziehK5
  9. CountIf(m ∈ ziehK1, m, listCross) → anz31
  10. CountIf(m ∈ ziehK2, m, listCross) → anz32
  11. CountIf(m ∈ ziehK3, m, listCross) → anz33
  12. CountIf(m ∈ ziehK4, m, listCross) → anz34
  13. CountIf(m ∈ ziehK5, m, listCross) → anz35
  14. Polygon(check5LO, check5RO, check5RU, check5LU) → v2, e, f, g, h
  15. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  16. Join({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftung
  17. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  18. Segment(Tab1LO, Tab1RO) → tabO
  19. Segment(Tab1RU, Tab1LU) → tabU
  20. Segment(Tab1LU, Tab1LO) → tabL
  21. Segment(Tab1RO, Tab1RU) → tabR
  22. Midpoint(tabO) → Tab1MO
  23. Midpoint(tabU) → Tab1MU
  24. Segment(Tab1MO, Tab1MU) → tab1M
  25. Sequence(Tab1LO - (0, 0.3) + (0, (i * (y(Tab1LU) - y(Tab1LO) + 0.3) / 6)), i, 1, 5) → listAllTab1L
  26. Sequence(Tab1RO - (0, 0.3) + (0, (i * (y(Tab1RU) - y(Tab1LO) + 0.3) / 6)), i, 1, 5) → listAllTab1R
  27. Sequence(Segment[listAllTab1L(i), listAllTab1R(i)], i, 1, 5) → listAllTab1Strichs
  28. Textfield(input21) → inputBox21
  29. Textfield(input22) → inputBox22
  30. Textfield(input23) → inputBox23
  31. Textfield(input24) → inputBox24
  32. Segment(DiagramYO, DiagramYU) → DiagramY
  33. Segment(DiagramXL, DiagramXR) → DiagramX
  34. Corner(txtMaria3, 1) → Maria3LU
  35. Corner(txtMaria3, 2) → Maria3RU
  36. Corner(txtMaria3, 3) → Maria3RO
  37. Corner(txtMaria3, 4) → Maria3LO
  38. Segment(Maria3LU, Maria3RU) → maria3txt_{1}
  39. Segment(Maria3RU, Maria3RO) → maria3txt_{2}
  40. Segment(Maria3RO, Maria3LO) → maria3txt_{3}
  41. Segment(Maria3LO, Maria3O) → maria3txt_{4}
  42. Segment(Maria3O, Maria3H) → maria3txt_{5}
  43. Segment(Maria3H, Maria3U) → maria3txt_{6}
  44. Segment(Maria3U, Maria3LU) → maria3txt
  45. Polygon(Farb51_{1}, Farb51_{3}, Farb51, Farb51_{2}) → v1, a, b, c, d
  46. Textfield(input51) → inputBox51
  47. Textfield(input52) → inputBox52
  48. Corner(txtMaria6, 1) → marie6LU
  49. Corner(txtMaria6, 2) → marie6RU
  50. Corner(txtMaria6, 3) → marie6RO
  51. Corner(txtMaria6, 4) → marie6LO
  52. Segment(marie6LO, marie6O) → marie6Rand_{5}
  53. Segment(marie6O, marie6H) → marie6Rand_{6}
  54. Segment(marie6H, marie6U) → marie6Rand
  55. Segment(marie6U, marie6LU) → marie6Rand_{1}
  56. Segment(marie6LU, marie6RU) → marie6Rand_{2}
  57. Segment(marie6RU, marie6RO) → marie6Rand_{3}
  58. Segment(marie6RO, marie6LO) → marie6Rand_{4}
  59. Polygon(lupArea_{1}, lupArea_{2}, lupArea_{3}, lupArea_{4}, lupArea_{5}, lupArea) → luArea, c_5, d_5, g_2, h_2, i_2, j_2
  60. PointIn(luArea) → LupeL
  61. Circle(lupKreisM, 0.64) → lupKreis
  62. Polygon(Box7LO, Box7RO, Box7RU, Box7LU) → box7, a_1, b_1, c_1, d_1
  63. Textfield(input53f) → inputBox53
  64. Polygon(Farb51_{4}, Farb51_{5}, Farb51_{6}, Farb51_{7}) → v1_{1}, a_{2}, b_{2}, c_{2}, d_{2}
  65. Polygon(Box7LO_{1}, Box7RO_{1}, Box7RU_{1}, Box7LU_{1}) → box7_{1}, a_{3}, b_{3}, c_{3}, d_{3}
  66. Segment(ziehM1, GeradeO) → Gerade
  67. Segment(Tab1LO_{1}, Tab1RO_{1}) → tabO_{1}
  68. Segment(Tab1RU_{1}, Tab1LU_{1}) → tabU_{1}
  69. Segment(Tab1LU_{1}, Tab1LO_{1}) → tabL_{1}
  70. Segment(Tab1RO_{1}, Tab1RU_{1}) → tabR_{1}
  71. Sequence(Tab1LO_{1} + (0, (i * (y(Tab1LU_{1}) - y(Tab1LO_{1})) / 6)), i, 1, 5) → listAllTab1L_{1}
  72. Sequence(Tab1RO_{1} + (0, (i * (y(Tab1RU_{1}) - y(Tab1LO_{1})) / 6)), i, 1, 5) → listAllTab1R_{1}
  73. Segment(DiagramXL_{1}, DiagramXR_{1}) → DiagramX_{1}
  74. Segment(DiagramYO_{1}, DiagramYU_{1}) → DiagramY_{1}
  75. Segment(GeradeU_{1}, GeradeO_{1}) → Gerade_{1}
  76. Polygon(whiteSquareLO, whiteSquareRO, whiteSquareRU, whiteSquareLU) → v3, a_4, b_4, c_4, d_4
  77. Sequence(If[i ≠ 1, Segment[DiagramXL_{1} + (0.4, 0) + ((i * (x(DiagramXR_{1}) - 0.4 - (x(DiagramXL_{1}) + 0.4)) / 8), 0.12), DiagramXL_{1} + (0.4, 0) + ((i * (x(DiagramXR_{1}) - 0.4 - (x(DiagramXL_{1}) + 0.4)) / 8), -0.12)]], i, 0, 8) → listStricheX_{1}
  78. Sequence(If[i ≠ 1, Segment[DiagramYU_{1} + (0, 0.4) + (0.12, (i * (y(DiagramYO_{1}) - 0.4 - (y(DiagramYU_{1}) + 0.4)) / 6)), DiagramYU_{1} + (0, 0.4) + (-0.12, (i * (y(DiagramYO_{1}) - 0.4 - (y(DiagramYU_{1}) + 0.4)) / 6))]], i, 0, 6) → listStricheY_{1}
  79. Polygon(Tab1LO, listAllTab1L(1), listAllTab1R(1), Tab1RO) → q1, tab1lo, l, m, tab1ro
  80. Polygon(listAllTab1L(1), listAllTab1L(2), listAllTab1R(2), listAllTab1R(1)) → q2, n, p, q, r
  81. Polygon(listAllTab1L(2), listAllTab1L(3), listAllTab1R(3), listAllTab1R(2)) → q3, s, t, f_1, g_1
  82. Polygon(listAllTab1L(3), listAllTab1L(4), listAllTab1R(4), listAllTab1R(3)) → q4, h_1, i_1, j_1, k_1
  83. Polygon(listAllTab1L(4), listAllTab1L(5), listAllTab1R(5), listAllTab1R(4)) → q5, l_1, m_1, n_1, p_1
  84. Polygon(listAllTab1L(5), Tab1LU, Tab1RU, listAllTab1R(5)) → q6, q_1, tab1lu, tab1ru, r_1
  85. Sequence(If[i ≥ 1, Segment[DiagramYU + (0, 0) + (0.12, (i * (y(DiagramYO) - 0.4 - (y(DiagramYU) + 0)) / 4)), DiagramYU + (0, 0) + (-0.12, (i * (y(DiagramYO) - 0.4 - (y(DiagramYU) + 0)) / 4))]], i, 0, 4) → listStricheY
  86. Sequence(Segment[DiagramXL + (0, (i * (y(DiagramYO - 0.4) - y(DiagramXL)) / 4)), DiagramXR + (0, (i * (y(DiagramYO - 0.4) - y(DiagramXL)) / 4))], i, 1, 4) → l2
  87. Segment(DiagramXL_{2}, DiagramXR_{2}) → DiagramX_{2}
  88. Segment(DiagramYO_{2}, DiagramYU_{2}) → DiagramY_{2}
  89. Sequence(If[i ≠ 1, Segment[DiagramXL_{1} + (0.4, 0) + ((i * (x(DiagramXR_{1}) - 0.4 - (x(DiagramXL_{1}) + 0.4)) / 8), y(DiagramYO_{1}) - y(DiagramXL_{1})), DiagramXL_{1} + (0.4, 0) + ((i * (x(DiagramXR_{1}) - 0.4 - (x(DiagramXL_{1}) + 0.4)) / 8), y(DiagramYU_{1}) - y(DiagramXL_{1}))]], i, 0, 8) → l1_{1}
  90. Segment(DiagramYO_{5}, DiagramYU_{5}) → DiagramY_{3}
  91. Sequence(If[i ≠ 1, Segment[DiagramYU_{1} + (0, 0.4) + (x(DiagramXR_{1}) - x(DiagramYU_{1}), (i * (y(DiagramYO_{1}) - 0.4 - (y(DiagramYU_{1}) + 0.4)) / 6)), DiagramYU_{1} + (0, 0.4) + (x(DiagramXL_{1}) - x(DiagramYU_{1}), (i * (y(DiagramYO_{1}) - 0.4 - (y(DiagramYU_{1}) + 0.4)) / 6))]], i, 0, 6) → l2_{1}
  92. Segment(mark03X1_{2}, mark03X1_{3}) → mark03X1
  93. Segment(mark03X2_{3}, mark03X2_{2}) → mark03X2
  94. Sequence(Segment[DiagramXL + (i * (x(DiagramXR - 0.4) - x(DiagramXL), 0) / 6), DiagramYO + ((i * (x(DiagramXR - 0.4) - x(DiagramXL)) / 6), 0)], i, 1, 6) → l1
  95. Sequence(If[i > 0, Segment[DiagramXL + (0, 0) + ((i * (x(DiagramXR) - 0.4 - (x(DiagramXL) + 0)) / 6), 0.12), DiagramXL + (0, 0) + ((i * (x(DiagramXR) - 0.4 - (x(DiagramXL) + 0)) / 6), -0.12)]], i, 0, 6) → listStricheX
  96. Segment(cross1 + ((-sizeCrossCorrect), sizeCrossCorrect), cross1 - ((-sizeCrossCorrect), sizeCrossCorrect)) → cross1Correct1
  97. Segment(cross1 + ((-sizeCrossCorrect), (-sizeCrossCorrect)), cross1 + (sizeCrossCorrect, sizeCrossCorrect)) → cross1Correct2
  98. Segment(cross2 + ((-sizeCrossCorrect), sizeCrossCorrect), cross2 - ((-sizeCrossCorrect), sizeCrossCorrect)) → cross2Correct1
  99. Segment(cross2 + ((-sizeCrossCorrect), (-sizeCrossCorrect)), cross2 + (sizeCrossCorrect, sizeCrossCorrect)) → cross2Correct2
  100. Segment(cross3 + ((-sizeCrossCorrect), sizeCrossCorrect), cross3 - ((-sizeCrossCorrect), sizeCrossCorrect)) → cross3Correct1
  101. Segment(cross3 + ((-sizeCrossCorrect), (-sizeCrossCorrect)), cross3 + (sizeCrossCorrect, sizeCrossCorrect)) → cross3Correct2
  102. Segment(cross4 + ((-sizeCrossCorrect), sizeCrossCorrect), cross4 - ((-sizeCrossCorrect), sizeCrossCorrect)) → cross4Correct1
  103. Segment(cross4 + ((-sizeCrossCorrect), (-sizeCrossCorrect)), cross4 + (sizeCrossCorrect, sizeCrossCorrect)) → cross4Correct2