1  REM NIK2 COMPUTER PROGRAM TO ACCOMPANY NIKOLL ELECTRONICS (B)
2  REM  CASE1, 36790 REV A,2/74,NIK2, PART 3 OF 5
3  REM THE DATA STATEMENTS ARE ORGANIZED AS FOLLOWS:
4  REM STATEMENT      1ST VAR. , 2ND VAR. , 3RD VAR. , 4TH VAR.
5  REM NUMBER
6  REM --------------------------------------------------------
7  REM     6000  DATA COMP.MIN., COMP.MAX., MFGR.COST, PRICE
8  REM                OPTION1    OPTION1    OPTION1    OPTION1
9  REM      .     .     .          .          .          .
10  REM     .     .     .          .          .          .
11  REM     .     .     .          .          .          .
12  REM    6060  DATA COMP.MIN., COMP.MAX., MFGR.COST, PRICE
13  REM               OPTION7    OPTION7    OPTION7    OPTION7
14  REM    6100  DATA ADDITL. COST OUTCOME1, INTANG.COST OUTCOME1
15  REM     .     .            .                      .
16  REM     .     .            .                      .
17  REM     .     .            .                      .
18  REM    6190  DATA ADDITL. COST OUTCOME10, INTANG. COST OUTCOME10
19  REM    6200  DATA  COMP. ADVANTAGE MIN., COMP.ADVANTAGE MAX
20  REM    6300  DATA  NUMBER OF ITERATIONS IN THE SIMULATION
21  REM    6400  DATA  INTER-OPTION CORRELATION (MUST BE 0 OR 1 )
100  GOSUB 8000
110  DIM V$[56],W$[30],Z$[72]
120  PRINT "ACTION CODE:1=RESTORE,2=PRINT DATA,3=RUN,4=CHANGE,5=STOP"
130  GOSUB 290
140  PRINT 
142  PRINT "ACTION ";
150  INPUT Z2
160  GOTO Z2 OF 170,200,230,260,280
170  RESTORE 
180  GOSUB 290
190  GOTO 140
200  GOSUB 720
210  GOSUB 381
220  GOTO 140
230  GOSUB 720
240  GOSUB 1010
250  GOTO 140
260  GOSUB 4000
270  GOTO 140
280  GOTO 9999
290  FOR O1=1 TO 7
300  READ A[O1],B[O1],M[O1],P[O1]
310  NEXT O1
320  FOR K=1 TO 10
330  READ C[K],I[K]
340  NEXT K
350  READ Y1,Y2
360  READ N0
370  READ I1
371  IF I1=0 THEN 380
372  IF I1=1 THEN 380
373  PRINT "INTER-OPTION CORRELATION IS NOT EQUAL TO 0 OR 1 IN"
374  PRINT "DATA STATEMENT 6400"
375  PRINT "PLEASE RETYPE CORRECTED DATA STATEMENT AND THEN RUN"
376  GOTO 9999
380  RETURN 
381  PRINT 
390  PRINT "CURRENT INPUT DATA"
400  PRINT "=================="
410  PRINT 
420  PRINT "               (DOLLARS PER SET)"
430  PRINT "==============================================="
440  PRINT "OPTION  BANDS   COMPETITION BIDS  MANUFG  PRICE"
450  PRINT "                MINIMUM  MAXIMUM   COST"
460  PRINT "====== ======== =======  =======  ======  ====="
470  FOR O1=1 TO 7
480  PRINT  USING 490;O1,V$[1+8*(O1-1),8*O1],A[O1],B[O1],M[O1],P[O1]
490  IMAGE 4D,3X,8A,3X,4D,5X,3(4D,4X)
500  NEXT O1
510  PRINT 
512  PRINT "OUTCOME TABLE ";
514  INPUT Z$
516  IF Z$[1,1]="N" THEN 660
520  PRINT "                    ($ THOUSANDS)"
530  PRINT "================================================================"
540  PRINT "OUTCOME OPTIONS MANUFG ADDITL TANGIB REVNUE PROFIT ";
550  PRINT "INTANG  NET"
560  PRINT "         WE GET  COST   COST   COST                ";
570  PRINT " COST BENEFIT"
580  PRINT "======= ======= ====== ====== ====== ====== ====== ====== ======"
590  FOR K=1 TO 10
600  K1=1+3*(K-1)
610  K2=3*K
620  U=L[K]+C[K]
630  PRINT  USING 640;K,W$[K1,K2],L[K],C[K],U,Q[K],T[K],I[K],N[K]
640  IMAGE 5D,5X,3A,4X,7(4D,3X)
650  NEXT K
660  PRINT 
670  PRINT "COMPETITIVE ADVANTAGE(MIN,MAX) :";Y1;Y2
680  PRINT 
690  PRINT "INTER-OPTION CORRELATION";I1
700  PRINT 
705  PRINT "NUMBER OF ITERATIONS ";N0
706  PRINT 
710  RETURN 
720  L[1]=M[1]
730  L[2]=0
740  L[3]=M[2]
750  L[4]=M[3]
760  L[5]=M[3]+M[4]
770  L[6]=M[5]
780  L[7]=M[3]+M[5]
790  L[8]=M[4]
800  L[9]=M[6]
810  L[10]=M[7]
820  Q[1]=P[1]
830  Q[2]=0
840  Q[3]=P[2]
850  Q[4]=P[3]
860  Q[5]=P[3]+P[4]
870  Q[6]=P[5]
880  Q[7]=P[3]+P[5]
890  Q[8]=P[4]
900  Q[9]=P[6]
910  Q[10]=P[7]
920  L1=1
930  FOR K=1 TO 10
940  Q[K]=Q[K]*.114
950  L[K]=L[K]*.114
960  T[K]=Q[K]-L[K]-C[K]
970  N[K]=T[K]-I[K]
980  Z[K]=0
990  NEXT K
1000  RETURN 
1010  FOR N1=1 TO N0
1020  IF I1=0 THEN 1060
1030  GOSUB 5000
1040  X1=H1
1050  Y=((Y1+Y2)*.5+(Y2-Y1)*.25*H2)/100
1060  FOR O1=1 TO 7
1070  IF I1=1 THEN 1110
1080  GOSUB 5000
1090  X1=H1
1100  Y=((Y1+Y2)*.5+(Y2-Y1)*.25*H2)/100
1110  X[O1]=(A[O1]+B[O1])*.5+(B[O1]-A[O1])*.25*X1
1120  X[O1]=X[O1]*(1+Y)
1130  NEXT O1
1140  A1=P[1] MIN X[1]
1150  B1=(P[2]+X[3]) MIN (P[3]+X[2])
1160  C1=(P[3]+P[4]+X[5]) MIN (P[5]+X[3]+X[4])
1170  D1=(P[3]+P[5]+X[4]) MIN (P[4]+X[3]+X[5])
1180  E1=(P[6]+X[7]) MIN (P[7]+X[6])
1190  V=(((A1 MIN B1) MIN C1) MIN D1) MIN E1
1200  K=0
1210  IF V=P[1] THEN 1420
1220  IF V=X[1] THEN 1410
1230  IF V=P[2]+X[3] THEN 1400
1240  IF V=P[3]+X[2] THEN 1390
1250  IF V=P[3]+P[4]+X[5] THEN 1380
1260  IF V=P[5]+X[3]+X[4] THEN 1370
1270  IF V=P[3]+P[5]+X[4] THEN 1360
1280  IF V=P[4]+X[3]+X[5] THEN 1350
1290  IF V=P[6]+X[7] THEN 1340
1300  IF V=P[7]+X[6] THEN 1330
1310  PRINT "ERROR"
1320  GOTO 9999
1330  K=K+1
1340  K=K+1
1350  K=K+1
1360  K=K+1
1370  K=K+1
1380  K=K+1
1390  K=K+1
1400  K=K+1
1410  K=K+1
1420  K=K+1
1430  Z[K]=Z[K]+1
1440  NEXT N1
1450  FOR K=1 TO 10
1460  Z[K]=Z[K]/N0
1470  NEXT K
1600  Q1=Q2=0
1610  FOR K=1 TO 10
1620  Q1=Q1+Z[K]*T[K]
1630  Q2=Q2+Z[K]*I[K]
1640  NEXT K
1650  PRINT 
1660  PRINT "EXPECTED PROFIT:";Q1
1670  PRINT "EXPECTED INTANG:";-Q2
1680  PRINT "EXP. NET BENEF.:";Q1-Q2
1690  PRINT 
1700  PRINT "WANT PROBABILITIES";
1710  INPUT Z$
1720  IF Z$[1,1]="N" THEN 1800
1730  PRINT 
1740  PRINT "OUTCOME PROBABILITY"
1750  PRINT "======= ==========="
1760  FOR K=1 TO 10
1770  PRINT  USING 1780;K,Z[K]
1780  IMAGE 5D,7X,1D.3D
1790  NEXT K
1800  RETURN 
4000  PRINT "CHANGE CODE:0=NO MORE,1=PRICE,2=COMP.BID,3=OP.CORR.,4=#ITERAT."
4010  PRINT 
4020  PRINT "CHANGE ";
4030  INPUT Z2
4040  GOTO Z2 OF 4100,4200,4300,4400
4050  RETURN 
4100  PRINT "INPUT OPTION #,NEW PRICE ";
4120  INPUT O1,P[O1]
4130  GOTO 4020
4200  PRINT "INPUT OPTION #,MIN,MAX ";
4210  INPUT O1,A[O1],B[O1]
4220  GOTO 4020
4300  PRINT "INPUT CORRELATION CHOICE ";
4310  INPUT I1
4312  IF I1=0 THEN 4020
4313  IF I1=1 THEN 4020
4314  PRINT "INTER-OPTION CORRELATION MUST BE 0 OR 1"
4315  GOTO 4300
4320  GOTO 4020
4400  PRINT "INPUT # OF ITERATIONS ";
4410  INPUT N0
4420  GOTO 4020
4990  REM INDEPENDENT NORMAL (0,1) RANDOM NUMBER SUBROUTINE
5000  J1=RND(0)
5010  J2=RND(0)
5020  P9=2*3.14159
5030  H1=SQR(-2*LOG(J1))*COS(P9*J2)
5040  H2=SQR(-2*LOG(J1))*SIN(P9*J2)
5050  RETURN 
6000  DATA 6700,9400,6700,7610
6010  DATA 5800,8200,5500,6490
6020  DATA 900,1500,1200,1460
6030  DATA 3800,4700,2700,3920
6040  DATA 2700,3100,2800,2830
6050  DATA 4700,5800,3700,4830
6060  DATA 2300,2900,3000,4000
6100  DATA 126,0
6110  DATA 0,200
6120  DATA 115,0
6130  DATA 21,200
6140  DATA 70,50
6150  DATA 74,150
6160  DATA 91,200
6170  DATA 60,50
6180  DATA 94,0
6190  DATA 50,180
6200  DATA 0,0
6300  DATA 100
6400  DATA 1
8000  W$[1,30]="1     2  3  3+45  3+54  6  7  "
8010  V$[1,32]="ABCDEFGHABCDEFG........HABC....."
8020  V$[33,56]="...DEFG.ABCDE........FGH"
8030  RETURN 
9999  END 
