Page 21-14
As additional programming exercises, and to try the keystroke sequences
listed above, we present herein three programs for creating or manipulating
lists. The program names and listings are as follows:
LISC
:
«
→
n x
«
1 n FOR j x NEXT n
LIST
»
»
CRLST
:
«
→
st en df
«
st en FOR j j df STEP en st - df / FLOOR 1 +
→
LIST
»
»
CLIST
:
«
REVLIST DUP DUP SIZE 'n' STO
Σ
LIST SWAP TAIL DUP SIZE 1 - 1
SWAP FOR j DUP
Σ
LIST SWAP TAIL NEXT 1 GET n
LIST REVLIST 'n'
PURGE
»
The operation of these programs is as follows:
(1)
LISC
: creates a list of n elements all equals to a constant c.
Operation
: enter n, enter c, press
@LISC
Example
: 5
`
6.5
`
@LISC
creates the list: {6.5 6.5 6.5 6.5 6.5}
(2)
CRLST
: creates a list of numbers from n
1
to n
2
with increment
∆
n, i.e.,
{n
1
, n
1
+
∆
n, n1+2
⋅∆
n, … n
1
+N
⋅∆
n }, where N=floor((n
2
-n
1
)/
∆
n)+1.
Operation
: enter n
1
, enter n
2
, enter
∆
n, press
@CRLST
Example
: .5
`
3.5
`
.5
`
@CRLST
produces: {0.5 1 1.5 2 2.5 3 3.5}
(3)
CLIST
: creates a list with cumulative sums of the elements, i.e., if the
original list is {x
1
x
2
x
3
… x
N
}, then CLIST creates the list:
}
,...,
,
,
{
1
3
2
1
2
1
1
∑
=
+
+
+
N
i
i
x
x
x
x
x
x
x
Operation
: place the original list in level 1, press
@CLIST
.
Example
: {1 2 3 4 5}
`
@CLIST
produces {1 3 6 10 15}.