43 lines
776 B
Plaintext
43 lines
776 B
Plaintext
' Trabb Pardo-Knuth algorithm
|
|
PROGRAM "tpkalgorithm"
|
|
VERSION "0.0001"
|
|
|
|
IMPORT "xma"
|
|
|
|
DECLARE FUNCTION Entry ()
|
|
INTERNAL FUNCTION SINGLE F(SINGLE n)
|
|
|
|
FUNCTION Entry ()
|
|
' Used "magic numbers" because of strict specification of the algorithm.
|
|
SINGLE s[10]
|
|
SINGLE tmp, r
|
|
UBYTE i
|
|
PRINT "Enter 11 numbers."
|
|
FOR i = 0 TO 10
|
|
PRINT i + 1;
|
|
s[i] = SINGLE(INLINE$(" => "))
|
|
NEXT i
|
|
PRINT
|
|
' Reverse
|
|
FOR i = 0 TO 10 / 2
|
|
tmp = s[i]
|
|
s[i] = s[10 - i]
|
|
s[10 - i] = tmp
|
|
NEXT i
|
|
'Results
|
|
FOR i = 0 TO 10
|
|
PRINT "f("; LTRIM$(STR$(s[i])); ") =";
|
|
r = F(s[i])
|
|
IF r > 400 THEN
|
|
PRINT " overflow"
|
|
ELSE
|
|
PRINT r
|
|
END IF
|
|
NEXT i
|
|
END FUNCTION
|
|
|
|
FUNCTION SINGLE F(SINGLE n)
|
|
RETURN SQRT(ABS(n)) + 5 * n * n *n
|
|
END FUNCTION
|
|
END PROGRAM
|