Showing posts with label RETURN. Show all posts
Showing posts with label RETURN. Show all posts

Monday, July 3, 2017

Programming Languages: TI-85 vs. TI-84 CE Plus

Programming Languages:  TI-85 vs. TI-84 CE Plus

I purchased a 1995 edition of the TI-85 at a Pasadena City College swap meet.  The TI-85 was my go-to and favorite calculator through high school (1991 – 1995). 

Today, I am going to compare common programming commands between two of my favorite Texas Instrument calculators, the TI-85 and the current TI-84 CE Plus.  The manuals for each calculator were consulted to answer questions.

Arguments in vector brackets [ ] means the argument is optional.

Command
TI-85 (1992 – 1997)
(probably also applies to the TI-86)
Software Version 10.0
TI-84 CE Plus (2016-)
(most of the this applies to TI-84 Plus 2004-present)
Software Version 5.2.2
Variable Names
Up to 8 characters, must begin with a number, no spaces.
All variables are global.
Single letters A through Z, n, θ
All variables are global.
Complex Number display, Rectangular
(X, Y)
X + Yi
Complex Number display, Polar
(R ∠ θ)
R e^θi
Graphing Modes
Function, Polar, Parametric, Differential Equation
Function, Polar, Parametric, Recurring Sequences
Number of Colors
0 (monochrome display)
15: blue, red, black, magenta, green, orange, brown, navy, light blue, yellow, white, light gray, medium gray, gray, dark gray (backlit display)
**CE and C versions only
Input
Input by itself displays the graph screen

Input [“prompt string”], varname
Input by itself displays the graph screen

Input  [“prompt string”], variable
Prompt:  asking for and storing multiple values
Prompt var1, var2, var3 ,…
Prompt var1, var2, var3, …
Disp
Disp by itself displays the home screen

Disp var/string, [var/string …]
Disp by itself displays the home screen

Disp var/string, [var/string…]
Pause
Pause [var/string]
Pause [var/string], [time in seconds]
Wait
N/A
Wait time in seconds up to 100
Display the graph screen
DispG
displays the graph screen
DispGraph
displays the graph screen
Display the function table
N/A
DispTable
Output
Outpt(line, col, var/string)
8 lines, 21 columns
Output(row, col, var/string)
10 rows, 26 columns
InpSt
InpSt stores entered text or equations as strings
N/A.  Use Input
If – Then – Else structure
If condition
Then
do if true
[Else
do if false]
End
If condition
Then
do if true
[Else
do if false]
End
For structure
For(var, begin, end, [step])
commands
End
For(var, begin, end, [step])
commands
End
While structure
While condition
do while condition is true
End
While condition
do while condition is true
End
Repeat – Until structure
Repeat condition
do while condition is false
End
Repeat condition
do while condition is false
End
Menu
Menu(nn, string, label…)
Where nn is from 1 to 15
Menu(“title”, “text”, label…)
Up to 9 options
Labels (Lbl/Goto)
Label names can have up to 8 characters.  All labels are local.
A-Z, 0 -99, θ.  All labels are local.
Increment (by 1) and Skip (if greater to value)
IS>(variable, value)
IS>(variable, value)
Decrement (by 1) and Skip (if less than value)
DS<(variable, value)
DS<(variable, value)
Stop program execution
Stop
Stop
Return from a subroutine
Return
Return
Execute a subroutine
Type the name of the program
Call program by pressing [prgm], choosing it from the Program submenu during editing
Clear the graph screen
ClDrw (clear all drawings)
ClrDraw (clear all drawings)
Display text on a graph screen
N/A
TextColor(color) sets the color.
Text([-1], row, col, string)
0-164 row pixel,
0-264 column pixel
-1 is for large text
Draw a temporary function
DrawF f(x)
DrawF f(x), [color]

Draw a temporary inverse function (f^-1(x) = y, x and y are swapped)
DrInv f(x)
DrawInv f(x), [color]
Shading
Shade (lower, upper, left, right)
Shade (lower, upper, [left, right, pattern, pattern resolution, color])
Draw a line
Line(x1, y1, x2, y2)
Line(x1, y1, x2, y2, [0/1, color, line style])
0/1: 0 to erase, 1 to draw
Draw a circle
Circle(x, y, radius)
Circle(x, y, radius, [color, line style])
Draw a Point
Only the TI-84 Plus CE has similar commands for pixels
PtOn(x,y)
PtOff(x,y)
PtChg(x,y)
Pt-On(x,y, [mark, color])
Pt-Off(x,y,[mark])
Pt-Change(x,y,[color])
Convert a value to a string
N/A
eval(expression) → Str#
No complex results
Convert a string to a value
N/A
expr(string)
Convert a string to a graph variable
St>Eq(string, graph variable)
String>Equ(string, graph variable)
Length of a string
lngth string
length(string)
(call from the catalog)
Extract part of a string
sub(string, begin point, length)
sub(string, begin point, length)
(call from the catalog)
Execute Linear Regression analysis (other regressions are similar)
LinR xlist, ylist
LinReg(ax+b) xlist, ylist, [freqlist, Y= variable]
Turn a stat plot on
N/A (stat plots are not available on the TI-85)
PlotsOn [1,2,3]
Turn a stat plot off
N/A (stat plots are not available on the TI-85)
PlotsOff [1,2,3]
Turn graph functions on
FnOn [1 – 99]
FnOn [1-9, 0]
Turn graph functions off
FnOff [1 – 99]
FnOff [1-9, 0]

Notes

As we can see, the programming language of the TI-85/86 family is similar to the TI-84 Plus family, translating the programs should not be difficult.  I believe that stat plots are available on the TI-86, but not the TI-85.

Keep in mind if you have complex numbers, that the complex mode on the TI-84 Plus (a+bi or re^(θi) has to be turned on.  Furthermore, logarithmic, power, exponential, and trigonometric functions for complex numbers return error on the TI-84 Plus (substitute expressions must be used).

(use radians mode)
With z = X + Yi = R*e^(θ*i), X = real(z), Y = imag(z), R = abs(z), θ = arg(z)

z^n = R^n * (cos(n*θ) + sin(n*θ)*i), n is a real number
ln (z) = ln R + θ*i
e^(z) = e^X * cos Y + e^X * sin Y * i
sin(z) = sin X * cosh Y + cos X * sinh Y * i
cos(z) = cos X * cosh Y – sin X * sinh Y * i
sin¯¹ (z) = asin(z) = -i * ln (zi ± √ (1 – z^2)
z1 ^ z2 = e^(z2 * ln z1)

Eddie


This blog is property of Edward Shore, 2017

Thursday, October 24, 2013

HP Prime Programming Tutorial #1: LOCAL, RETURN

Over the next month, maybe month and a half, I plan to post programming tutorials for the HP (Hewlett Packard) Prime.

If you have programmed with the HP 38G, 39g, or 39gii, this language will be similar to those. The programming language for the Prime is named the HP Prime Programming Language (HPPP).

Throughout this tutorial, I am going to use the latest version of the software.

How to start writing a program:

1. Press Shift + 1 (Program).
2. Press New. It is the second touch key.
3. Enter the name of the program. Pressing the ALPHA key twice will turn on UPPERCASE ΑLPHA-LOCK. Pressing ALPHA, Shift, ALPHA will turn on lowercase alpha-lock. To exit any lock, press the ALPHA key one more time. When happy with the name, press Enter.




Rules for Program Names:

1. Letters, numbers, and the underscore character (_) only.

2. The program name must start with a letter.


Structure of a HP Prime Program

A HPPP program is encased of an EXPORT - BEGIN - END structure. The layout is generally like this:

EXPORT program_name(arguments)
BEGIN
commands and comments go here
END;


Each line containing a command generally must end with a semicolon (;). A semicolon can by type by pressing ALPHA then the Plus key ( + ).

Comments can be typed. The are designated by two forward slashes. The slashes are typed by pressing the Divide key ( ÷ ). Anything in the line following the two slashes is ignored in running the program.


SQIN

Our first program is SQIN, because "Hello World" programs are so 2000s. SQIN takes a number, squares it, then calculates the reciprocal. In short we are defining a custom function:

SQIN(x) = 1/x^2

Commands:

RETURN: returns a result to the stack (home page). You can return numbers, lists, vectors, matrices, strings, or a combination of these times.
Access: Tmplt, 1. Block, 2. RETURN

All the program code in this tutorial series will be shown in Courier font.

EXPORT SQIN(X)
BEGIN
RETURN 1/X^2;
END;



Tip: You can check the syntax of the program just by pressing the Check soft key in the program editor. HP Prime will inform you if there is a syntax error and attempt to point you to the error. If there are no syntax errors, the Prime states "No errors in the program". I use the Check command all the time.


How to run the programs:

Home Mode - Textbook Entry,
Home Mode - Algebraic Entry,
CAS Mode:


Type the program name. Follow the name with parenthesis and enclose the required arguments.

Or use the Toolbox (top row of white keys, 2nd key from the left, it looks like a tool box), select the User touch key, select the program, and input the required arguments.

Home Mode - RPN Entry:

Enter each argument, separate each entry by pressing the Enter key. Type the name, and in the parenthesis state the number of arguments.

For example, if the program TEST has four arguments, the RPN stack would like this:

4: argument_1
3: argument_2
2: argument_3
1: argument_4
TEST(4) to run the program.


Examples to try with SQIN:

SQIN(5) returns .04
SQIN(36) returns .000771604938


The next program will demonstrate the concept of local variables.


MOPMT

LOCAL: Declares any variables to be local to the program. In other words, the variables are created, used, possibly displayed during program execution, and deleted at program termination.
Access: Tmplt, 4. Variable, 1. LOCAL


Tip: You can declare local variables and assign an initial value at the same time. For example: LOCAL K:=1; stores 1 in K and makes K a local variable.


MOPMT calculates the monthly payment of a loan. The arguments are: the loan amount (L), the interest rate (R), and the number of months (M).

EXPORT MOPMT(L,R,M)
BEGIN
LOCAL K:=R/1200;
K:=L*K/(1-(1+K)^-M);
RETURN "Payment ="+K;
END;



Tip: Use RETURN, TEXTOUT_P, and PRINT to return custom strings, which combine results, messages, and calculations. Parts are connected with a plus sign.


Examples:
MOPMT(4000, 9.5, 30) returns 150.317437565
MOPMT(370000, 3.5, 360) returns 1661.46534383

Try this and next time in the series I will highlight other things we can do with HPPP. Thanks!

Eddie

This blog is property of Edward Shore. 2013 









HP 67 Collection: October 2026

HP 67 Collection: Oct ober 2026 All examples are done in FIX 4. (DSP 4) Earth's Gravity at a Specific Latitude The true ea...