Listing of file='INVEST.BAS;01' on disk='vmedia/personal_finance_vol_1-sector.ccvf'
100 TM= 256* PEEK (32941)+ PEEK (32940) 110 Z= TM+ 8:AD= 33283:GOSUB 160:TM= TM+ 1 120 X= 0:Y= 12:H= 15:W= 64:C= 1 130 Z= 28672+ 128* Y+ X+ X:AD= TM+ 126:GOSUB 160 140 Z= 128- W- W:AD= TM+ 149:GOSUB 160:POKE TM+ 129,H- 1 150 POKE TM+ 131,W* (C+ 1):POKE TM+ 143,35* (1- C):GOTO 170 160 ZZ= INT (Z/ 256):POKE AD,Z- 256* ZZ:POKE AD+ 1,ZZ:RETURN 170 REM 180 PLOT 12,27,24 190 DIM A$(10),Z$(10) 200 T9= 100:L= 12 210 DIM F(361) 220 PLOT 6,6,14,3,20,0 230 PRINT "INTERNAL RATE OF RETURN" 240 PLOT 3,20,2 250 PRINT " AND PRESENT VALUE":PLOT 15,6,2 260 C$= CHR$ (3)+ CHR$ (0)+ CHR$ (5)+ CHR$ (11) 270 D$= CHR$ (3)+ CHR$ (0)+ CHR$ (6)+ CHR$ (11) 280 E$= CHR$ (3)+ CHR$ (0)+ CHR$ (8)+ CHR$ (11) 290 F$= CHR$ (3)+ CHR$ (0)+ CHR$ (9)+ CHR$ (11) 300 G$= CHR$ (3)+ CHR$ (0)+ CHR$ (10)+ CHR$ (11) 310 REM 320 PLOT 22 330 PRINT C$;"NUMBER OF PERIODS AFTER PERIOD ZERO "; 340 GOSUB 1330 350 N= Z9+ 1 360 PRINT D$;"+ REPRESENTS A NET INFLOW, - REPRESENTS A NET OUTFLOW" 370 PRINT 380 PRINT E$;"INITIAL CASH FLOW IN PERIOD ZERO (MUST BE NEGATIVE) "; 390 GOSUB 1330 400 F(1)= Z9 410 PRINT F$;"CASH FLOW IN FIRST PERIOD";SPC( 27); 420 GOSUB 1330 430 F(2)= Z9 440 IF N< = 2THEN 590 450 PRINT G$;"ARE ALL THE OTHER FLOWS THE SAME";SPC( 14); 460 GOSUB 1370 470 A$= Z$ 480 IF LEFT$ (A$,1)= "Y"THEN 550 490 FOR I= 3TO N 500 GOSUB 1500:PRINT "PERIOD ";I- 1;SPC( 4- LEN (STR$ (I- 1)));" FLOW";SPC( 36); 510 GOSUB 1330 520 F(I)= Z9 530 NEXT I 540 GOTO 590 550 REM 560 FOR I= 3TO N 570 F(I)= F(2) 580 NEXT I 590 PLOT 14:FOR I= 4TO 26STEP 2:PLOT 3,0,I,11:NEXT :PLOT 15 600 PLOT 3,0,27,11:PRINT "SELECT NUMBER OF DESIRED CHOICE:" 610 PRINT "1 - CONTINUE 3 - COMPUTE PRESENT VALUE" 620 PRINT "2 - COMPUTE INTERNAL RATE OF RETURN 4 - END PROGRAM" 630 INPUT "YOUR CHOICE: ";A$:A= VAL (A$) 640 PLOT 14:FOR I= 4TO 30STEP 2:PLOT 3,0,I,11:NEXT :PLOT 15:PLOT 3,0,20 650 ON AGOTO 740,670,690,720 660 GOTO 600 670 GOSUB 780 680 GOTO 600 690 GOSUB 1190 700 GOTO 600 710 REM 720 PLOT 27,11,6,2,12,1 730 REM 740 PLOT 14:FOR I= 4TO 30STEP 2:PLOT 3,0,I,11:NEXT :PLOT 15 750 GOTO 310 760 PRINT "I DON'T UNDERSTAND ... TRY AGAIN " 770 GOTO 600 780 REM 790 IF F(1)< 0THEN 850 800 PRINT "THE INTERNAL RATE OF RETURN CANNOT BE CALCULATED" 810 PRINT "UNLESS THE INITIAL CASH FLOW IS AN OUTFLOW (-)" 820 PRINT "SORRY" 830 PRINT 840 RETURN 850 REM 860 R= .95 870 M= 0 880 F1= 1 890 M= M+ 1 900 S1= F(1) 910 IF M> 20AND N< 100THEN 1110 920 IF M> 40AND N> = 100THEN 1110 930 S2= 0 940 FOR I= 2TO N 950 S2= S2+ (I- 1)* F1* F(I) 960 F1= F1* R 970 S1= S1+ (F1* F(I)) 980 NEXT I 990 D= S1/ S2 1000 R= R- D 1010 IF ABS (D)> .0005THEN 880 1020 R= 100* ((1/ R)- 1) 1030 R$= STR$ (INT (R)) 1040 S$= STR$ (.000001* INT (1000000* (R- 1)+ .5)) 1050 IF LEFT$ (S$,1)= " "THEN S$= RIGHT$ (S$,LEN (S$)- 1) 1060 R$= R$+ S$ 1070 R= .01* INT (100* R+ .5) 1080 PRINT "THE INTERNAL RATE OF RETURN IS ";R$;" PERCENT" 1090 PRINT 1100 RETURN 1110 REM 1120 PRINT "NO INTERNAL RATE OF RETURN FOUND USING STANDARD" 1130 PRINT "PROCEDURES. YOU MIGHT FIND IT WITH TRIAL-AND-ERROR" 1140 PRINT "COMPUTATIONS OF PRESENT VALUES. IF YOU WANT TO TRY." 1150 PRINT "START WITH A DISCOUNT RATE OF "; 1160 PRINT 100* ((1/ R)- 1);" PERCENT" 1170 PRINT 1180 RETURN 1190 REM 1200 PRINT 1210 PRINT "DISCOUNT RATE (IN PERCENT)"; 1220 INPUT K 1230 K= .01* K 1240 P= 0 1250 K1= 1 1260 FOR I= 1TO N 1270 P= P+ F(I)/ K1 1280 K1= K1* (1+ K) 1290 NEXT I 1300 PRINT "NET PRESENT VALUE IS ";P 1310 PRINT 1320 RETURN 1330 REM 1340 Z9= 1 1350 GOSUB 1410 1360 RETURN 1370 REM 1380 Z9= 0 1390 GOSUB 1410 1400 RETURN 1410 REM 1420 GOTO 1430 1430 REM 1440 IF Z9= 1THEN 1470 1450 INPUT Z$ 1460 RETURN 1470 REM 1480 INPUT Z9 1490 RETURN 1500 L= L+ 1:IF L= 26THEN ZZ= CALL (1):L= 25 1510 GOSUB 1520:PRINT SPC( 63)"" 1520 PLOT 3,0,L:RETURN 1530 END