home *** CD-ROM | disk | FTP | other *** search
/ c't freeware shareware 2001 January / CT_SW0101.ISO / mac / software / kommunik / misc / zoc400wg.exe / setup.fil / script / RXSAMPLE / TUTORIAL / 6_SUBR.ZRX < prev    next >
Text File  |  1996-08-26  |  1KB  |  47 lines

  1. /* REXX */
  2.  
  3. /* Dieses Programm fragt vom Benutzer eine Zahl ab. Diese Abfrage wird  */
  4. /* in einer Prozedur durchgefÅhrt, die eine globale Variable setzt.     */
  5. /* Eine Funktion ÅberprÅft dann, ob diese Zahl durch eine andere Zahl   */
  6. /* teilbar ist.                                                         */
  7.  
  8. CALL ZAHL_EINGABE
  9.  
  10. IF HAT_TEILER(number)=0 THEN DO 
  11.     SAY number||" ist eine Primzahl!"
  12. END
  13. ELSE DO 
  14.     SAY number||" ist keine Primzahl!"
  15. END
  16.  
  17. EXIT
  18.  
  19. /* ZAHL_EINGABE ist eine Prozedur. Sie hat Zugriff auf die Variablen    */
  20. /* des aufrufenden Programms. NatÅrlich kann dies auch eleganter gelîst */
  21. /* werden                                                               */
  22. ZAHL_EINGABE:
  23.     SAY "Bitte eine Zahl (bis 1000) eingeben"
  24.     PULL number
  25.     RETURN
  26.  
  27.  
  28. /* HAT_TEILER ist eine Funktion. Das Wort PROCEDURE wird angehÑngt, um  */
  29. /* der Funktion eine eigene Variablenumgebung zuzuteilen. Der Wertaus-  */
  30. /* tausch zum aufrufenden Programm wird durch ArgumentÅbergabe und      */
  31. /* RÅckgabewert durchgefÅhrt.                                           */
  32. HAT_TEILER: PROCEDURE 
  33.     /* Das erste (und einzige) Argument abholen */
  34.     z= ARG(1)
  35.     result= 0
  36.  
  37.     DO i=2 TO z-1
  38.         IF (z//i)=0 THEN DO
  39.             /* Schleife verlassen, wenn i ein Teiler von z ist */
  40.             result= 1
  41.             LEAVE i
  42.         END 
  43.     END
  44.  
  45.     RETURN result
  46.  
  47.