Simple Interest and the SIMPFIN program

This page is devoted to presenting, in a step by step fashion, the keystrokes and the screen images for doing a simple interest calculations using the SIMPFIN program on a TI-83. We will start with a listing of the program. Note that this is given in three panels. The line numbers have been added to make it easier to discuss specific lines or sections of the program in the text given below the listing. The line numbers are not present in the actual program.

Before we talk about using the program, we will make a few comments about it. First, lines 1 through 8 are used to store some text strings into eight different string variables. We have done this so that we do not need to keep retyping a string such as FUTURE VALUE every time we want to use it. The next line, 9 (as well as lines 13, 25, 36, 45, 55, and 67), when performed, merely clears the screen of anything that was on it. Line 10, which happens to hold Lbl 10, is used to mark a spot just above the MENU command that is in line 11. That way, once we are done with a particular section we can jump back to the menu by issuing the Goto 10 command (as is done in lines 23, 33, 43, 53, 65, and 74). The Pause command (lines 22, 32, 42, 52, 64, and 73) is used to make the calculator wait until the user presses the key to continue the program. We do this so that the user can see the results that have been displayed. The Menu command at line 11 is used to display a menu of choices, and then, depending upon the users selection of the choice from that menu, the program will jump to the label given after each choice in the menu. Please note that the Menu command is quite long and that it has been shown in the listing by wrapping the text through 6 physical lines, even though it is really just one line of the program. The menu generated by that command will appear as:
The first item in the Menu command is the title of the menu, in this case SIMPLE INTEREST, and it is displayed as the first line in the menu on the calculator screen. The second item in the menu command, FUTURE VALUE:, becomes the first choice in the menu. Note that in the actual displayed menu the first choice is preceded by the number 1. The third item in the Menu command, 15, is the label to which the program will jump if the user selects that first choice. Examining the Menu command, and the menu as displayed on the cacluator, we see that there are really 7 actions that the user can select:
  1. FUTURE VALUE
  2. PRESENT VALUE
  3. RATE
  4. TIME
  5. YIELD
  6. EFFECTIVE RATE
  7. QUIT
The following table describes each of those menu choices.
FUTURE VALUE The Menu command, at line 11 of the program, specifies that if the user selects option 1, FUTURE VALUE, then the program should continue at Lbl 15. Lbl 15 is at line 12 of the program. The program clears the screen and then displays the text stored in Str2, namely FUTURE VALUE:.

The formula for finding the FUTURE VALUE is given as

FV = PV ( 1 + r*t)
but that came from
FV = PV + PV*r*t
where the term PR*r*t represents the Interest earned over the time period. The program, in lines 15 through 17 ask the user to enter specific numeric values for PRESENT VALUE, RATE, and TIME, and the program stores those valeus in the variables P, R, and Y, respectively. [Note that the TI-83/84 calculators do not allow for multi-character variable names.] Line 18 computes the interst amount (P*R*Y) and stores that value in the variable I. Line 19 displays the text INTEREST= and then the amount of the computed interest. Line 20 adds that interest to the original present value to produce to future value which is stored in F. Line 21 displays the text FUTURE VALUE: and then the amount of the computed future value. Line 22, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 23, causes the program to jump back to Lbl 10 to redisplay the menu.
PRESENT VALUE If the user selects menu option 2, PRESENT VALUE, then the program should continue at Lbl 25. Lbl 25 is at line 24 of the program. The program clears the screen and then displays the text stored in Str2, namely FUTURE VALUE:.

The formula for finding the FUTURE VALUE is given as

FV = PV ( 1 + r*t)
If we multiply both sides of the equation by 1/(1+r*t) the result is
FV / ( 1 + r*t) = PV
which we could reverse to be
PV =FV / ( 1 + r*t)
The program, in lines 27 through 29, asks the user for numeric values for each of the variables F, R, and Y. Line 30 does the calculation indicated above and stores the result in variable P. Line 31 displays the text PRESENT VALUE: and then the computed present value. Line 32, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 33, causes the program to jump back to Lbl 10 to redisplay the menu.
RATE If the user selects menu option 3, RATE, then the program should continue at Lbl 30. Lbl 30 is at line 34 of the program. The program clears the screen and then displays the text stored in Str3, namely RATE:.

The formula for finding the FUTURE VALUE is given as

FV = PV ( 1 + r*t)
If we multiply both sides of the equation by 1/PV we get
FV / PV = 1 + r*t
Then subtract 1 from both sides to get
(FV / PV) – 1 = r*t
Then multiply both sides by 1/t to get
( (FV / PV) – 1) / t = r
which we could reverse to be
r = ( (FV / PV) – 1) / t
The program, in lines 37 through 39, asks the user for numeric values for each of the variables P, F, and Y. Line 40 does the calculation indicated above and stores the result in variable R. Line 41 displays the text RATE: and then the computed rate value. Line 42, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 43, causes the program to jump back to Lbl 10 to redisplay the menu.
TIME If the user selects menu option 4, TIME, then the program should continue at Lbl 35. Lbl 35 is at line 44 of the program. The program clears the screen and then displays the text stored in Str4, namely YEARS:.

The formula for finding the FUTURE VALUE is given as

FV = PV ( 1 + r*t)
If we multiply both sides of the equation by 1/PV we get
FV / PV = 1 + r*t
Then subtract 1 from both sides to get
(FV / PV) – 1 = r*t
Then multiply both sides by 1/r to get
( (FV / PV) – 1) / r = t
which we could reverse to be
t = ( (FV / PV) – 1) / r
The program, in lines 47 through 49, asks the user for numeric values for each of the variables P, F, and R. Line 50 does the calculation indicated above and stores the result in variable Y. Line 51 displays the text YEARS: and then the computed time value. Line 52, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 53, causes the program to jump back to Lbl 10 to redisplay the menu.
YIELD If the user selects menu option 5, YIELD, then the program should continue at Lbl 40. Lbl 40 is at line 54 of the program. The program clears the screen and then displays the text stored in Str7, namely YIELD:.

To find the YIELD we need to find the sale price. The formula for the sale price is

SP = MV -MV*r*t
where SP is the sale price and MV is the maturity value. Once we know the sale price then the sale price acts like the present value and the maturity value acts like the future value. The yield then becomes the rate. We did that when we were looking for the rate for menu option 3. In that case we found that the formula was
r = ( (FV / PV) – 1) / t
The program, in lines 57 through 59, asks the user for numeric values for each of the values MATURITY VALUE, DISCOUNT RATE, and YEARS, and the program stores those values in F, R, and Y. Line 60 does the calculation indicated above to find the selling price and stores the result in variable P. Line 61 displays the text SELLING PRICE: and then the computed selling price. Line 62 does the computation for the yield and stores the result in the variable L. Line 63 then displays the text YIELD: and the computed value of the yield. Line 64, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 65, causes the program to jump back to Lbl 10 to redisplay the menu.
EFFECTIVE RATE If the user selects menu option 6, EFFECTIVE RATE, then the program should continue at Lbl 45. Lbl 45 is at line 66 of the program. The program clears the screen and then displays the text stored in Str8, namely EFFECTIVE RATE:.

We can actually find the EFFECTIVE RATE if we are just given the DISCOUNT RATE and the time. To see this we note that we have a formula for the SELLING PRICE, namely

SP = MV – MV*DR*T
where SP is the selling price, MV is the maturity value, DR is the discount rate, and T is the time in years. Then , if we say that the effective rate is called ER, we know that
SP ( 1 + ER*T) = MV
Multiplying both sides of the equation by 1/SP we get
1 + ER*T = MV / SP
Subtracting 1 from each side gives
ER*T = (MV / SP) – 1
Expressing the value 1 as SP/SP gives
ER*T = (MV / SP) – (SP/SP)
Since the two denominators are the same we can simplify this to be
ER*T = (MV – SP) / SP
Substituting the earlier formula for SP in terms of MV, DR, and T we get
ER*T = (MV – (MV – MV*DR*T)) / (MV – MV*DR*T)
Simplifying the numerator gives
ER*T = (MV – MV + MV*DR*T)) / (MV – MV*DR*T)
But that becomes
ER*T = (MV*DR*T) / (MV -MV*DR*T)
Now we factor an MV from the denominator to give
ER*T = (MV*DR*T) / (MV * (1 – DR*T))
In this form we see that MV is a factor of both numerator and denominator. Thus we can rewite this as
ER*T = (MV/MV) * ( (DR*T) / (1 – DR*T))
But , MV/MV is just 1 so the equation becomes
ER*T = (DR*T) / (1 – DR*T)
Now multiply both sides of the equation by 1/T to give
ER = ( (DR*T) / (1 – DR*T))*(1/T)
Now we have
ER = (DR*T) / ( (1 – DR*T))*T)
But in this case we have T as a factor of both the numerator and the denominator. We factor out the T in each to give
ER = (DR / (1 – DR*T)) * (T/T)
And, since T/T is 1 this becomes
ER = (DR / (1 – DR*T))
Here we have expressed the EFFECTIVE RATE in terms of the DISCOUNT RATE and the TIME.

The program, in lines 69 and 70, asks the user for numeric values for the variables DISCOUNT RATE AND YEARS, storing the values in the variables R and Y, res[pectively. Line 71 does the calculation indicated above and stores the result in variable L. Line 72 displays the text EFFECTIVE RATE: and then the computed effective rate value. Line 73, the Pause command, causes the calculator to wait for the user to press the ENTER key to continue the program. When that happens, the next command, line 74, causes the program to jump back to Lbl 10 to redisplay the menu.

QUIT If the user selects menu option 7, QUIT, then the program should continue at Lbl 72. Lbl 72 is at line 75 of the program. The next command, line 76, is the Stop command which causes an end to the program.

Figure 1
Figure 1 shows a part of the listing of the programs that were available on the particular calculator used to generate the images in all of these figures. In this case, we have scrolled down the list to find and highlight our desired program, SIMPFIN. We can then press the key to move to Figure 2.
Figure 2
The name of the selected program, prefixed with the code "prgm", appears on the screen. We can press the key to perform this command, i.e., start the program.
Figure 3
The program starts and displays the menu of choices for the user. By default, the first choice is already highlighted. That choice, "FUTURE VALUE", will have the calculator compute and display the FUTURE VALUE based on the formula
FV = PV + PV*r*t
where the term PR*r*t represents the Interest earned over the time period. We can select that choice by pressing either the key or the key.
Figure 4
To compute the formula the calculator needs values for the PRESENT VALUE, the ANNUAL RATE, and the number of YEARS. In Figure 4 the program has prompted us for the PRESENT VALUE. We respond in FIGURE 5.
Figure 5
There we have given the calcualtor the value of 450 for the present value. Then the calculator asks for the annual interest rete to which we respond with .0375 representing 3¾%. Finally, the program asks for the number of years, to which we respond 5. After each of our responses we press the key. When we do that at the end of Figure 5 the calculator displays the results, shown in Figure 6.
Figure 6
In Figure 6 we see the two values that the calculator has supplied for us. First, we have the interest earned, in this case 84.375. Second, we have the future value (i.e., the sum of the present value and the interest earned), namely 534.375. Note that the program does not round the answers. That is a task that is leaft for us to do.

Figure 6 shows the screen while the program is paused at line 22. Once we have read and possibly written the answers on a test or worksheet, we can press key to cause the program to continue. Doing so will first have the program move to line 23 which will then send the program back to line 10 (which happend to hold the statement Lbl 10. That line merely marks a spot in the program. The program continues with the next line, the Menu statement. This in turn, displays the menu again, as shown in Figure 7.

Figure 7
Here we have the menu displayed. we can use the key to move the highlight to the second item, PRESENT VALUE. The result is shown in Figure 8.
Figure 8
Now that the highlight is on menu item 2, PRESENT VALUE, we can press the key to have the program follow that option tot he appropriate place in the program. [Alternatively, we could have done the same thing, even without highlighting option 2, simply by pressing the key either from Figure 7 or from Figure 8.]
Figure 9
In Figure 9 the program has displayed the title: PRESENT VALUE. In order to compute the PRESENT VALUE we use the formula
PV =FV / ( 1 + r*t)
. To calculate the right side of the formula we need values for the FUTURE VALUE, the Annual RATE, and the number of Years (the TIME). The program continues in Figure 9 by asking us for the value of the FUTURE VALUE.
Figure 10
For Figure 10 we have supplied 500 for the FUTURE VALUE, .04 for the annual rate, and 6 for the number of years. We press the key at the end of each of these. Pressing the key after the number of years moves us to FIgure 11.
Figure 11
Here the program has calculated the present value (done in line 30 of the program), and it has displayed that result, in this case, 398.4063745. Again the value is not rounded to the nearest cent. That is left for us to do.

The program waits at the Pause command at line 32. When we press the key the program continues with the Goto 10 command at line 33. This takes us back to Lbl 10 and from there the program moves back to the Menu command, displaying the menu in Figure 12.

Figure 12
For Figure 12 we have taken the liberty of moving the highlight down to item 3, RATE. We can get the program to perform the jump associated with this third menu item either by pressing the key once we have highlighted option 3, or by pressing the key. Either one will cause the program to jump to Lbl 30 which is at line 34 of the program. From there the program moes to clear the screen and then display the heading ANNUAL RATE:, as shown in Figure 13.
Figure 13
We use the formula
r = ( (FV / PV) – 1) / t
to compute the rate. To evaluate the right side of this formula the program needs values for the FUTURE VALUE, the PRESENT VALUE, and the TIME. FIgure 13 shows that we have supplied values of 12,000 for the PRESENT VALUE, 14,250 for the FUTURE VALUE, and 4 for the time.
Figure 14
In Figure 14 we see the computed result, namely, the annual rate will be 0.046875.
Figure 15
We return to the menu. THis time we have moved the highlight down to item 4, TIME. Press the key to select that option and have the program move to Lbl 35 at line 44.
Figure 16
This is the section of the program used to determine the TIME based on the formula
t = ( (FV / PV) – 1) / r
In this case we have entered 450 as the PRESENT VALUE, 600 as the FUTURE VALUE, and .0325 as the ANNUAL RATE. Press the key to move to FIgure 17.
Figure 17
The program has done the calculations and displays the time as 10.25641026 (years).
Figure 18
We return to the menu. This time selectiong YIELD.
Figure 19
To compute the YIELD we need the Maturity value (given as 10,000), the DISCOUNT RATE (given as 0.035), and the YEARS (given as 5). All of this takes place in the program between lines 54 and 65.
Figure 20
Since the program needs to compute the SALE PRICE in order to compute the YIELD, the program gives us both values, in this case 8250 and 0.0424242424, repsectively.
Figure 21
Again, we return to the menu, this time to select EFFECTIVE RATE.
Figure 22
The program uses the formula
ER = (DR / (1 – DR*T))
at line 71 to compute the desired value. Therefore the program needs to be given values for both the DIscount rate and the TIME. THese are shown in Figure 22 as 0.04125 and 6, respectively.
Figure 23
Figure 23 shows the result of the computation, 0.0548172757.
Figure 24
Finally, to finish off the program we return to the menu and select option 7, QUIT.
Figure 25
The program jumps to Lbl 72 at line 75. It then moves to the Stop command at line 76 and the program terminates, as indicated by the Done at the bottom of the screen.

©Roger M. Palay
Saline, MI 48176
February, 2012