The Museum of HP Calculators

HP Forum Archive 16

[ Return to Index | Top of Index ]

HP 17BII+ Flaw - Revisited
Message #1 Posted by Iracildo Luis dos Santos on 2 May 2006, 11:59 p.m.

Hello, A month ago, I found a flaw in the Summation Function of the HP 17 BII+. For you to understand the problem, please go to http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv015.cgi?read=90408#90408.

I found a solution for the problem. Let's see:

The following equation is for the HP 17BII: SUM = SIGMA(N:1:N:1:N) This equation works fine in the HP 17BII but it does not work in the HP 17BII+.

The following equation is for the HP 17BII+ and gives the same results as the equation above: SUM = 0xN+SIGMA(N:1:G(N):1:N) This equation works fine in the HP 17BII and HP 17BII+.

      
Re: HP 17BII+ Flaw - Revisited
Message #2 Posted by Bob Wang on 4 May 2006, 12:58 p.m.,
in response to message #1 by Iracildo Luis dos Santos

Iracildo:

Good sleuthing! I'll have to remember that work-around.

Bob

      
Re: HP 17BII+ Flaw - Revisited
Message #3 Posted by Bruce Horrocks on 5 May 2006, 4:09 p.m.,
in response to message #1 by Iracildo Luis dos Santos

Quote:
The following equation is for the HP 17BII+ and gives the same results as the equation above: SUM = 0xN+SIGMA(N:1:G(N):1:N) This equation works fine in the HP 17BII and HP 17BII+.

I can't get this to work in my 17bII+ with no other equations present: it says "Invalid Equation" and leaves the cursor on the N in G(N).

Which is probably a good thing since it is hard enough to document solver equations as it is without making them deliberately opaque.

            
Re: HP 17BII+ Flaw - Revisited
Message #4 Posted by Bob Wang on 5 May 2006, 9:00 p.m.,
in response to message #3 by Bruce Horrocks

Bruce:

Try running this equation first: SUM=N+1, that should initialize both variables.

My 17BII+ has serial number CNA418062xx.

Bob

                  
Re: HP 17BII+ Flaw - Revisited
Message #5 Posted by Bruce Horrocks on 6 May 2006, 12:15 p.m.,
in response to message #4 by Bob Wang

Nope, still no joy - same invalid equation. My serial is CN33. I'll try it in the 17BII and see if I can get it to work there.

                        
Re: HP 17BII+ Flaw - Revisited
Message #6 Posted by Bob Wang on 6 May 2006, 3:38 p.m.,
in response to message #5 by Bruce Horrocks

Bruce:

My 17BII+ Serial No: CN33301xxx did not have L() or G() functions. I had that replaced twice, finally ending up with my CNA41xx. If you call (800) HPINVENT you MAY be able to convince them to exchange yours for a newer one that does have L() and G(). I was initially told that L() and G() were unsupported functions, so my CN33xx was operating as advertised. See thread:

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv014.cgi?read=67528#67528

Bob

                              
Re: HP 17BII+ Flaw - Revisited
Message #7 Posted by Bruce Horrocks on 6 May 2006, 4:38 p.m.,
in response to message #6 by Bob Wang

Ah, that would explain it. I had forgotten that the L() and G() behaviour had changed mid-series as well as between the 17BII and the 17bII+.

Would you mind trying out another bug for me to see if that is fixed in your newer version?

Go into the FIN TVM menu and CLR DATA.
Enter N=1; PV=1500; FV=-1750
Press OTHER and set P/YR=1
Press EXIT and I%YR
It should calculate the annual interest rate (16.67% in this case). However, on mine, it doesn't. Instead it stores 1 into I%YR. Press I%YR again and it now behaves as it should and calculates the interest rate.

On the old 17BII it calculates the correct interest rate first time around i.e. you only have to press the menu button once.

                                    
Re: HP 17BII+ Flaw - Revisited
Message #8 Posted by Bob Wang on 6 May 2006, 6:24 p.m.,
in response to message #7 by Bruce Horrocks

Bruce:

Both of my 17BII+'s require two presses to calculate I%YR.

My 19B and 19BII behave properly.

Bob

                                          
Re: HP 17BII+ Flaw - Revisited
Message #9 Posted by Bruce Horrocks on 7 May 2006, 2:58 p.m.,
in response to message #8 by Bob Wang

Thanks Bob and Iracildo for confirming this. You may have spotted that this bug occurs with solver equations as well if you have one with enough variables to need more than one menu screen to display them all.

                                    
Re: HP 17BII+ Flaw - Revisited
Message #10 Posted by Iracildo Luis dos Santos on 7 May 2006, 7:38 a.m.,
in response to message #7 by Bruce Horrocks

Hello Bruce,

The serial number of my HP 17BII+ is CNA534xxxxx.

My 17BII+ required two presses to calculate I%YR.

My 17BII behave properly.

I found out the G() function of my 17BII+ does not work properly either.

Iracildo

                                          
Re: HP 17BII+ Flaw - Revisited
Message #11 Posted by Chris Dean on 7 May 2006, 2:12 p.m.,
in response to message #10 by Iracildo Luis dos Santos

Try initialising variables before using L() and G(). For example Y=0*(X+Y+Z) + 0*(L(X:2) + L(Y:3) + L(Z:4)) + G(X)*G(Y)*G(Z) should give the answer of 24. I cannot try this as I do not have a 17BII+ anymore.

                                                
Re: HP 17BII+ Flaw - Revisited
Message #12 Posted by Iracildo Luis dos Santos on 9 May 2006, 8:39 a.m.,
in response to message #11 by Chris Dean

Hello Chris Dean,

I tested your equation and the result was Y=24.

But I will do more tests to see if the criterion of initializing variables can be applied in general or in some particular cases.

I guess I used this criterion for the Summation function and it did not work.

Regards

Iracildo

                                                      
Re: HP 17BII+ Flaw - Revisited
Message #13 Posted by Chris Dean on 9 May 2006, 9:17 a.m.,
in response to message #12 by Iracildo Luis dos Santos

Iracildo

I have used the initialisation with the summation. I did use a separate equation for the initialisation though. For example run the equation Y=AA+BB to initiate the variables. Press CALC and do not enter any variables then use L(AA:expr), L(BB:expr) and G(AA), G(BB) in your summation where ever you require them.

Try this for Fibonacci Numbers

Y=A+B press CALC

S=L(C:A+B)+ 0*(L(A:G(B)) + L(B:G(C)))

Set A=1 and B=1 and successive pressing of S should show the next Fibonacci Number. series should be 1,1,2,3,5,8,13 ...............

Good luck!!!

Chris

Edited: 10 May 2006, 4:56 a.m. after one or more responses were posted

                                                            
Re: HP 17BII+ Flaw - Revisited
Message #14 Posted by Iracildo Luis dos Santos on 9 May 2006, 9:14 p.m.,
in response to message #13 by Chris Dean

Hello Chris Dean,

For sammation function, I mean the SIGMA function. I tried to initialize the variable N in the following equation

SUM = SIGMA(N:1:N:1:N). Try this equation in a HP 17BII+.

But I was not successful. I think initialization of variable does not work in this particular case. If you know another way of making this equation to work in a HP 17BII+, please let me know.

Regards

Iracildo

                                                                  
Re: HP 17BII+ Flaw - Revisited
Message #15 Posted by Chris Dean on 10 May 2006, 4:18 a.m.,
in response to message #14 by Iracildo Luis dos Santos

Iracildo

I do not have a HP-17BII+ anymore but try this:

Y=N CALC

set N = 9

SUM=SIGMA(I:1:G(N):1:I)

or try

SUM=0*(N + L(N:9)) + SIGMA(I:1:G(N):1:I)

Running either of these should give 45.

This problem has been has been discussed at length previously. You should be able to find more information in the archive.

Good luck

Chris

Edited: 10 May 2006, 4:57 a.m.

                                                                        
Re: HP 17BII+ Flaw - Revisited
Message #16 Posted by Iracildo Luis dos Santos on 10 May 2006, 7:38 a.m.,
in response to message #15 by Chris Dean

Hello Chris Dean,

This solution I know. Please, go to the beginning of this discussion.

I would like to know if there were another way of doing the thing.

Thanks a lot.

Iracildo

                                                                              
Re: HP 17BII+ Flaw - Revisited
Message #17 Posted by Chris Dean on 10 May 2006, 9:22 a.m.,
in response to message #16 by Iracildo Luis dos Santos

Iracildo

I think previous discussions of this problem have led to the conclusion that variables need to be initialised before use for the HP17BII+.

I presume that the variable within the sigma function is considered to be 'local' to that function and can be used within the function without external initialisation.

To view its value it will need to be initialised.

I must admit I do not see this as a flaw but just how functions work.

Chris

Edited: 10 May 2006, 1:08 p.m.

                                                                                    
Re: HP 17BII+ Flaw - Revisited
Message #18 Posted by Iracildo Luis dos Santos on 10 May 2006, 4:06 p.m.,
in response to message #17 by Chris Dean

Hello Chris Dean,

Maybe you are right concerning to the flaw. But I have my own reasons to consider the behaviour of the sigma function of HP 17BII+ a flaw. If it is not a flaw, we have to admit that the function sigma of the HP 17BII and HP 19BII is not correct. But this hypothesis is false because the sigma function works fine in these calculators.

The following equation runs in the HP 17BII and HP 19BII without problems.

SUM = SIGMA(N:1:N:1:N)

With the HP 17BII, the variables N and SUM appear in the menu. The same happens with the HP 19BII. Also, the functions L() and G() works fine in these calculators. But, in the HP 17BII+, the variable N does not appear in the menu and I have to do magic to get the same result I can get with the L() and G() functions with the HP 17BII and HP 19BII. Besides, in my opinion, the HP 17BII+ had to mantain compatibility with the HP 17BII and HP 19BII. Because it did not mantain compatibility, I had to re-write all programs to run in this new calculator.

In the HP-27S/19B Technical Applications Manual, HP says that the "counter variable" of the SIGMA function is a "local variable" and thus it did not appear in the menu. If this is true, the SIGMA function in the HP 17BII and HP 19BII were not implemented correctly. Of course, this is FALSE because, as I said, this function works flawlessly in these calculators. So, this USELESS RULE that says the counter variable of the SIGMA function does not appear in the menu led to the FLAW in the SIGMA function of the HP 17BII+. Happly, the HP engineering did not implemented this "technical rule" (sic!) in the HP 17BII and HP 19BII.

I think there were a flaw in the implementation of the sigma, L() and G() functions of the HP 17BII+. Otherwise, these functions would work as fine as in the other calculators it replaced.

Regards

Iracildo

                                                                                          
Re: HP 17BII+ Flaw - Revisited
Message #19 Posted by Chris Dean on 10 May 2006, 6:28 p.m.,
in response to message #18 by Iracildo Luis dos Santos

Hi Iracildo

I think you are probably right. It is interesting that L() and G() are not documented in the first edition of the HP17BII+ but do appear in the second edition according to previous discussions on the matter.

I think the best approach to your problem is now realising the limitations of the HP17BII+ to program within them. It is still a powerful calculator to work with and looks and feels quite good.

Regards

Chris


[ Return to Index | Top of Index ]

Go back to the main exhibit hall