(11C) Finding biggest of 3 integers
10-20-2018, 05:41 AM (This post was last modified: 10-20-2018 07:34 AM by Gamo.)
Post: #1
 Gamo Senior Member Posts: 605 Joined: Dec 2016
(11C) Finding biggest of 3 integers
Program to find the biggest number of 3 integers.

Procedure: f [USER]

n1 [ENTER] n2 [ENTER] n3 [E]

Example:

1, 3 and 2

1 [ENTER] 3 [ENTER] 2 [E] display 3

Biggest number is 3

---------------------------------------

14, 10 and 8

14 [ENTER] 10 [ENTER] 8 [E] display 14

--------------------------------------

-4, -3 and -6

4 [CHS] [ENTER] 3 [CHS] [ENTER] 6 [CHS] [E] display -3

-------------------------------------

FIX 4

0.9987, 0.9990 and 0.9989

,9987 [ENTER] ,9990 [ENTER] ,9989 [E] display 0.9990

Program: Finding biggest of 3 integers
Code:
 LBL E STO 1 Rv STO 2 Rv STO3 ------------------------------------------ RCL 2 RCL 1 X>Y GTO 2 RCL 3 RCL 2 X>Y GTO 1 RCL 3 RTN ------------------------------ LBL 1 RCL 2 RTN ------------------------------- LBL 2 RCL 3 RCL 1 X>Y GTO 3 RCL 3 RTN ------------------------------ LBL 3 RCL 1 RTN

Gamo
10-20-2018, 10:48 AM (This post was last modified: 10-20-2018 11:12 AM by Dieter.)
Post: #2
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: (11C) Finding biggest of 3 numbers
(10-20-2018 05:41 AM)Gamo Wrote:  Program to find the biggest number of 3 integers.

Of any three numbers, not only integers.

Gamo, do you remember the following sequence?

With two numbers in X and Y, X≤Y? X<>Y checks if X is the smaller of the two. If it is, both are swapped.
So this sequence always returns the larger number in X and the smaller one in Y.

Likewise, X>Y? X<>Y returns the smaller number in X and the larger one in Y.

Now assume there are three different numbers in X, Y and Z.
X>Y? X<>Y will put the larger one in Y and the smaller one in X.

Roll down the stack one level to compare this larger number with the third one.
X≤Y? X<>Y will put the largest of all three in X.

So the program simply is:

Code:
01 LBL A 02 X>Y? 03 X<>Y 04 R↓ 05 X≤Y? 06 X<>Y 07 RTN

Or on the 12C and others without an X>Y? test:

Code:
01 X≤Y? 02 X<>Y 03 X<>Y 04 R↓ 05 X≤Y? 06 X<>Y 07 GTO 00

You can easily extend this example. This is what we get:

Return the largest of two numbers:
Code:
01 LBL A 02 X≤Y?  03 X<>Y 04 RTN

Return the largest of three numbers:
Code:
01 LBL A 02 X>Y? 03 X<>Y 04 R↓ 05 X≤Y? 06 X<>Y 07 RTN

Return the largest of four number:
Code:
01 LBL A 02 X>Y? 03 X<>Y 04 R↓ 05 X>Y? 06 X<>Y 07 R↓ 08 X≤Y? 09 X<>Y 10 RTN

Dieter
10-21-2018, 03:13 AM
Post: #3
 Gamo Senior Member Posts: 605 Joined: Dec 2016
RE: (11C) Finding biggest of 3 integers
Thanks Dieter