Here I exploit TI-60's RST function's ability to continue program execution and using the square root function as a "tester" to calculate triangle numbers.

Instructions:

1. In RUN mode (outside of LRN), store the following values:

R0 = 0

R1 = n

2. Execute the program by pressing [RST], [R/S]. The program is done when you see "Error".

3. Clear the error by pressing [CE/C].

4. Recall R0. This is your triangle number. (R1 will have -1).

TI-60 Program: Triangle Numbers

Code:

PC00 OP71: RCL

PC01 OP01: 1

PC02 OP61: STO

PC03 OP85: +

PC04 OP00: 0 // sum R1 in R0

PC05 OP75: -

PC06 OP01: 1

PC07 OP95: =

PC08 OP61: STO

PC09 OP01: 1 // store R1 -1 in R1

PC10 OP86: √ // take the square root of R1, if R1<0, the error occurs, ending the "loop"

PC11 OP22: RST // reset back to step 00

Link to blog post:

https://edspi31415.blogspot.com/2018/12/...mbers.html
(12-16-2018 03:35 AM)Eddie W. Shore Wrote: [ -> ]Here I exploit TI-60's RST function's ability to continue program execution and using the square root function as a "tester" to calculate triangle numbers.

This is essentially a "proof of concept" on how to do loops on a calculator with an extremely limited function set without tests and goto – rskey.org calls the TI-60 "almost programmable". ;-)

In real life, if you want the sum of all integers from 1 to n you'd of course use the direct formula ½n(n+1) or ½(n²+n). Less steps, direct result.

Dieter

(12-16-2018 03:35 AM)Eddie W. Shore Wrote: [ -> ]Here I exploit TI-60's RST function's ability to continue program execution

Such a pain in the rear end that the TI-56 (and presumably the TI-55III) halt execution before resetting the program counter making it impossible to program loops of any kind! Even the prehistoric TI-53 does it "right"

(12-16-2018 05:33 PM)Dieter Wrote: [ -> ]In real life, if you want the sum of all integers from 1 to n you'd of course use the direct formula ½n(n+1) or ½(n²+n). Less steps, direct result.

The

TI-60 provides an

nCr key with a bit weird usage:

Quote:The values of n and r are entered as n.rrr.

Thus we could use:

Cheers

Thomas

(12-16-2018 09:56 PM)Thomas Klemm Wrote: [ -> ] (12-16-2018 05:33 PM)Dieter Wrote: [ -> ]In real life, if you want the sum of all integers from 1 to n you'd of course use the direct formula ½n(n+1) or ½(n²+n). Less steps, direct result.

The TI-60 provides an nCr key with a bit weird usage:

Quote:The values of n and r are entered as n.rrr.

Thus we could use:

Cheers

Thomas

Using the formula saves a couple of program steps (assuming there are no pending operations before running the program):

(12-16-2018 05:33 PM)Dieter Wrote: [ -> ]This is essentially a "proof of concept" on how to do loops on a calculator with an extremely limited function set without tests and goto

We could exploit the integration key and do some calculations in a loop as a side effect.

This allows to implement a solver using fixed point iteration or Newton's method.

However you could specify only up to 99 loops.

To solve Kepler's equation:

\( M = E - e \sin E \)

We would rewrite it as a fixed point equation:

\( E = M + e \sin E \)

Using the following mapping to the data memories:

E: 3

M: 4

e: 5

We could then use this program:

Code:

`RCL 4`

+

RCL 5

×

RCL 3

sin

=

STO 3

We don't really care about the lower and upper limits of the interval so we could just use:

0 STO 1

1 STO 2

The integration would be started with:

∫dx nn R/S

The result could then be found in register 3.

Using realistic values (e.g. e = 0.0167 for the Earth) this needs only a few iterations.

Don't forget to put the calculator into the radian mode.

Cheers

Thomas