Reference Guide
2-2 RPL Programming Examples
Techniques used in FIB1
IFTE (if -then-else function). The defining procedure for FIB1 contains the conditional function IFTE, which
can take its argument either from the stack or in algebraic syntax.
Recursion. The defining procedure for FIB1 is written in terms of FIB1, just as F
n
is defined in terms of F
n-1
and
F
n-2
.
FIB1 program listing
Program: Comments:
«
→ n
'IFTE(n‰1,
n,
FIB1(n-1)+FIB1(n-2))'
Defines local variable n.
The defining procedure, an
algebraic expression. If n
≤
1,
F
n
= n, else F
n
= F
n-1
+F
n-2
.
»
`O
FIB1 K
Stores the program in FIB1.
Checksum: # 14909d (press O
%FIB1%
!°
#MEM#
%BYTES%
)
Bytes: 113.5
Example:
Calculate F
6
. Calculate F
10
using algebraic syntax.
First calculate F
6
.
J
6
%FIB1%
Next, calculate F
10
using algebraic syntax.
O%FIB1%
!Ü10 N
FIB2 (Fibonacci Numbers, Loop Version
Level 1
→
Level 1
n
→
F
n
Techniques used in FIB2
IFTHENELSEEND.
FIB2 uses the program-structure form of the conditional. (FIB1 uses IFTE.)
STARTNEXT (definite loop).
To calculate F
n
, FIB2 starts with F
0
and F
1
and repeats a loop to calculate
successive values of F
i
.