9000  REM ****EXDRSK****BUSINESS PROGRAM
9002  REM EXDRSK********VERSION #1 (7/31/69)****EXTENDED RISK ANALYSIS
9004  PRINT "*  EXTENDED RISK ANALYSIS  *"
9006  PRINT 
9008  DIM A[6,15],F[15],G[6,15],J[6,15]
9010  DIM B[8,12],C[6,15],U[8],V[8]
9012  DIM P[15],Q[15]
9014  LET A5=0
9016  LET V[5]=0
9018  LET R1=0
9020  LET R2=0
9022  LET R3=0
9024  LET R4=0
9026  LET R5=0
9028  LET R6=0
9030  LET R7=0
9032  LET R8=0
9034  LET R9=0
9036  LET R0=0
9038  LET L0=20
9040  LET W=.45
9042  LET S2=0
9044  LET X1=-5
9046  FOR I=1 TO 15
9048  IF I>6 THEN 9056
9050  FOR O=1 TO 15
9052  LET A[I,O]=0
9054  NEXT O
9056  LET P[I]=0
9058  LET Q[I]=0
9060  NEXT I
9062  IF A5>0 THEN 9192
9064  LET A1=1
9066  PRINT 
9068  PRINT 
9070  PRINT "DEFINITION OF FACTORS"
9072  PRINT 
9074  PRINT "  NUMBER         FACTOR"
9076  PRINT "    1       INVESTMENT"
9078  PRINT "    2       MARKET SIZE (UNITS)"
9080  PRINT "    3       SELLING PRICE PER UNIT"
9082  PRINT "    4       SHARE OF MARKET"
9084  PRINT "    5       VARIABLE COSTS ($/UNIT)"
9086  PRINT "    6       FIXED COST ($/PERIOD)"
9088  PRINT "    7       USEFUL LIFE (PERIODS)"
9090  PRINT "    8       RESIDUAL VALUE"
9092  PRINT 
9094  PRINT 
9096  MAT G=ZER
9098  MAT J=ZER
9100  PRINT 
9102  PRINT "IF PRICE, SALES AND OPERATING COSTS ARE INTERDEPENDENT"
9104  PRINT " TYPE 1; OTHERWISE, TYPE 0";
9106  INPUT L2
9108  PRINT 
9110  PRINT "DO YOU NEED INPUT INSTRUCTIONS? (Y OR N)";
9112  INPUT Z$
9114  PRINT 
9116  IF Z$="N" THEN 9136
9118  PRINT 
9120  PRINT "FOR EACH FACTOR YOU WILL BE ASKED TO GIVE 3 ESTIMATES.  THE FIRST"
9122  PRINT "IS THE VALUE WHICH YOU THINK THE FACTOR HAS ONLY ONE CHANCE IN TEN OF"
9124  PRINT "FALLING BELOW -- THAT IS, A LOW GUESS.  THE SECOND ESTIMATE SHOULD BE"
9126  PRINT "THAT WHICH YOU BELIEVE TO BE THE MOST LIKELY.  THE THIRD IS THAT"
9128  PRINT "WHICH YOU FIGURE THE FACTOR HAS ONLY ONE CHANCE IN TEN OF EXECEEDING."
9130  PRINT 
9132  PRINT "THUS THE ESTIMATES SHOULD BE TYPED:  '* FACTOR X: LOW,MOST LIKELY,HIGH'"
9134  PRINT 
9136  PRINT 
9138  PRINT "ENTER ESTIMATES FOR:"
9140  FOR I=1 TO 6
9142  PRINT "* FACTOR";I;":"
9144  FOR K=1 TO 4
9146  LET O=2*K-1
9148  LET H=3*K
9150  PRINT "    PERIOD ";O;
9152  INPUT B[I,H-2],B[I,H-1],B[I,H]
9154  LET G[I,O]=(B[I,H]-B[I,H-2])/2.56
9156  LET J[I,O]=(B[I,H-2]+B[I,H-1]+B[I,H])/3
9158  IF I=1 THEN 9166
9160  IF K=1 THEN 9166
9162  LET G[I,O-1]=(G[I,O-2]+G[I,O])/2
9164  LET J[I,O-1]=(J[I,O-2]+J[I,O])/2
9166  NEXT K
9168  NEXT I
9170  FOR I=7 TO 8
9172  PRINT 
9174  PRINT "* FACTOR";I;":";
9176  INPUT B[I,1],B[I,2],B[I,3]
9178  LET U[I]=(B[I,3]-B[I,1])/2.56
9180  LET V[I]=(B[I,1]+B[I,2]+B[I,3])/3
9182  NEXT I
9184  PRINT 
9186  PRINT "SIMULATION ITERATIONS FOLLOW.   AFTER EACH INTERNAL ITERATION"
9188  PRINT "A '-' WILL BE PRINTED.   USUALLY 20 ITERATIONS ARE NECESSARY."
9190  PRINT " PLEASE BE PATIENT!"
9192  LET B1=0
9194  FOR K=1 TO 20
9196  LET X=0
9198  FOR H=1 TO 6
9200  LET X=RND(X1)+X
9202  NEXT H
9204  LET X=X-3
9206  LET V[6]=INT(V[7]+U[7]*X+.5)
9208  IF V[6]<16 THEN 9212
9210  LET V[6]=15
9212  FOR I=1 TO V[6]
9214  FOR O=1 TO 6
9216  IF I <= 7 THEN 9222
9218  LET G[O,I]=G[O,I-1]
9220  LET J[O,I]=J[O,I-1]
9222  LET X=0
9224  FOR H=1 TO 6
9226  LET X=RND(X1)+X
9228  NEXT H
9230  LET X=X-3
9232  IF L2=0 THEN 9250
9234  IF O <> 3 THEN 9240
9236  LET Y=1-X
9238  GOTO 9250
9240  IF O <> 4 THEN 9250
9242  LET X=Y
9244  GOTO 9250
9246  IF O <> 5 THEN 9250
9248  LET X=1-Y
9250  LET C[O,I]=J[O,I]+X*G[O,I]
9252  NEXT O
9254  NEXT I
9256  FOR I=1 TO V[6]
9258  LET Q1=C[2,I]*C[4,I]
9260  LET S1=Q1*C[3,I]
9262  LET P[I]=S1-Q1*C[5,I]-C[6,I]-C[1,I]
9264  LET Q[I]=Q[I]+P[I]
9266  NEXT I
9268  LET X=0
9270  FOR I=1 TO 6
9272  LET X=RND(X1)+X
9274  NEXT I
9276  LET X=X-3
9278  LET P[V[6]]=P[V[6]]+(V[8]+U[8]*X)
9280  LET Q[V[6]]=Q[V[6]]+(V[8]+U[8]*X)
9282  GOSUB 9450
9284  IF R>W-.6 THEN 9290
9286  LET R1=R1+1
9288  GOTO 9340
9290  IF R>W-.55 THEN 9296
9292  LET R2=R2+1
9294  GOTO 9340
9296  IF R>W-.5 THEN 9302
9298  LET R3=R3+1
9300  GOTO 9340
9302  IF R>W-.45 THEN 9308
9304  LET R4=R4+1
9306  GOTO 9340
9308  IF R>W-.4 THEN 9314
9310  LET R5=R5+1
9312  GOTO 9340
9314  IF R>W-.35 THEN 9320
9316  LET R6=R6+1
9318  GOTO 9340
9320  IF R>W-.3 THEN 9326
9322  LET R7=R7+1
9324  GOTO 9340
9326  IF R>W-.25 THEN 9332
9328  LET R8=R8+1
9330  GOTO 9340
9332  IF R>W-.2 THEN 9338
9334  LET R9=R9+1
9336  GOTO 9340
9338  LET R0=R0+1
9340  LET S2=S2+R
9342  LET V[5]=V[5]+V[6]
9344  PRINT "-"
9346  FOR I=1 TO 6
9348  FOR O=1 TO V[6]
9350  LET A[I,O]=A[I,O]+C[I,O]
9352  NEXT O
9354  NEXT I
9356  NEXT K
9358  LET Z=S2/L0
9360  PRINT 
9362  PRINT "***********************************************************************"
9364  PRINT 
9366  PRINT "  AVERAGE CASH FLOWS -- ";L0;"SIMULATIONS"
9368  LET V[5]=INT(V[5]/L0+.5)
9370  LET A8=0
9372  FOR I=1 TO V[5]
9374  LET Q[I]=Q[I]/L0
9376  LET A8=A8+Q[I]
9378  IF A8>0 THEN 9382
9380  LET I8=1
9382  PRINT "PERIOD";I;Q[I]
9384  NEXT I
9386  PRINT 
9388  PRINT "EXPECTED PAYBACK PERIOD BETWEEN";I8;"AND";I8+1;"PERIODS."
9390  PRINT 
9392  PRINT "EXPECTED RATE OF RETURN ";Z
9394  PRINT 
9396  PRINT "RATE OF RETURN","     ","PROBABILITY"
9398  PRINT 
9400  PRINT W-.6,"          ",R1/L0
9402  PRINT W-.55,"          ",R2/L0
9404  PRINT W-.5,"          ",R3/L0
9406  PRINT W-.45,"          ",R4/L0
9408  PRINT W-.4,"          ",R5/L0
9410  PRINT W-.35,"          ",R6/L0
9412  PRINT W-.3,"          ",R7/L0
9414  PRINT W-.25,"          ",R8/L0
9416  PRINT W-.2,"          ",R9/L0
9418  PRINT W-.15,"          ",R0/L0
9420  PRINT 
9422  PRINT "TYPE 1 IF YOU WANT AVERAGE VALUES PRINTED FOR FACTORS 1-6; OTHERWISE 0";
9424  INPUT X1
9426  IF X1 <> 1 THEN 9444
9428  PRINT 
9430  PRINT "FACTOR","AVERAGE VALUE","PERIOD"
9432  FOR I=1 TO 6
9434  PRINT 
9436  FOR O=1 TO V[5]
9438  PRINT I,A[I,O]/L0,O
9440  NEXT O
9442  NEXT I
9444  PRINT 
9446  PRINT "***********************************************************************"
9448  STOP 
9450  LET B8=0
9452  LET W1=0
9454  FOR H=1 TO 10
9456  LET Q8=.5^H
9458  LET B8=B8+Q8
9460  LET W1=W1+1
9462  IF W1<10 THEN 9466
9464  IF B8>2 THEN 9488
9466  LET E=0
9468  FOR F1=1 TO V[6]
9470  LET E=(P[F1]*(1/((1+B8)^(F1))))+E
9472  NEXT F1
9474  IF E>0 THEN 9458
9476  LET B8=B8-Q8
9478  NEXT H
9480  IF B8=0 THEN 9484
9482  GOTO 9488
9484  LET B8=-.8
9486  GOTO 9452
9488  LET R=B8
9490  RETURN 
9999  END 
