Hidden WordScanner
Private scans · No account required

DuckieDai Exponential Transform Solver

Describe the graph of y = a*b^(x-h)+k: growth or decay, reflection, stretch, shifts, asymptote, domain, range, y-intercept, and three graph points.

exponential functions · MIT License

Overview

Describe the graph of y = a*b^(x-h)+k: growth or decay, reflection, stretch, shifts, asymptote, domain, range, y-intercept, and three graph points.

  • Owner-tested on a TI calculator
  • Version 1.0.0
  • 3302 bytes
  • No imports

Before you run it

  • TI-84 Plus CE Python · No calculator OS or Python App version has been verified.
  • TI Connect CE .py transfer to the Python App; the owner's transfer details were not recorded
  • The function is written in the form y = a*b^(x-h)+k.
  • Values are shown rounded to four decimal places.
  • a cannot be 0.

Try the DuckieDai calculator screen

Follow the program's prompts and result flow before downloading.

JavaScript is required for the optional browser simulation. Source viewing and downloading remain available without it.

Simulation boundary: This preview uses a reviewed browser adapter. It does not execute the downloaded Python and does not prove TI-Python or calculator compatibility.

Learn the maths

How exponential transformations work

The standard form

An exponential function can be written in the form below. The program asks for the four numbers a, b, h, and k, then describes the graph one screen at a time.

y = a*b^(x-h)+k

a
the multiplier. Bigger than 1 (ignoring its sign) stretches the graph vertically; between 0 and 1 shrinks it. A negative a flips the graph over the x-axis.
b
the base. Greater than 1 means growth; between 0 and 1 means decay. It must be positive and cannot be 1.
h
the left or right shift. A positive h moves the graph right; a negative h moves it left.
k
the up or down shift. It also sets the horizontal asymptote, y = k.

Watch the sign of h. The form uses x - h, so 3^(x+2) means h = -2, a shift 2 to the left.

What the program reports

The three points always have the y-values a/b + k, a + k, and a*b + k.

Worked example

y = 2*3^(x-1)-4

Enter a = 2, b = 3, h = 1, k = -4. The program reports:

Answers are rounded to four decimal places, so -3.3333 stands for -10/3.

Exact reviewed bytes

Source code

Download .py

View source below, copy it when JavaScript is available, or download the exact .py bytes.

  1. """DuckieDai Exponential Transform Solver for TI-84 Plus CE Python."""
  2. def duckiedai_intro(program_name):
  3. title = program_name[:16]
  4. empty = 16 - len(title)
  5. left = empty // 2
  6. right = empty - left
  7. print("+----------------------+")
  8. print("| " + " " * left + title + " " * right + " |")
  9. print("| |")
  10. print("| __ |")
  11. print("| ___(o )> quack! |")
  12. print("| \\ <_. ) |")
  13. print("| `---' |")
  14. print("| by DuckieDai |")
  15. print("| hiddenwordscanner.com|")
  16. print("+----------------------+")
  17. print("Loading...")
  18. input("Press enter ")
  19. print("\n" * 7)
  20. def pause():
  21. input("\nPress enter ")
  22. print("\n" * 7)
  23. def num(prompt):
  24. while True:
  25. try:
  26. return float(input(prompt))
  27. except:
  28. print("Enter a number.")
  29. def fmt(n):
  30. if abs(n) < 0.000001:
  31. n = 0
  32. if n == int(n):
  33. return str(int(n))
  34. return str(round(n, 4))
  35. def run_solver():
  36. print("STANDARD FORM")
  37. print("")
  38. print("y = a*b^(x-h)+k")
  39. print("")
  40. print("a = multiplier")
  41. print("b = base")
  42. print("h = left/right")
  43. print("k = up/down")
  44. pause()
  45. while True:
  46. a = num("a? ")
  47. if a == 0:
  48. print("a cannot be 0.")
  49. continue
  50. b = num("b? ")
  51. if b <= 0 or b == 1:
  52. print("b must be > 0")
  53. print("and not equal 1.")
  54. continue
  55. h = num("h? ")
  56. k = num("k? ")
  57. break
  58. print("\n" * 7)
  59. print("BEHAVIOR")
  60. print("")
  61. if b > 1:
  62. print("Base: GROWTH")
  63. else:
  64. print("Base: DECAY")
  65. if a < 0:
  66. print("Reflect over")
  67. print("x-axis")
  68. else:
  69. print("No x-axis flip")
  70. aa = abs(a)
  71. if aa > 1:
  72. print("Vertical stretch")
  73. print("by " + fmt(aa))
  74. elif aa < 1:
  75. print("Vertical shrink")
  76. print("by " + fmt(aa))
  77. else:
  78. print("No stretch")
  79. pause()
  80. print("SHIFTS")
  81. print("")
  82. if h > 0:
  83. print("Right " + fmt(h))
  84. elif h < 0:
  85. print("Left " + fmt(abs(h)))
  86. else:
  87. print("No left/right")
  88. if k > 0:
  89. print("Up " + fmt(k))
  90. elif k < 0:
  91. print("Down " + fmt(abs(k)))
  92. else:
  93. print("No up/down")
  94. print("")
  95. print("ASYMPTOTE")
  96. print("y = " + fmt(k))
  97. pause()
  98. print("DOMAIN")
  99. print("(-inf, inf)")
  100. print("")
  101. print("RANGE")
  102. if a > 0:
  103. print("(" + fmt(k) + ", inf)")
  104. else:
  105. print("(-inf, " + fmt(k) + ")")
  106. print("")
  107. yint = a * (b ** (-h)) + k
  108. print("Y-INTERCEPT")
  109. print("(0, " + fmt(yint) + ")")
  110. pause()
  111. print("GRAPH POINTS")
  112. print("")
  113. x1 = h - 1
  114. y1 = a * (b ** -1) + k
  115. x2 = h
  116. y2 = a + k
  117. x3 = h + 1
  118. y3 = a * b + k
  119. print("(" + fmt(x1) + ", " + fmt(y1) + ")")
  120. print("(" + fmt(x2) + ", " + fmt(y2) + ")")
  121. print("(" + fmt(x3) + ", " + fmt(y3) + ")")
  122. print("")
  123. print("HA: y = " + fmt(k))
  124. duckiedai_intro("Exp Transform")
  125. while True:
  126. run_solver()
  127. print("")
  128. again = input("Again? y/n: ")
  129. if again.lower() != "y":
  130. break
  131. print("\n" * 7)
  132. print("\nDuckieDai says:")
  133. print("done!")
Filename
EXPTRAN.py
Size
3302 bytes
SHA-256
e371a928d3e55565624535284d3acb2d3bcb83dc429b709f3256b2882f20bd19

Usage

Inputs

  • Multiplier a (not 0)
  • Base b (positive and not 1)
  • Horizontal shift h
  • Vertical shift k

Outputs

  • Growth or decay, x-axis reflection, and vertical stretch or shrink
  • Left/right and up/down shifts with the horizontal asymptote y = k
  • Domain, range, and y-intercept
  • Three graph points at x = h-1, h, and h+1

Units: Function parameters; no physical units.

Assumptions and limitations

Assumptions

  • The function is written in the form y = a*b^(x-h)+k.
  • Values are shown rounded to four decimal places.

Constraints

  • a cannot be 0.
  • b must be greater than 0 and cannot equal 1.

Known failures

  • A very large shift or base makes the y-intercept or a graph point too large for the calculator and stops the program with an error.
  • An invalid a or b restarts entry from a.

Compatibility and review

Review status
Owner-tested on a TI calculator
Tested on
Owner reports personally using this program on a TI-84 Plus CE Python calculator for coursework; the test date, OS version, and Python App version were not recorded
What happened
Owner reported pass on the calculator before the website line was added to the opening screen and the line endings were normalised. The steps after the opening screen are unchanged; this exact file has not yet been rerun on a calculator.
Dependencies
No imports
Suggested calculator name
EXPTRAN — you can give it another valid, unique name when you transfer it
Desktop test cases
Not available for this interactive-only source

This exact source auto-launches an interactive calculator session, so compatibility evidence comes from the recorded physical-device review rather than an importable desktop fixture.

Transfer and launch

  1. Confirm that your calculator is the Python-capable model named above. This release has no verified calculator OS or Python App version; treat transfer and execution as unverified until independently tested.
  2. Download the .py source above and verify its SHA-256 digest if your computer provides that option.
  3. Use TI Connect CE to send the Python file to a compatible calculator. EXPTRAN is a suggested name; you may choose another valid, unique calculator name.
  4. Open the Python App, select the program, and check sample inputs before relying on other results.

Read the complete installation, launch, troubleshooting, and removal guide.

Availability does not mean a teacher, school, or exam permits this program. Follow the applicable rules.

Version history

Any source change requires a new immutable version and digest. Historical downloads remain available only while their review records remain valid.

Independent compatibility resource: Hidden Word Scanner is independent and is not affiliated with or endorsed by Texas Instruments. TI product names describe compatibility only.

Action-count privacy: Successful downloads, preview starts, and preview completions increment same-origin aggregate counters. No entered values, source text, IP address, account, cookie, device identifier, or fingerprint is stored with these counts.