5 COMMON x() 10 CLS 20 PRINT " STATISTICAL ECOLOGY: A PRIMER ON METHODS AND COMPUTING" 30 PRINT 40 PRINT " I N T E R A C T I V E B A S I C P R O G R A M " 50 PRINT 60 PRINT " P Q V . B A S " 70 PRINT 80 PRINT " -----------------------------------------------------------" 90 PRINT " THIS PROGRAM COMPUTES A SPATIAL PATTERN ANALYSIS by the " 100 PRINT " ALL POSSIBLE PAIRED-QUARDATS VARIANCE (PQV) Method " 110 PRINT " (see Ludwig & Goodall. 1978. Vegetatio 38:49-59) " 115 PRINT " -----------------------------------------------------------" 120 PRINT " Based on CONTIGUOUS QUADRAT DATA from a BELT TRANSECT" 130 PRINT " -----------------------------------------------------------" 140 PRINT 150 PRINT "Press ANY KEY to Continue" 160 IF INKEY$ = "" THEN 160 170 CLS 180 PRINT "- - - - - - - - - PART I. DATA ENTRY - - - - - - - - - - -": PRINT 190 PRINT "This program uses abundance data for a species obtained from " 200 PRINT " contiguous (adjacent) quadrats (Sampling Units, SUs) along" 210 PRINT " a belt transect, assuming the belt is positioned across " 220 PRINT " a homogeneous ecological community (see Text).": PRINT 230 PRINT "These data are organized as follows: " 260 PRINT " Quadrat/SU" 270 PRINT " 1 2 3 4 5 6 7 ... N" 280 PRINT " -- -- -- -- -- -- -- --" 290 PRINT " Species 1: 1 0 3 5 2 1 4 ... 6": PRINT 300 GOSUB 570 310 CLS : PRINT "- - - PART II. COMPUTE BLOCKED-QUADRAT VARIANCES - - -" 320 PRINT 330 PRINT " S P A T I A L P A T T E R N A N A L Y S I S ": PRINT 340 PRINT : PRINT "INPUT the MAXIMUM BLOCK SIZE NUMBER to be analysed," 350 PRINT " (A number equal to about 10% of the total number (N) " 360 PRINT " is recommended -- see discussion in TEXT) " 370 INPUT M: PRINT 380 IF M < 1 OR M > (N - 1) THEN PRINT "out-of-range, try again ": GOTO 370 390 PRINT " SPACING DF VARIANCE " 400 PRINT " ------- --- -------- " 410 FOR I = 1 TO M 420 S1 = 0: S2 = 0 430 FOR J = 1 TO N 440 K = J + I 450 IF K > N THEN GOTO 490 460 X3 = x(J) - x(K) 470 S1 = S1 + ((X3 * X3) / 2) 480 NEXT J 490 D1 = N - I 500 S2 = S1 / D1 510 PRINT USING "########"; I; 520 PRINT USING "##########"; D1; 530 PRINT USING "########.#"; S2 540 NEXT I 550 INPUT "Re-run program with different BLOCK-SIZE OPTION "; AJO$ 560 IF AJO$ = "Y" OR AJO$ = "y" THEN GOTO 340 ELSE END 570 REM - - - - - SUBROUTINE FOR DATA ENTRY - - - - - 580 PRINT "Species Data INPUT options:" 590 PRINT " Option 1 - Species Data already exists in a STORED data file" 600 PRINT " Option 2 - Species Data is to be manually entered from keyboard" 610 PRINT " (and subsequently STORED, if desired)" 620 INPUT "Choose OPTION: Enter 1 or 2 "; OPT 630 IF OPT < 1 OR OPT > 2 THEN PRINT "Value out-of-range, try again ": GOTO 620 640 PRINT "INPUT the total number of CONTIGUOUS QUADRATS (SUs) SAMPLED " 650 INPUT " along the BELT TRANSECT: N ? ", N: PRINT 660 DIM x(N) 670 IF OPT = 1 THEN GOTO 850 690 PRINT "The data matrix is created one COLUMN (Quadrat or SU) at a time:" 700 PRINT " INPUT abundances for a species by quadrat (SU)": PRINT 710 FOR SU = 1 TO N 720 PRINT "Abundance in SU "; SU 730 INPUT " "; x(SU) 740 NEXT SU 750 INPUT "STORE This DATASET ON DISK ? (ENTER Y for YES / N for NO) "; A$ 760 IF A$ = "N" OR A$ = "n" THEN GOTO 920 ELSE GOTO 770 770 INPUT "Specify a name for this DATASET (e.g., PQV.DAT) "; OUTDAT$ 780 INPUT "Specify DISK drive: ENTER A, B, C, etc. "; DD$ 790 OUTDAT$ = DD$ + ":" + OUTDAT$ 800 OPEN OUTDAT$ FOR OUTPUT AS #1 810 FOR SU = 1 TO N 820 PRINT #1, x(SU); 830 NEXT SU: PRINT 840 GOTO 920 850 INPUT "Specify name of DATA File (e.g., PQV.DAT) "; DATAFIL$ 860 INPUT "Specify DISK DRIVE where located: A, B, C, etc. "; DD$ 870 FILENAM$ = DD$ + ":" + DATAFIL$ 880 OPEN "I", #1, FILENAM$ 890 FOR SU = 1 TO N 900 INPUT #1, x(SU) 910 NEXT SU: PRINT 920 INPUT "Would you like to list the DATA ? (Y for Yes / N for NO) "; A$ 930 IF A$ = "Y" OR A$ = "y" THEN GOTO 940 ELSE GOTO 1010 940 PRINT "LISTING OF THE DATA SET: ROW = species, COLUMNS = SUs" 950 PRINT " " 960 FOR SU = 1 TO N 970 PRINT x(SU); 980 NEXT SU: PRINT : PRINT 990 PRINT "PRESS ANY KEY TO CONTINUE" 1000 IF INKEY$ = "" THEN 1000 1010 CLOSE #1 1020 RETURN