DECLARE SUB Pager () REM REM GE Copeland REM Old Dominion University REM Dept of Physics REM Norfolk VA REM updated for windows REM 4/2001 REM 5 PRINT CHR$(12); 10 PRINT "PROGRAM MAY" 20 PRINT 30 PRINT " This program follows the discovery of Robert May in his study" 40 PRINT "of a species population growth as reported in James Gleick's" 50 PRINT "popular text 'CHAOS, MAKING A NEW SCIENCE.'" 60 PRINT 70 PRINT "We let X be the normalized population in any generation." 80 PRINT "We wish to predict the value of X ( 0 IEND - 100 THEN J = J + 1 1120 IF J > 0 THEN XIN(J) = XNEW 1130 IF I > IEND THEN 1150 1140 GOTO 1080 1150 REM GET READY TO CALL HISTOGRAM SORTING ROUTINE 1160 NPTS = J 1170 GOSUB 1210 1180 J = 0 1190 NEXT R 1200 PRINT " End of simulation" STOP 1210 REM PROC HISTO 1220 CALL Pager 1230 PRINT " R="; R 1240 DIM X(300), Y(300) 1250 DIM YIN(300) 1260 REM 1270 REM INPUT IS XIN WITH NPTS DATA POINTS 1280 REM FIND MAX AND MIN 1290 XMIN = 9.999999E+35 1300 XMAX = -XMIN 1310 FOR I = 1 TO NPTS 1320 IF XIN(I) > XMAX THEN XMAX = XIN(I) 1330 IF XIN(I) < XMIN THEN XMIN = XIN(I) 1340 NEXT I 1350 PRINT "MAX value "; XMAX; "& MIN value "; XMIN; 1360 1370 REM "Input the bin size?" 1380 REM INPUT BIN 1390 NBIN = 18 1400 BIN = 1! / 18! 1410 PRINT '# bins =';NBIN 1420 REM Now we start the sort and fill the bins 1430 FOR I = 1 TO NBIN + 2 1440 X(I) = (I - 1) * BIN 1450 Y(I) = 0 1460 NEXT I 1470 FOR I = 1 TO NBIN + 1 1480 FOR J = 1 TO NPTS 1490 IF XIN(J) >= X(I) AND XIN(J) < X(I + 1) THEN Y(I) = Y(I) + 1 1500 NEXT J 1510 NEXT I 1520 FOR I = 1 TO NBIN + 1 1530 PRINT USING " ###.### "; X(I); Y(I) 1540 NEXT I 1550 RETURN 1620 END SUB Pager PRINT "Push RETURN to CONTINUE, S to STOP"; INPUT Q$ IF Q$ = "S" THEN STOP PRINT CHR$(12); END SUB