26 lines
624 B
Text
26 lines
624 B
Text
PROGRAM "Sum digits of an integer"
|
|
VERSION "0.0000"
|
|
|
|
DECLARE FUNCTION Entry ()
|
|
DECLARE FUNCTION SumDigits (number, nBase)
|
|
|
|
FUNCTION Entry ()
|
|
PRINT "The sums of the digits are:"
|
|
PRINT
|
|
PRINT "1 base 10 : "; SumDigits(1, 10)
|
|
PRINT "1234 base 10 : "; SumDigits(1234, 10)
|
|
PRINT "fe base 16 : "; SumDigits(0xfe, 16)
|
|
PRINT "f0e base 16 : "; SumDigits(0xf0e, 16)
|
|
END FUNCTION
|
|
|
|
FUNCTION SumDigits (number, nBase)
|
|
IF number < 0 THEN number = -number
|
|
IF nBase < 2 THEN nBase = 2
|
|
sum = 0
|
|
DO WHILE number > 0
|
|
sum = sum + (number MOD nBase)
|
|
number = number / nBase
|
|
LOOP
|
|
RETURN sum
|
|
END FUNCTION
|
|
END PROGRAM
|