Listing of file='CMPTIM.BAS;01' on disk='vmedia/statistics_3-sector.ccvf'
5 REM CMPTIM 7 REM WRITTEN BY WALTER DEGLER 5/1/79 9 REM 15 REM COMPARES A SET OF TIME SERIES AND MEASURES VARIATION 25 PLOT 27,24,12,14,6,2 75 GOSUB 2000 999 REM 1000 REM SELECT ACTION 1010 PLOT 12,14,6,1 1025 PRINT "ENTER NUMBER OF DESIRED ALTERNATIVE:" 1030 PLOT 6,2 1050 PRINT "1 - VARIATION IN EACH SERIES 1075 PRINT "2 - VARIATION BETWEEN SERIES 1100 PRINT "3 - DRAW GRAPH(S) 1110 PRINT "4 - END PROGRAM 1125 INPUT Z 1130 PLOT 15 1150 ON ZGOTO 4000,5000,6000,1500 1175 GOTO 1125 1500 LOAD "MENU;1":RUN 1999 REM 2000 REM INPUT DATA 2025 INPUT "DATA SOURCE (F-FILE OR K-KEYBOARD): ";Z$ 2050 INPUT "NUMBER OF SERIES: ";NS 2055 INPUT "DATA POINTS PER TIME PERIOD: ";TP 2060 DIM D(NS- 1,INT (1000/ (NS- 1))) 2065 PRINT :PLOT 15 2075 IF Z$= "F"THEN 2500 2080 PLOT 27,11 2100 FOR I= 0TO NS- 1 2110 PLOT 12,15,6,1 2125 PRINT "SERIES"I+ 1 2140 INPUT "NUMBER OF DATA POINTS: ";NO(I) 2150 PLOT 6,2 2175 PRINT "NUMBER OF DATA POINT, VALUE:" 2200 PLOT 6,3 2225 INPUT "#";J 2250 IF J< 1THEN PLOT 12,27,24:GOTO 2350 2275 PRINT SPC( 6);:PLOT 28 2300 INPUT "";D(I,J- 1) 2325 GOTO 2225 2350 NEXT 2375 PLOT 27,24 2400 RETURN 2500 FOR I= 0TO NS- 1 2510 PLOT 6,6 2525 PRINT "SERIES"I+ 1" FILE NAME (OR 'S' IF SAME AS LAST):" 2530 PLOT 6,1 2540 INPUT G$ 2550 IF G$= "S"THEN 2625 2575 IF I< > 0THEN FILE "C",1 2600 F$= G$:FILE "R",1,F$,6 2625 GET 1,1,5;NO(I) 2650 INPUT "TYPE NUMBER: ";T 2675 FOR J= 0TO NO(I)- 1 2700 GET 1,T,9+ 4* J;D(I,J) 2725 NEXT J,I 2750 RETURN 3999 REM 4000 REM COMPUTE VARIATION IN EACH SERIES 4010 PLOT 12,14,6,3 4020 PV= 0:NV= 0:V= 0:AV= 0:IN= 0 4025 INPUT "ENTER START AND END OF RANGE (E.G. 1,36): ";R1,R2:R2= R2- 1 4050 PLOT 12,6,6 4075 PRINT TAB( 20);"VARIATION WITHIN SERIES" 4100 PRINT :PLOT 6,1 4125 PRINT "SER. POS.VAR. NEG.VAR. VAR. ABS.VAR. INTEGRAL" 4150 PLOT 6,3 4175 FOR I= 0TO NS- 1 4200 FOR J= R1TO R2 4225 D= D(I,J)- D(I,J- 1):T= D(I,J)+ D(I,J- 1) 4250 IF D> 0THEN PV= PV+ D:GOTO 4300 4275 NV= NV- D 4300 V= V+ D 4325 AV= AV+ ABS (D) 4350 IN= IN+ .5* T 4375 NEXT J 4400 PRINT I+ 1;TAB( 5);PV;TAB( 17);NV;TAB( 29);V;TAB( 41);AV;TAB( 53);IN 4425 NEXT I 4450 GOTO 15000 4999 REM 5000 REM COMPUTE VARIATION BETWEEN SERIES 5010 PV= 0:NV= 0:V= 0:AV= 0:IN= 0 5020 PLOT 12,14,6,3 5025 INPUT "SERIES PAIR TO COMPARE (E.G. 1,3): ";S1,S2:S1= S1- 1:S2= S2- 1 5050 INPUT "START AND END OF RANGE (E.G. 12,42): ";R1,R2:R1= R1- 1:R2= R2- 1 5060 B= 0 5070 MN= NO(S1)- 1:IF NO(S2)< = MNTHEN MN= NO(S2) 5075 E= 20:IF E> MNTHEN E= MN 5100 FOR I= R1TO R2 5125 D= D(S2,I)- D(S1,I) 5150 IF D> 0THEN NV= NV+ D:GOTO 5200 5175 PV= PV- D 5200 V= V+ D 5225 AV= AV+ ABS (D) 5250 IF I> STHEN IN= IN+ D(S2,I)- D(S2,I- 1)- D(S1,I)+ D(S1,I- 1) 5275 NEXT 5300 PLOT 12,15,6,6 5350 PRINT TAB( 20);"VARIATION BETWEEN SERIES" 5360 PRINT 5375 PLOT 6,1 5400 PRINT "POS.VAR. NEG.VAR. VAR. ABS.VAR. INTEGRAL" 5425 PLOT 6,3 5450 PRINT PV;TAB( 12);NV;TAB( 25);V;TAB( 38);AV;TAB( 51);IN 5475 PRINT :PLOT 6,1 5500 PRINT " #";TAB( 6);"SERIES"S1+ 1;TAB( 26);"SERIES"S2+ 1;TAB( 44);"DIFFERENCE" 5510 PLOT 6,3 5525 MN= NO(S1)- 1:IF NO(S2)< = MNTHEN MN= NO(S2)- 1 5575 IF B> MNTHEN B= MN 5600 E= B+ 20:IF E> MNTHEN E= MN 5610 PLOT 3,0,7 5625 FOR I= BTO E 5650 PRINT I+ 1;TAB( 6);D(S1,I);TAB( 26);D(S2,I);TAB( 45);D(S1,I)- D(S2,I) 5675 NEXT 5700 PLOT 3,0,31,6,1 5725 INPUT "BEGINNING TIME (OR '0' TO RETURN): ";B 5750 IF B< 1THEN PLOT 28,11:GOTO 1000 5760 B= B- 1 5775 PLOT 6,3 5800 FOR J= 7TO 31 5825 PLOT 3,0,J,11 5850 NEXT 5875 GOTO 5575 5999 REM 6000 REM DRAW GRAPH(S) 6010 PLOT 12,14,6,6 6025 INPUT "NUMBER OF GRAPHS TO PLOT (1-4): ";N 6050 FOR I= 0TO N- 1 6075 PRINT "SERIES NUMBER"I+ 1 6100 INPUT S(I):S(I)= S(I)- 1 6125 NEXT 6150 GOSUB 10000 6175 FOR I= 0TO N- 1 6200 PLOT 6,I+ 1 6225 D= D(S(I),0) 6250 GOSUB 14000 6275 PLOT 2,18,16+ 4* YI* (D- YS)/ YD,242 6300 FOR J= 0TO NO(S(I))- 1 6325 IF J/ TP> XS+ (XN- 1)* XDTHEN 6450 6350 D= D(S(I),J) 6375 GOSUB 14000 6400 PLOT 18+ 2* XI* (J/ TP- XS)/ XD,16+ 4* YI* (D- YS)/ YD 6425 NEXT J 6450 PLOT 255 6475 NEXT I 6480 PLOT 3,0,31,6,1 6500 INPUT "PRESS 'RETURN' TO CONTINUE, 1-NEW SCALES OR 2-SAVE: ";Z$ 6525 PLOT 6,2 6550 IF Z$= "1"THEN PLOT 12:GOTO 10150 6575 IF Z$= "2"THEN 15100 6600 GOTO 1000 10000 REM DRAW GRAPHS 10010 IF RP= 1THEN 10360 10020 RP= 1 10025 PLOT 12,14 10050 INPUT "GRAPH NAME: ";G$ 10075 INPUT "TIME SCALE NAME, DEPENDENT SCALE NAME: ";X$,Y$ 10100 PLOT 6,6 10125 PRINT 10150 INPUT "TIME-SCALE (START, END DIFFERENCE): ";XS,XE,XD 10175 INPUT "DEPENDENT SCALE (START, END, DIFFERENCE): ";YS,YE,YD 10200 PLOT 12,15,6,4 10225 XN= INT ((XE- XS)/ XD)+ 1:IF XN> 8THEN XN= 8 10250 YN= INT ((YE- YS)/ YD)+ 1:IF YN> 14THEN YN= 14 10275 XI= INT (49/ (XN- 1)) 10300 YI= INT (26/ (YN- 1)) 10325 IF XI< 7THEN XI= 7 10350 IF YI< 1THEN YI= 1 10360 PLOT 12 10375 FOR I= 0TO XN- 1 10400 PLOT 2,2* (9+ I* XI),14,255 10425 NEXT 10450 FOR I= 0TO YN- 1 10475 PLOT 2,16,16+ 4* I* YI,255 10500 NEXT 10525 PLOT 6,3 10550 FOR I= 0TO XN- 1 10575 PLOT 3,8+ I* XI,29:PRINT XS+ I* XD 10600 NEXT 10625 FOR I= 0TO YN- 1 10650 LY= LEN (STR$ (YS+ I* YD)) 10675 PLOT 3,7- LY,27- I* YI:PRINT YS+ I* YD 10700 NEXT 10725 PLOT 6,4 10750 I= 2* (10+ XI* (XN- 1)) 10775 J= 17+ 4* YI* (YN- 1) 10800 PLOT 2,17,15,242,I,15,I,J,17,J,17,15,255 10825 PLOT 6,6 10850 PLOT 3,INT ((64- LEN (G$))/ 2),0:PRINT G$ 10875 PLOT 27,10 10900 PLOT 3,0,2+ INT ((26- LEN (Y$))/ 2):PRINT Y$ 10925 PLOT 27,24 10950 PLOT 3,7+ INT ((56- LEN (X$))/ 2),30:PRINT X$ 10975 PLOT 6,2 10980 RETURN 13999 REM 14000 REM CHECK VALUE OF DEPENDENT VARIABLE 14025 IF D< YSTHEN D= YS:RETURN 14050 Z= YS+ YD* (YN- 1) 14075 IF D> ZTHEN D= Z 14100 RETURN 14999 REM 15000 REM CONTINUE ROUTINE 15025 PLOT 15,3,0,31,6,1 15050 INPUT "ENTER 1-RETURN OR 2-SAVE, THEN RETURN: ";Z 15075 IF Z< > 2THEN 1000 15100 PLOT 27,4:PRINT "SAV CMPTIM.DSP 6000 1000":PLOT 27,27 15125 GOTO 1000