Sunday, December 11, 2016

TI-84 Plus CE: Updated TI-84 RPN Program

TI-84 Plus CE:  Updated TI-84 RPN Program

For the original TI84RPN program, click here:

Introduction to TI84RPNS

The program TI84RPNS puts the TI-84 Plus CE into RPN (reverse polish notation) mode with arithmetic functions, power, square root, reciprocal, and π.  The program contains room for one independent memory and a four level stack that works like the classic Hewlett Packard RPN calculators. 

The program uses list 6 (L6) as the stack, with six elements:
L6(1): X stack (displayed – bottom number)
L6(2): Y stack (displayed – top number)
L6(3): Z stack
L6(4): T stack
L6(5): Independent memory stack
L6(6): (temporary memory)

What’s New:  TI84PRNS adds trigonometric, logarithmic, and additional numeric functions have been added.  Also, the [ XTθN ]/(link) key is used to switch angle modes between Degrees and Radians.  

If you need an idea how RPN works, please check this out:  http://edspi31415.blogspot.com/2011/09/rpn-basics.html


To enter numbers, this program requires you to press the [enter] key prior to entering a number on the stack.  

The following keys with the associated functions are available:

Primary Keys



[ enter ]  Enter number
[ + ] Add: Y + X
[ - ] Subtract: Y - X
[ × ] Multiplication: Y * X 
[ ÷ ] Divide: Y/X
[ ^ ]  Exponent: Y^X
[ x2 ] Square:  x^2
[ x-1 ]  Reciprocal:  1/x
[ (-) ] Switch the sign of X (multiply X by -1)
[ sto> ] Store X in independent memory
[ alpha ] Recall memory 
[ clear ] Clear X stack to 0

[ sin ]  Sine of X
[ cos ] Cosine of X
[ tan ] Tangent of X
[ log ]  Common Logarithm (base 10) of X
[ ln ] Natural Logarithm (base e) of X

Function Keys:
[ Y= ] (F1):  CIRC:  Area of the Circle, radius is on stack X
[ window ] (F2):  DIAG:  Diagonal/Polar Radius, √(X^2 + Y^2)
[ zoom ] (F3): PRCH:  Percent Change from Y to X
[ trace ] (F4): ANGL:  Angle Function, angle(Yi+X)
[ graph ] (F5): REAL:  Real portion of the complex number in X


Stack operations:
[ ( ] Swap with X and Y
[ ) ] Roll stack down, result { Y, T, Z, X }

Mode operations:
[ XTθN ] Switch to Degrees Mode

Exit TI84PRNS:
Press [ mode ]

Secondary Keys: Keys pressed after [ 2nd ] is pressed



[ 2nd ]  Cancels 2nd

[ ^ ] ( π )   Enters π to the Stack
[ x2 ] ( √ ) Square Root of X
[ sin ] (sin-1)   Arcsine of X
[ cos ] (cos-1)  Arccosine of X
[ tan ]  (tan-1)  Arctangent of X
[ log ] (10x)  Common antilog (base 10) of X
[ ln ] (ex) Exponential function (base e) of X

Function Keys:
[ Y= ] (F1):  ABS:  Absolute Value of X
[ window ] (F2):  INT:  Integer Part of X
[ zoom ] (F3): FRC:  Fractional Part of X
[ trace ] (F4): SIGN:  Sign of X
[ graph ] (F5): IMAG:  Imaginary portion of the complex number in X

Mode operations:
[ 2nd ], [ XTθN ] Switch to Radians Mode




Example:   2 + 3 + 9 = 14
Keys:
[ enter ], 2, [ enter ]
[ enter ], 3, [ enter ], [ + ], 
[ enter ], 9,  [ enter ], [ + ]

See more examples below. 




TI-84 Plus Program TI84RPNS:

Disp "TI-84+ BASIC RPNS"
Disp "DEC. 2016"
Full
a+bi
{0,0,0,0,0,0}→L6
ClrHome


Lbl 1
While 1
getKey→K
While K=0
getKey→K
Output(2,1,L6(2))
Output(3,1,L6(1))
Output(4,1,"(: SWAP, ): ROLL")
Output(5,1,"MODE: EXIT, ALPHA: RCL")
Output(6,1,"XTθN: DEG/RAD")
Output(7,1,"ENTER: ENTER NUMBER")
Output(8,1,"CIRC/DIAG/PCHG/ANGL/REAL")
End

If K=22:Then:ClrHome:Stop:End

If K=21:Then:Goto 20:End

If K=45:Then:0→L6(1):ClrHome:End
If K=55:Then:L6(2)^L6(1)→L6(6)
Goto 2:End
If K=65:Then:L6(2)/L6(1)→L6(6)
Goto 2:End
If K=75:Then:L6(2)*L6(1)→L6(6)
Goto 2:End
If K=85:Then:L6(2)-L6(1)→L6(6)
Goto 2:End
If K=95:Then:L6(2)+L6(1)→L6(6)
Goto 2:End
If K=105:Then:Goto 4:End

If K=51:Then:1/L6(1)→L6(1):ClrHome:Goto 1:End
If K=61:Then:L6(1)²→L6(1):ClrHome:Goto 1:End
If K=52:Then:sin(L6(1))→L6(1):ClrHome:Goto 1:End
If K=53:Then:cos(L6(1))→L6(1):ClrHome:Goto 1:End
If K=54:Then:tan(L6(1))→L6(1):ClrHome:Goto 1:End
If K=71:Then:log(L6(1))→L6(1):ClrHome:Goto 1:End
If K=81:Then:ln(L6(1))→L6(1):ClrHome:Goto 1:End
If K=104:Then:­L6(1)→L6(1):ClrHome:Goto 1:End

"CIRC"
If K=11:Then:L6(1)²*π→L6(1):ClrHome:Goto 1:End
"DIAG"
If K=12:Then:√(L6(1)²+L6(2)²)→L6(6)
L6(6)→L6(1):L6(3)→L6(2):L6(4)→L6(3)
ClrHome
Goto 1:End
"PCHG"
If K=13:Then:100*(L6(1)-L6(2))/L6(2)→L6(6)
L6(6)→L6(1):L6(3)→L6(2):L6(4)→L6(3)
ClrHome
Goto 1:End
"ANGL"
If K=14
Then:angle(L6(1)+L6(2)*i)→L6(6)
L6(6)→L6(1):L6(3)→L6(2):L6(4)→L6(3)
ClrHome
Goto 1:End
"REAL"
If K=15:Then:real(L6(1))→L6(1):ClrHome:Goto 1:End



If K=63:Then:Goto 5:End
If K=64:Then:Goto 6:End
If K=91:Then:L6(1)→L6(5):Goto 1:End
If K=31:Then:L6(5)→L6(6):Goto 3:End
If K=32:Then:Degree:Goto 1:End


If K=22:Then:ClrHome:Stop:End
Goto 1
Lbl 2
"TWO OPERATION"
L6(6)→L6(1):L6(3)→L6(2):L6(4)→L6(3)
ClrHome
Goto 1
Lbl 3
"RCL/INPUT"
L6(3)→L6(4):L6(2)→L6(3):L6(1)→L6(2)
L6(6)→L6(1):ClrHome
Goto 1
Lbl 4
"INPUT NUMBER"
ClrHome
Input "NUMBER:",N
N→L6(6)
Goto 3
Lbl 5
"SWAP"
L6(1)→L6(6):L6(2)→L6(1):L6(6)→L6(2)
ClrHome
Goto 1
Lbl 6
"ROLL"
L6(1)→L6(6)
L6(2)→L6(1):L6(3)→L6(2):L6(4)→L6(3)
L6(6)→L6(4)
ClrHome
Goto 1

End

Lbl 20
ClrHome
While 1
getKey→K
While K=0
getKey→K
Output(2,1,L6(2))
Output(3,1,L6(1))
Output(4,1,"2ND")
Output(8,1,"ABS /INT /FRC /SIGN/IMAG")
End

If K=21:Goto 1
"PI"
If K=55:Then:
π→L6(6)
L6(3)→L6(4):L6(2)→L6(3):L6(1)→L6(2)
L6(6)→L6(1):ClrHome
Goto 1
End

"OTHERS"
If K=32:Then:Radian:Goto 1:End
If K=61:Then:√(L6(1))→L6(1):ClrHome:Goto 1:End
If K=52:Then:sin-1(L6(1))→L6(1):ClrHome:Goto 1:End
If K=53:Then:cos-1(L6(1))→L6(1):ClrHome:Goto 1:End
If K=54:Then:tan-1(L6(1))→L6(1):ClrHome:Goto 1:End
If K=71:Then:10^(L6(1))→L6(1):ClrHome:Goto 1:End
If K=81:Then:e^(L6(1))→L6(1):ClrHome:Goto 1:End

"ABS "
If K=11:Then:abs(L6(1))→L6(1):ClrHome:Goto 1:End
"INT "
If K=12:Then:iPart(L6(1))→L6(1):ClrHome:Goto 1:End
"FRC "
If K=13:Then:fPart(L6(1))→L6(1):ClrHome:Goto 1:End
"SIGN"
If K=14:Then:abs(L6(1))/L6(1)→L6(1):ClrHome:Goto 1:End
"IMAG"
If K=15:Then:imag(L6(1))→L6(1):ClrHome:Goto 1:End

End



Remember to keep the Order of Operations in mind when running this program.

Example 1:   1/(10 – 1.5^2.5) = 0.1380391041

[ enter ], 10, [ enter ]
[ enter ], 1.5, [ enter ]
[ enter ], 2.5, [ enter ]
[ ^ ], [ - ], [ x-1 ]


Example 2:   √(6^2 + 7^2) = 9.219544457

[ enter ], 6, [ enter ], [ x2 ]
[ enter ], 7, [ enter ], [ x2 ]
[ + ], [ , ]


Example 3:  Store 1.758 in memory. (Let M = 1.758)
Calculate 10 – 1.1^M + 2M = 12.33358933

[ enter ], 1.758, [ enter ], [ sto> ]
[ enter ], 10, [ enter ]
[ enter ], 1.1, [ enter ]
[ alpha ], [ ^ ], [ - ]
[ enter ], 2, [ enter ]
[ alpha ], [ × ], [ + ]

Example 4:  (10 + (8 – 5%)) + 9% = (10 + (8 * .95)) * 1.09 = 19.184

[ enter ], 8, [ enter ]
[ enter ], .95, [ enter ], [ × ]
[ enter ], 10, [ enter ], [ + ]
[ enter ], 1.09, [ enter ], [ × ]


Example 5:  e^(1.5) = 4.48168907

[ enter ], 1.5, [ enter ]
[ 2nd ], [ ln ] (ex)

Example 6:  sin((10/√(2^2 + 2.5^2))°) = 0.0544879291

Use the DIAG function for √(2^2 + 2.5^2)

[ XTθN ] (set Degrees mode)
[ enter ], 2, [ enter ]
[ enter ], 2.5, [ enter ]
[ window ] (F2)
[ x-1 ], [ enter ], 10, [ enter ]
[ * ], [ sin ]


Example 7:  What is the percent change from 10.99 to 20.99?  90.99181074 (%)

[ enter ], 10.99, [ enter ]
[ enter ], 20.99, [ enter ]
[ zoom ] (F3)

This blog is property of Edward Shore, 2016