5. Contents - 1
Contents
Contents ............................................................................................................................................................................................... 1
1. RPL Programming.......................................................................................................................................................................1-1
Understanding Programming .................................................................................................................................................1-1
The Contents of a Program.............................................................................................................................................1-1
Calculations in a Program................................................................................................................................................1-2
Entering and Executing Programs ........................................................................................................................................1-3
Viewing and Editing Programs ..............................................................................................................................................1-6
Creating Programs on a Computer........................................................................................................................................1-7
Using Local Variables..............................................................................................................................................................1-7
Creating Local Variables..................................................................................................................................................1-7
Evaluating Local Names..................................................................................................................................................1-9
Defining the Scope of Local Variables..........................................................................................................................1-9
Compiled Local Variables..............................................................................................................................................1-10
Creating User-Defined Functions as Programs.........................................................................................................1-10
Using Tests and Conditional Structures .............................................................................................................................1-11
Testing Conditions..........................................................................................................................................................1-11
Using Conditional Structures and Commands...........................................................................................................1-13
Using Loop Structures...........................................................................................................................................................1-17
Using Definite Loop Structures....................................................................................................................................1-17
Using Indefinite Loop Structures.................................................................................................................................1-22
Using Loop Counters.....................................................................................................................................................1-25
Using Summations Instead of Loops ..........................................................................................................................1-26
Using Flags ..............................................................................................................................................................................1-27
Types of Flags..................................................................................................................................................................1-27
Setting, Clearing, and Testing Flags.............................................................................................................................1-27
Recalling and Storing the Flag States...........................................................................................................................1-28
Using Subroutines ..................................................................................................................................................................1-29
Single-Stepping through a Program.....................................................................................................................................1-31
Trapping Errors......................................................................................................................................................................1-33
Causing and Analyzing Errors......................................................................................................................................1-33
Making an Error Trap....................................................................................................................................................1-35
Input.........................................................................................................................................................................................1-37
Data Input Commands ..................................................................................................................................................1-37
Using PROMPT, CONT for Input .............................................................................................................................1-37
Using DISP FREEZE HALT, CONT for Input......................................................................................................1-39
Using INPUT, ENTER for Input ...............................................................................................................................1-40
Using INFORM and CHOOSE for Input.................................................................................................................1-45
Beeping to Get Attention..............................................................................................................................................1-48
Stopping a Program for Keystroke Input...........................................................................................................................1-48
Using WAIT for Keystroke Input................................................................................................................................1-48
Using KEY for Keystroke Input..................................................................................................................................1-49
Output ..............................................................................................................................................................................1-49
Data Output Commands...............................................................................................................................................1-49
Labeling Output with Tags............................................................................................................................................1-50
Labeling and Displaying Output as Strings ................................................................................................................1-50
Pausing to Display Output............................................................................................................................................1-51
Using MSGBOX to Display Output...........................................................................................................................1-51
Using Menus with Programs ................................................................................................................................................1-52
Using Menus for Input...................................................................................................................................................1-52
Using Menus to Run Programs ....................................................................................................................................1-53
Turning Off the Calculator from a Program .....................................................................................................................1-55
2. RPL Programming Examples....................................................................................................................................................2-1
6. Contents - 2
Fibonacci Numbers..................................................................................................................................................................2-1
FIB1 (Fibonacci Numbers, Recursive Version)...........................................................................................................2-1
FIB2 (Fibonacci Numbers, Loop Version....................................................................................................................2-2
FIBT (Comparing Program-Execution Time).............................................................................................................2-4
Displaying a Binary Integer.....................................................................................................................................................2-5
PAD (Pad with Leading Spaces).....................................................................................................................................2-5
PRESERVE (Save and Restore Previous Status)........................................................................................................2-6
BDISP (Binary Display)...................................................................................................................................................2-7
Median of Statistics Data ......................................................................................................................................................2-10
%TILE (Percentile of a list)..........................................................................................................................................2-10
MEDIAN (Median of Statistics Data).........................................................................................................................2-11
Expanding and Collecting Completely................................................................................................................................2-13
MULTI (Multiple Execution) .......................................................................................................................................2-14
EXCO (Expand and Collect Completely) ..................................................................................................................2-15
Minimum and Maximum Array Elements..........................................................................................................................2-16
MNX (Minimum or Maximum Element—Version 1).............................................................................................2-16
MNX2 (Minimum or Maximum Element—Version 2)...........................................................................................2-18
Applying a Program to an Array..........................................................................................................................................2-20
Converting Between Number Bases ...................................................................................................................................2-22
Verifying Program Arguments.............................................................................................................................................2-24
NAMES (Check List for Exactly Two Names).........................................................................................................2-25
NAMES...................................................................................................................................................................................2-26
Converting Procedures from Algebraic to RPN...............................................................................................................2-27
Bessel Functions.....................................................................................................................................................................2-29
Animation of Successive Taylor‘s Polynomials.................................................................................................................2-31
SINTP (Converting a Plot to a Graphics Object).....................................................................................................2-31
Techniques used in SINTP ...........................................................................................................................................2-31
SETTS (Superimposing Taylor‘s polynomials)..........................................................................................................2-32
TSA (Animating Taylor‘s Polynomials).......................................................................................................................2-33
Programmatic Use of Statistics and Plotting......................................................................................................................2-34
Trace Mode .............................................................................................................................................................................2-37
Inverse-Function Solver........................................................................................................................................................2-38
Animating a Graphical Image...............................................................................................................................................2-39
3. Full Command and Function Reference..................................................................................................................................3-1
ABCUV......................................................................................................................................................................................3-5
ABS.............................................................................................................................................................................................3-5
ACK............................................................................................................................................................................................3-5
ACKALL ...................................................................................................................................................................................3-6
ACOS .........................................................................................................................................................................................3-6
ACOS2S.....................................................................................................................................................................................3-7
ACOSH......................................................................................................................................................................................3-8
ADD...........................................................................................................................................................................................3-9
ADDTMOD.............................................................................................................................................................................3-9
ADDTOREAL.......................................................................................................................................................................3-10
ALGB .......................................................................................................................................................................................3-10
ALOG ......................................................................................................................................................................................3-10
AMORT...................................................................................................................................................................................3-11
AND.........................................................................................................................................................................................3-11
ANIMATE ..............................................................................................................................................................................3-12
ANS..........................................................................................................................................................................................3-12
APPLY.....................................................................................................................................................................................3-13
ARC..........................................................................................................................................................................................3-13
ARCHIVE...............................................................................................................................................................................3-14
ARG..........................................................................................................................................................................................3-14
ARIT.........................................................................................................................................................................................3-15
ARRY→...................................................................................................................................................................................3-15