HP Forums
IF THEN Command question - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: IF THEN Command question (/thread-112.html)



IF THEN Command question - Bob Frazee - 12-15-2013 09:52 PM

From Page 531, 532 Prime User Manual
EXPORT ISPERFECT(n)
BEGIN
LOCAL d, sum;
2 ▶ d;
1 ▶ sum;
WHILE sum <= n AND d < n DO
IF irem(n,d)==0 THEN
sum+d ▶ sum;
END;
d+1 ▶ d;
END;
RETURN sum==n;
END;
The following program displays all the perfect numbers up
to 1000:
EXPORT PERFECTNUMS()
BEGIN
LOCAL k;
FOR k FROM 2 TO 1000 DO
IF ISPERFECT(k) THEN
MSGBOX(k+" is perfect, press OK");
END;
END;
END;

In the above bolded text, how is the test being performed? In HP50 RPL, it would be tested against a value in level 1 of the stack, but this appears to be an algebraic test. Thanks
rcf


RE: IF THEN Command question - eried - 12-15-2013 10:48 PM

If <returning result from things here is not 0> then ...


RE: IF THEN Command question - patrice - 12-15-2013 11:04 PM

Prime use
0 as False
non 0 as True
So IF Myfunc(n) THEN ... END; is like
IF Myfunc(n) <> 0 THEN ... END;


RE: IF THEN Command question - Bob Frazee - 12-16-2013 12:22 AM

Thanks Eried and Patrice. That answered my question.
rcf