Discount Calculation and Geometric Demonstration

Discount Calculation and Geometric Demonstration
Loading the math board and drawing, please wait…
2019-05-29 10:36
This example dynamically demonstrates discount calculations combined with geometric shapes, involving core math concepts like algebra, arithmetic, percentages, volume, definite integrals, parabolas, expected value, and pyramids. It is constructed using GeoGebra commands and objects such as If, Point, Polygon, Sequence, Textfield, Segment, and Vector, making it suitable for high school mathematics learners and educators for teaching demonstrations and concept understanding.

GeoGebra Commands & Parameters

  1. If(a, "d", ((If[p ∧ x(P) < 10, "-"] * abs(d)) * "")) → dtext
  2. If(c', "m", (n * "")) → ntext
  3. Point(yAxis) → A
  4. Point(yAxis) → B
  5. If(x(P) ≤ 10, A + (10, 0), B + (10, 0)) → A0
  6. If(x(P) ≤ 10, P, (x(P), y(B))) → P0
  7. Polygon(P, Q, (0, y(Q)), (0, y(P))) → q1, p_1, q_1, g, h
  8. Polygon({P0, A0, A0 + (0, 1), P0 + (0, 1)}) → q2
  9. Polygon({B, B + (10, 0), B + (10, 1), B + (0, 1)}) → q3
  10. Polygon({B, B + (10, 0), B + (10, 1), B + (0, 1)}) → q4
  11. Sequence(Segment[B + (i, 0), B + (i, 1)], i, 1, 9, 1) → l1
  12. Sequence(Sequence[Segment[B + (j + i, 0), B + (j + i, 1)], j, 0, 9, 1], i, 0.1, 0.9, 0.1) → l2
  13. Sequence(Segment[A + (i, 0), A + (i, 1)], i, 1, 9, 1) → l3
  14. Sequence(Sequence[Segment[A + (j + i, 0), A + (j + i, 1)], j, 0, 9, 1], i, 0.1, 0.9, 0.1) → l4
  15. Textfield(n) → InputBox1
  16. Textfield(m) → InputBox2
  17. If(b, "s", (m * "")) → mtext
  18. Segment(If[b_1 ≟ 0, A, A0] + (0, 1.2), If[b_1 ≟ 0, A, A0] + (0, 1.5)) → i
  19. Segment(If[b_1 ≟ 0, P, P0] + (0, 1.2), If[b_1 ≟ 0, P, P0] + (0, 1.5)) → j
  20. Vector(Midpoint[i], Midpoint[j]) → u
  21. Vector(Midpoint[j], Midpoint[i]) → v
  22. Segment(A0 - (0, 0.2), A0 - (0, 0.5)) → k
  23. Segment(P0 - (0, 0.2), P0 - (0, 0.5)) → l
  24. Vector(Midpoint[k], Midpoint[l]) → w
  25. Vector(Midpoint[l], Midpoint[k]) → e
  26. Segment(B + (0, 1.2), B + (0, 1.5)) → f
  27. Segment(B + (10, 1.2), B + (10, 1.5)) → r
  28. Vector(Midpoint[f], Midpoint[r]) → s
  29. Vector(Midpoint[r], Midpoint[f]) → t
  30. Segment(B - (0, 0.2), B - (0, 0.5)) → f_1
  31. Segment(B + (10, -0.2), B + (10, -0.5)) → g_1
  32. Vector(Midpoint[f_1], Midpoint[g_1]) → u_1
  33. Vector(Midpoint[g_1], Midpoint[f_1]) → v_1
  34. If(a, "d", If[b, If[b_1 ≟ 0, "s", "x"], "m"]) → text12
  35. Sequence(Segment[A + (10 + i, 0), A + (10 + i, 1)], i, 0.1, x(P) - 10, 0.1) → l6
  36. Sequence(Segment[A + (10 + i, 0), A + (10 + i, 1)], i, 0, floor(x(P) - 10)) → l5
  37. Sequence(Segment[A0 + (i, 0), A0 + (i, 1)], i, 0, floor(x(P0) - 10)) → l7
  38. Sequence(Segment[A0 + (i, 0), A0 + (i, 1)], i, 0.1, x(P0) - 10, 0.1) → l8
  39. If(p, m - n, abs(n - m)) → c
  40. Segment(If[x(P) ≤ 10, A + (10, 0), P], If[x(P) ≤ 10, B + (10, 1), x(P)]) → h_1
  41. Segment(A, B + (0, 1)) → i_1
  42. Segment(A - (0, 0.2), A - (0, 0.5)) → j_1
  43. Segment(P - (0, 0.2), P - (0, 0.5)) → k_1
  44. Vector(Midpoint[k_1], Midpoint[j_1]) → w_1
  45. Vector(Midpoint[j_1], Midpoint[k_1]) → c_1
  46. Segment(A0 + (0, 1.2), A0 + (0, 1.5)) → k'
  47. Segment(P0 + (0, 1.2), P0 + (0, 1.5)) → l'
  48. Vector(Midpoint[k'], Midpoint[l']) → e_1
  49. Vector(Midpoint[l'], Midpoint[k']) → l_1
  50. If(p, "Change", If[x(P) < 10, "Discount", If[x(P) > 10, "Profit", ""]]) → change