百分比(一):利润与亏损

百分比(一):利润与亏损
几何画板及绘图内容加载中,请稍等……
2016-11-15 12:12
①本范例演示了如何通过图形化方式展示利润与亏损的计算过程;②涉及的核心数学概念包括百分比计算、几何运算、数据分析;③作图要点:使用了Point, Polygon, Intersect, Sequence, Textfield, Midpoint, If, Segment等GeoGebra命令和对象来构建图形、计算长度、宽度、变化百分比等;④适合初中及以上学生学习百分比应用、几何计算及数据分析。

GeoGebra 命令及参数

  1. Point(yAxis) → A
  2. Point(yAxis) → B
  3. Point(Segment[A, A + (length * maxchange, 0)]) → P
  4. Point(Segment[A + (0, width), A + (length * maxchange, width)]) → Q
  5. Polygon(A, P, P + (0, width), A + (0, width)) → poly1, poly1a, poly1d, poly1b, poly1c
  6. Polygon(B, B + (length, 0), B + (length, width), B + (0, width)) → poly2, poly2b, poly2a, poly2c, poly2d
  7. Intersect(Ray[P, P + (1, 0)], x = length) → A1
  8. Intersect(Ray[Q, Q + (1, 0)], x = length) → A2
  9. Intersect(Ray[B1, B1 + (1, 0)], x = x(P)) → P'
  10. Intersect(Ray[B2, B2 + (1, 0)], x = x(P)) → Q'
  11. Polygon(P, Q, A2, A1) → poly3, poly3b, poly3b_1, poly3d, poly3c
  12. Polygon(B1, B2, Q', P') → poly4, poly4c, poly4d, poly4b, poly4a
  13. Sequence(Segment[B + (i * length / 10, 0), B + (i * length / 10, width)], i, 1, 9) → list1
  14. Sequence(Sequence[Segment[B + (j * length / 100 + i * length / 10, 0), B + (j * length / 100 + i * length / 10, width)], j, 1, 9], i, 0, 9) → list2
  15. Sequence(Segment[A + (i * length / 10, 0), A + (i * length / 10, width)], i, 1, 9) → list3
  16. Sequence(Sequence[Segment[A + (j * length / 100 + i * length / 10, 0), A + (j * length / 100 + i * length / 10, width)], j, 1, 9], i, 0, 9) → list4
  17. Textfield(cost) → inputBox1
  18. Textfield(cost) → inputBox2
  19. Midpoint(B, B2) → C
  20. Midpoint(A, Q) → D
  21. Midpoint(P, A2) → E
  22. Midpoint(B1, Q') → F
  23. Midpoint(B1, Q') → G
  24. Textfield(price) → inputBox3
  25. Midpoint(P, A1) → H
  26. Midpoint(poly4a) → I
  27. Midpoint(poly3b_1) → J
  28. Midpoint(poly4d) → K
  29. If(o_2, "$ y", "$" + cost) → text9
  30. If(o_2, "$ y", "$" + cost) → text4
  31. If(o_3, "y %", abs(change_%) * "%") → text11
  32. If(o_1, "$ y", "$" + price) → text13
  33. If(change_% < 0, "-", "+") → text24
  34. If(o_3, "y %", abs(change_%) * "%") → text17
  35. If(o_3, "1 " * text24 * " y %", "1 " + (text24 * " " * abs(change_%) * "%")) → text34
  36. If(o_3, "1 " * text24 * " y %", "1 " + (text24 * " " * abs(change_%) * "%")) → text14
  37. If(o_1 ∨ o_4, If[o_1, "$ y", cost * " " * text24 * " $ y"], "$" + price) → text12
  38. If(o_4, cost * " " * text24 * " $ y", "$" + price) → text15
  39. Textfield(price) → inputBox4
  40. Segment(B + (0, width), A) → g
  41. Segment(B2, A + (length, 0)) → i
  42. Segment(P, If[x(P) < length, Intersect[poly2c, x = x(P)], Intersect[poly4d, x = x(P)]]) → h
  43. Sequence(Segment[A + (i * length / 10, 0), A + (i * length / 10, width)], i, 1, floor(x(P) / length * 10)) → list3_1
  44. Sequence(Sequence[Segment[A + (j * length / 100 + i * length / 10, 0), A + (j * length / 100 + i * length / 10, width)], j, 1, 9], i, 0, floor(x(P) / length * 10) - 1) → list4_1
  45. Sequence(Segment[B + (i * length / 10, 0), B + (i * length / 10, width)], i, 1, floor(x(P) / length * 10)) → list5
  46. Sequence(Sequence[Segment[B + (j * length / 100 + i * length / 10, 0), B + (j * length / 100 + i * length / 10, width)], j, 1, 9], i, 0, floor(x(P) / length * 10) - 1) → list6_1
  47. Sequence(Segment[A + (j * length / 100 + floor(x(P) / length * 10) * length / 10, 0), A + (j * length / 100 + floor(x(P) / length * 10) * length / 10, width)], j, 1, floor((x(P) - floor(x(P) / length * 10) * length / 10) / length * 100)) → list4_2
  48. Sequence(Segment[B + (j * length / 100 + floor(x(P) / length * 10) * length / 10, 0), B + (j * length / 100 + floor(x(P) / length * 10) * length / 10, width)], j, 1, floor((x(P) - floor(x(P) / length * 10) * length / 10) / length * 100)) → list6_2
  49. If(b ∧ (change_% < 0), "Loss", "Discount") → text8
  50. If(b, "Cost", "Marked Price") → text6