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 / 7_ARRAY.ZRX < prev    next >
Text File  |  1996-08-26  |  1KB  |  48 lines

  1. /* REXX */
  2.  
  3. /* Arrays werden durch AnhÑngen eines Punktes und einem Index an den */
  4. /* Variablennamen erzeugt. Typischerweise wird die Grî·e des Arrays  */
  5. /* im Index 0 gespeichert.                                           */
  6.  
  7. /* Eine Liste mit 50 Primzahlen erzeugen */
  8.  
  9. list.0= 0
  10. z= 3
  11.  
  12. DO WHILE list.0<50 
  13.     IF \ HAT_TEILER(z) THEN DO  /* IF NOT ... THEN */
  14.         list.0= list.0+1
  15.         ind= list.0
  16.         list.ind= z
  17.     END
  18.  
  19.     z= z+2
  20. END
  21.  
  22. DO i=1 TO list.0
  23.     SAY list.i
  24. END
  25.  
  26. EXIT
  27.  
  28.  
  29. /* HAT_TEILER ist eine Funktion. Das Wort PROCEDURE wird angehÑngt, um  */
  30. /* der Funktion eine eigene Variablenumgebung zuzuteilen. Der Wertaus-  */
  31. /* tausch zum aufrufenden Programm wird durch ArgumentÅbergabe und      */
  32. /* RÅckgabewert durchgefÅhrt.                                           */
  33. HAT_TEILER: PROCEDURE 
  34.     /* Das erste (und einzige) Argument abholen */
  35.     z= ARG(1)
  36.     result= 0
  37.  
  38.     DO i=2 TO z-1
  39.         IF (z//i)=0 THEN DO
  40.             /* Schleife verlassen, wenn i ein Teiler von z ist */
  41.             result= 1
  42.             LEAVE i
  43.         END 
  44.     END
  45.  
  46.     RETURN result
  47.  
  48.