Percentages: Selling Problems

Percentages: Selling Problems
Loading the math board and drawing, please wait…
2013-12-16 10:41
This example applies percentage changes to solve simple selling problems. It covers core math concepts such as percentage changes, cost, and profit. Using GeoGebra commands like Point, Polygon, Intersect, etc., it dynamically demonstrates changes in selling problems. Suitable for middle school and above students and teachers.

GeoGebra Commands & Parameters

  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

AI Drawing Prompt Reference

Draw a rectangle ABCD with A on the x-axis and B on the y-axis. Choose points P on AB and Q on BC. Draw perpendicular lines from P and Q to the x-axis, intersecting the extensions of AB at A1 and A2. Choose points B1 and B2 on BC, draw perpendicular lines from them to the x-axis, intersecting the perpendicular lines from P and Q at P' and Q'. Draw quadrilateral PQDA2 and B1Q'P', and draw a series of vertical line segments on AB and BC to represent changes in cost and price. Set input boxes for initial cost, price, and percentage change to dynamically show changes in cost and price.
The prompt above was compiled from the original drawing commands and is for reference only.