home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / ins_msb / 9008 / testarry.bas < prev    next >
BASIC Source File  |  1990-07-11  |  1KB  |  57 lines

  1. '----------------------------------------------------------------
  2. 'Test lookups from an array to compare to string tables
  3. '----------------------------------------------------------------
  4.  
  5. DECLARE FUNCTION RandomSymbol$ ()
  6.  
  7.     DIM A$(1000)
  8.     RANDOMIZE
  9.  
  10.     PRINT "Testing array initialize and lookup"
  11.  
  12.     A1! = TIMER
  13.     FOR I = 1 TO 1000
  14. Q:    A$(I) = RandomSymbol$
  15.       FOR J = 1 TO I - 1'Test for duplicates
  16.         IF A$(I) = A$(J) THEN GOTO Q:
  17.       NEXT J
  18.       LOCATE 1, 50: PRINT USING "#### \        \"; I; A$(I);
  19.     NEXT I
  20.     A2! = TIMER
  21.     PRINT A2! - A1!
  22.  
  23.     FOR I = 1 TO 1000
  24.       Test$ = A$(1000)
  25.       FOR J = 1 TO 1000
  26.          IF A$(J) = Test$ THEN
  27.            EXIT FOR
  28.          END IF
  29.       NEXT J
  30.     NEXT I
  31.  
  32.     A3! = TIMER
  33.     PRINT A3! - A2!
  34.  
  35.     END
  36.  
  37. DEFINT A-Z
  38. '----------------------------------------------------------------
  39. 'Create a random symbol that can be looked up
  40. '----------------------------------------------------------------
  41. FUNCTION RandomSymbol$
  42.  
  43.   R$ = ""
  44.  
  45.   FOR I = 1 TO INT(6 * RND + 5)
  46.  
  47. L1: C% = INT(26 * RND + 65)   'A to Z
  48.     IF C% = ASC("\") THEN GOTO L1:
  49.     R$ = R$ + CHR$(C%)
  50.  
  51.   NEXT I
  52.  
  53.   RandomSymbol$ = R$
  54.  
  55. END FUNCTION
  56.  
  57.