' Demonstration of Macro Support

REM OPT SOURCE 2 COMMENTS
DEF FN R(LO,HI) = INT(RND(1)*(HI-LO+1) + LO)
MACRO RN(LO,HI) = INT(RND(1)*(HI-LO+1) + LO)

PRINT "Random #, 1 - 6: ";FNR(1,6)
PRINT "Random #, 0 - 9: ";FNR(0,9)

MACRO MAX(A,B) = &A*-(A>=B)+B*-(B>A)
MACRO MIN(A,B) = &A*-(A<B)+B*-(B<=A)

MACRO RAND(X) = &RN(1,X)

PRINT "The greater of 11 and 99 is ";MAX(11,99)
PRINT "The greater of 33 and 10 is ";MAX(33,10)
PRINT "The greater of 2*16 and 2*8 is ";MAX(2*8,2*16)
PRINT RAND(6), RAND(100), EVAL(8+4)

CONST PI=3.1415

MACRO AREA(R)=PI*R^2

INPUT "Radius of Circle"; Radius
PRINT "The Area = "; AREA(Radius)

MACRO CONCAT(A,B)=A||B

PRINT CONCAT("JOI,NED")

CONST SQR_PI = sqr(3.14)
PRINT SQR_PI

SecsInDay = EVAL(50*60*24)

MACRO RNUM(N)=&INT(RND(1)*N+1)
PRINT RNUM(6), RNUM(6), RNUM(6)
