home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 January
/
CHIPCD1_98.iso
/
software
/
tipsy
/
zoc
/
install.fil
/
SCRIPT
/
RXSAMPLE
/
TUTORIAL
/
6_SUBR.ZRX
< prev
next >
Wrap
Text File
|
1996-08-26
|
1KB
|
46 lines
/* REXX */
/* This program lets the user enter a value. It is done in a sub- */
/* routine with global variable space that modifies the variables */
/* of the calling program part. Then another subroutine checks if */
/* the value can be divided by any other number. */
CALL ENTERIT
IF HAS_DIVIDERS(number)=0 THEN DO
SAY number||" is a prime number!"
END
ELSE DO
SAY number||" is not a prime number!"
END
EXIT
/* Below is a subroutine. It has access to the varibale pool of the */
/* calling program. Of course, this could be done in a more elegant */
/* way. */
ENTERIT:
SAY "Please enter a number (up to 1000)"
PULL number
RETURN
/* Below is a function. The word PROCEDURE was added, to give it a */
/* local variable pool. Exchange of data with the calling program is */
/* done through argument passing and result return mechanism. */
HAS_DIVIDERS: PROCEDURE
/* Pick up first (and only) argument */
z= ARG(1)
result= 0
DO i=2 TO z-1
IF (z//i)=0 THEN DO
/* leave loop if i is a divider of z */
result= 1
LEAVE i
END
END
RETURN result