Enrolled in a mechanical physics class? This calculator program for the TI-84 Plus CE will make calculations easier and quicker with automatic solvers for the kinematic equations! The program allows you to choose which of the three equations to use, input your values, select an unknown value, and it calculates the rest for you. Even if you don’t use the program for completing your homework or tests, it serves great both a reference, and a method to check your answer. Continue reading for a walk-through of how to create the program yourself, or press the button below to jump directly to the finished code.

### Creating the Program

To create a program, press the *prgm* button and scroll over to **NEW**. You can name it whatever you like, but it’s wise to name it something related to its function. Because of the eight character limit, I’m naming mine KINMATIC.

### Coding the Program

In order to select an unknown variable, we first need to create a placeholder variable to type at the desired location. We do this by assigning a random number to X. The “→” button to assign a value to a variable is typed by pressing *sto→*. Next, create a selection menu using the menu command (found by pressing *prgm* and scrolling down). The first string is the title of the menu, followed by the name of each option and a label variable. Use the letters A-D as label variables and create options for the three equations and an option to quit. We can easily complete the quit option by designating the start of label D (Lbl found pressing *prgm* and scrolling down) and telling the program to Stop (same location as Lbl).

`: rand→X`

: ClrHome

: Menu("CHOOSE EQ.","V=V(0)+AT",A,"X=X(0)+V(0)T+.5AT²",B,"V²=V²(0)+2A(X-X(0))",C,"QUIT",D)

: Lbl D

: Stop

The rest of the program is fairly simple as long as you keep track of the variables and what they represent. For each equation, you must prompt for the inputs of all the variables. Next, the program needs to check which value is unknown (is equal to the placeholder variable “X”) and calculates the correct value. In each “Disp” command, a comma is used to signify a new line. The following is the code for each formula.

#### Veloctiy = Initial Velocity + (Acceleration * Time)

`: Lbl A`

: Input "V: ",E

: Input "V(0): ",F

: Input "A: ",G

: Input "T: ",H

: Disp ""

: If E=X

: Disp "VELOCITY:",F+(G*H)

: If F=X

: Disp "VELOCITY(0):",E-(G*H)

: If G=X

: Disp "ACCELERATION:",(E-F)/H

: If H=X

: Disp "TIME:",(E-F)/G

: Stop

#### Position = Initial Position + (Initial Velocity * Time) + (0.5 * Acceleration * Time^{2})

`: Lbl B`

: Input "X: ",E

: Input "X(0): ",F

: Input "V(0): ",G

: Input "T: ",H

: Input "A: ",I

: Disp ""

: If E=X

: Disp "POSITION:",F+(G*H)+(.5*I*H²)

: If F=X

: Disp "POSITION(0):",E-(G*H)-(.5*I*H²)

: If G=X

: Disp "VELOCITY(0):",(E-F-(.5*I*H²))/H

: If H=X

: Then

: G²-(4*(0.5*I)*(F-E))→V

: Disp "TIMES:",(G+√(V))/(I),(G-√(V))/(I)

: End

: If I=X

: Disp "ACCELERATION:",(E-F-(G*H))/(.5*H²)

: Stop

#### Veloctiy^{2} = Initial Velocity^{2} + 2 * Acceleration * (Position – Initial Position)

`: Lbl C`

: Input "V: ",E

: Input "V(0): ",F

: Input "A: ",G

: Input "X: ",H

: Input "X(0): ",I

: Disp ""

: If E=X

: Disp "VELOCITY:",√(F²+((2*G)*(H-I)))

: If F=X

: Disp "VELOCITY(0):",√(E²-((2*G)*(H-I)))

: If G=X

: Disp "ACCERLERATION:",(E²-F²)/(2*(H-I))

: If H=X

: Disp "POSITION:",H+((E²-F²)/(2*G))

: If I=X

: Disp "POSITION(0):",((E²-F²)/(2*G))+I

: Stop

### Running the Program

To run the program, quit the program editor (*2nd* → *mode*), select *prgm*, and choose your program name. After selecting your desired equation, input all values you know and press X using *X,T,θ,n*. As an example, try to figure out how high you threw a baseball straight up airborne for 4 seconds. Assume you released the ball at a height of 2 meters above the ground. First you need to know how fast you threw the ball. Use the second equation. The final position of the ball was 0 meters (on the ground). The initial position at release was 2 meters. You don’t know the original velocity (enter X). The ball was in the air for 4 seconds. The acceleration due to Earth’s gravity is -9.8 meters/second^{2}. If the program worked correctly, you will see that you threw the ball at a speed of 19.1 meters/second (around 43 mph).

However we still don’t know how high it went. Now run the program again and select the third program. As you probably know, the velocity of the ball will be 0 meters/second when at its peak height (it slows down while traveling upwards, stops for a split second, and begins accelerating back down toward Earth). Therefore, for the final velocity, we will choose 0. The initial velocity was 19.1 meters/second. The acceleration is -9.8 meters/second^{2}. The final position is our unknown this time. The initial position is 2 meters. If the program worked correctly again, you will see that the ball reached a height of 19.58 meters (about 64 feet high). If you have any questions, concerns, or comments about this program, other programs, or anything related to calculators, go to the Community page!

### Complete Code

`: rand→X`

: ClrHome

: Menu("CHOOSE EQ.","V=V(0)+AT",A,"X=X(0)+V(0)T+.5AT²",B,"V²=V²(0)+2A(X-X(0))",C,"QUIT",D)

: Lbl D

: Stop

: Lbl A

: Input "V: ",E

: Input "V(0): ",F

: Input "A: ",G

: Input "T: ",H

: Disp ""

: If E=X

: Disp "VELOCITY:",F+(G*H)

: If F=X

: Disp "VELOCITY(0):",E-(G*H)

: If G=X

: Disp "ACCELERATION:",(E-F)/H

: If H=X

: Disp "TIME:",(E-F)/G

: Stop

: Lbl B

: Input "X: ",E

: Input "X(0): ",F

: Input "V(0): ",G

: Input "T: ",H

: Input "A: ",I

: Disp ""

: If E=X

: Disp "POSITION:",F+(G*H)+(.5*I*H²)

: If F=X

: Disp "POSITION(0):",E-(G*H)-(.5*I*H²)

: If G=X

: Disp "VELOCITY(0):",(E-F-(.5*I*H²))/H

: If H=X

: Then

: G²-(4*(0.5*I)*(F-E))→V

: Disp "TIMES:",(G+√(V))/(I),(G-√(V))/(I)

: End

: If I=X

: Disp "ACCELERATION:",(E-F-(G*H))/(.5*H²)

: Stop

: Lbl C

: Input "V: ",E

: Input "V(0): ",F

: Input "A: ",G

: Input "X: ",H

: Input "X(0): ",I

: Disp ""

: If E=X

: Disp "VELOCITY:",√(F²+((2*G)*(H-I)))

: If F=X

: Disp "VELOCITY(0):",√(E²-((2*G)*(H-I)))

: If G=X

: Disp "ACCERLERATION:",(E²-F²)/(2*(H-I))

: If H=X

: Disp "POSITION:",H-((E²-F²)/(2*G))

: If I=X

: Disp "POSITION(0):",((E²-F²)/(2*G))+I

: Stop

It does not work at all there are errors. Maybe you inputted them in the wrong way. Send me an email if you happen to get this solved, cheers.

Hi! I just double-checked the code by copying and pasting it into a new program using the TI-Connect CE software and imported it to my calculator and it appears to work great for all test cases. Could you let me know what the error message says when it fails?

Because there are a hard to spot (but necessary) details like the many quotation marks and commas, you may have forgotten to place them somewhere.

Another reason it may be failing is if you are testing the program with invalid information. For example, attempting to find the time an object hits the ground (when final displacement is 0) for an object that is only moving away from the ground will create an error because that is impossible.

Hi,

Great site. Do you have a list of your other programming ideas? I see three (vectors, kinematics, midpt)

One problem with this program is that is instantly vanishes right after displaying the answer, which is inconvinient. So what I did is that at the end of each segment of code (right before the Stop function) I added a Pause function and it seemed to work. Now the program wont end unless you press ENTER, giving you time to write down or record your answer.

I just inputted this code into my calculator and the third equation is returning a different value everytime I try to use it. I have double checked mine multiple times and can’t figure out where I might be wrong.