9000 REM *****IN/OUT*****BUSINESS PROGRAM 9005 REM IN/OUT**********VERSION #1 (7/31/69)*****INPUT/OUTPUT ANALYSIS 9010 REM HP CONTRIBUTED LIBRARY, 2/75 9015 PRINT "* INPUT/OUTPUT ANALYSIS *" 9020 PRINT 9025 REM THIS IS A PROGRAM FOR INPUT/OUTPUT ANALYSIS. 9030 REM 9035 REM A HYPOTHETICAL ECONOMY IS DIVIDED INTO A CERTAIN NUMBER OF 9040 REM INDUSTRIES, AND IS ANALYZED AS TO THE INTER-INDUSTRY FLOWS OF 9045 REM GOODS AND SERVICES OVER A PERIOD OF TIME. THE ANALYSIS IS 9050 REM BASED UPON THE DATA FOR A PAST PERIOD, AND CAN BE USED TO 9055 REM PREDICT FUTURE FLOWS UNDER DIFFERENT CONDITIONS OF CONSUMER DE- 9060 REM MAND. 9065 REM 9070 REM IN THIS EXAMPLE, THE ECONOMY IS DIVIDED INTO THREE INDUSTRIES. 9075 REM THE NUMBER OF INDUSTRIES, AND THEIR RESPECTIVE NAMES, CAN BE 9080 REM ALTERED BY CHANGING THE DIM-STATEMENTS AND OUTPUT ROUTINES. 9085 REM WITH THE EXCEPTION OF THESE ROUTINES, THE PROGRAM IS GENERAL, 9090 REM AND WILL ACCEPT DATA FOR ANY 'M' NUMBER OF INDUSTRIES. 9095 REM 9100 REM DATA IS READ IN THE FOLLOWING ORDER: 9105 REM THE FLOWS FROM: INDUSTRY #1 TO INDUSTRY #1 9110 REM INDUSTRY #1 TO INDUSTRY #2 9115 REM INDUSTRY #1 TO INDUSTRY #3, ETC. TO #M 9120 REM INDUSTRY #1 TO THE FINAL CONSUMER 9125 REM INDUSTRY #2 TO INDUSTRY #1 9130 REM INDUSTRY #2 TO INDUSTRY #2 9135 REM INDUSTRY #2 TO INDUSTRY #3, ETC. TO #M 9140 REM INDUSTRY #2 TO THE FINAL CONSUMER 9145 REM INDUSTRY #3 TO INDUSTRY #1, ETC. TO #M 9150 REM INDUSTRY #3 TO THE FINAL CONSUMER 9155 REM ... 9160 REM INDUSTRY #M TO THE FINAL CONSUMER 9165 REM THIS IS FOLLOWED BY A REVISED FORECAST OF CONSUMER DEMAND 9170 REM FROM INDUSTRY #1,INDUSTRY #2, INDUSTRY #3,...,INDUSTRY #M. 9175 REM 9180 REM (IN THIS EXAMPLE: INDUSTRY #1 IS AGRICULTURE 9185 REM INDUSTRY #2 IS INDUSTRY 9190 REM INDUSTRY #3 IS SERVICES 9195 REM 9200 DIM A[3,3],B[3,3],X[3,3] 9205 DIM D[50],T[50],V[50],C[50] 9210 LET I9=50 9215 LET M=3 9220 LET N=1 9225 FOR J=1 TO M 9230 LET T[J]=0 9235 FOR K=1 TO M 9240 READ A[J,K] 9245 LET T[J]=T[J]+A[J,K] 9250 NEXT K 9255 READ C[J] 9260 LET T[J]=T[J]+C[J] 9265 NEXT J 9270 FOR K=1 TO M 9275 FOR J=1 TO M 9280 LET X[J,K]=A[J,K]/T[K] 9285 NEXT J 9290 NEXT K 9295 GOSUB 9545 9300 PRINT 9305 PRINT "**********************************************************************" 9310 PRINT 9315 PRINT "INITIAL INPUT/OUTPUT TABLE:" 9320 PRINT "--------------------------" 9325 PRINT 9330 PRINT 9335 GOSUB 9680 9340 FOR G=1 TO N 9345 FOR L=1 TO M 9350 READ C[L] 9355 NEXT L 9360 FOR I=0 TO M 9365 FOR K=1 TO M 9370 IF K=I THEN 9410 9375 FOR J=1 TO M 9380 IF J <> K THEN 9395 9385 LET B[J,K]=1-X[J,K] 9390 GOTO 9400 9395 LET B[J,K]=-X[J,K] 9400 NEXT J 9405 GOTO 9425 9410 FOR J=1 TO M 9415 LET B[J,K]=C[J] 9420 NEXT J 9425 NEXT K 9430 GOSUB 9590 9432 LET J=I 9435 IF I>0 THEN 9445 9440 LET J=I9 9445 LET D[J]=D 9450 LET T[J]=D[J]/D[I9] 9455 NEXT I 9460 FOR J=1 TO M 9465 FOR K=1 TO M 9470 LET A[J,K]=X[J,K]*T[K] 9475 NEXT K 9480 NEXT J 9485 GOSUB 9545 9490 PRINT 9495 PRINT "-----------------------------------------------------------------------" 9500 PRINT 9505 PRINT "REVISED INPUT/OUTPUT TABLE NUMBER";G;":" 9510 PRINT "-----------------------------------" 9515 PRINT 9520 PRINT 9525 GOSUB 9680 9530 NEXT G 9535 GOTO 9775 9540 REM SUBROUTINE FOR SECTOR INCOME (OR VALUE ADDED) 9545 FOR K=1 TO M 9550 LET V[K]=0 9555 FOR J=1 TO M 9560 LET V[K]=V[K]+A[J,K] 9565 NEXT J 9570 LET V[K]=T[K]-V[K] 9575 NEXT K 9580 RETURN 9585 REM SUBROUTINE TO SOLVE DETERMINANT OF ANY SIZE, "M" 9590 LET D=0 9595 FOR K=1 TO M 9600 LET D[K]=1 9605 LET D[M+K]=1 9610 FOR J=1 TO M 9615 LET K1=J-1+K 9620 IF K1 <= M THEN 9630 9625 LET K1=K1-M 9630 LET D[K]=D[K]*B[J,K1] 9635 LET K2=M+K-J 9640 IF K2 <= M THEN 9650 9645 LET K2=K2-M 9650 LET D[M+K]=D[M+K]*B[K2,J] 9655 NEXT J 9660 LET D=D+D[K]-D[M+K] 9665 NEXT K 9670 RETURN 9675 REM SUBROUTINE TO PRINT I/O TABLE 9680 LET T=0 9685 FOR J=1 TO M 9690 LET T=T+C[J] 9695 NEXT J 9700 PRINT 9705 PRINT " TO SECTOR" 9710 PRINT " FROM SECTOR CONSUMERS TOTAL" 9715 PRINT " AGRICULTURE INDUSTRY SERVICES" 9720 PRINT 9725 PRINT "AGRICULTURE";TAB(18);A[1,1];TAB(31);A[1,2];TAB(42);A[1,3];TAB(52);C[1];TAB(61);T[1] 9730 PRINT "INDUSTRY";TAB(18);A[2,1];TAB(31);A[2,2];TAB(42);A[2,3];TAB(52);C[2];TAB(61);T[2] 9735 PRINT "SERVICES";TAB(18);A[3,1];TAB(31);A[3,2];TAB(42);A[3,3];TAB(52);C[3];TAB(61);T[3] 9740 PRINT 9745 PRINT "SECTOR INCOME";TAB(18);V[1];TAB(31);V[2];TAB(42);V[3];TAB(52);T 9750 PRINT 9755 PRINT " TOTAL";TAB(18);T[1];TAB(31);T[2];TAB(42);T[3];TAB(61);T[1]+T[2]+T[3] 9760 PRINT 9765 PRINT 9770 RETURN 9775 PRINT "**********************************************************************" 9900 DATA 25,12,8,75 9901 DATA 15,75,65,99 9902 DATA 10,51,88,34 9903 DATA 82,85,40 9999 END