Compucolor.org – Virtual Media

Listing of file='FINANC.BAS;01' on disk='vmedia/chip_75-sector.ccvf'

10 REM  E.S.DONN 3/6/79
20 PLOT 12,3,23,1
30 DIM P(20),V(20),C(50)
100 PRINT "$$$ FINANCE $$$"
110 PRINT :PRINT "  THIS PROGRAM IS IN THREE PARTS:"
120 PRINT :PRINT TAB( 8)"PRICE/VOLUME ANALYZES PRICING."
130 PRINT TAB( 8)"CASH FLOW ANALYZES INVESTMENT AND SALES."
140 PRINT TAB( 8)"RETURN ON INVESTMENT ANALYZES CASH FLOW."
145 GOSUB 1700
150 PRINT :PRINT TAB( 8)"TYPE P FOR PRICE/VOLUME"
160 PRINT TAB( 8)"     C     CASH FLOW"
170 PRINT TAB( 8)"     R     RETURN ON INVESTMENT"
175 PRINT TAB( 8)"     I     INSTRUCTIONS"
180 PRINT :INPUT XX$
182 IF XX$= "P"THEN 200
184 IF XX$= "C"THEN 600
186 IF XX$= "R"THEN 1000
187 IF XX$= "I"THEN 2000
190 GOTO 180
200 CLEAR :PLOT 12,3,25,2
210 PRINT "PRICE/VOLUME":PRINT :PRINT :PRINT
250 INPUT "ENTER MANUFACTURING COST, OVERHEAD: ";M,OH
255 IF OH< 1THEN 265
260 PRINT "0 < OVERHEAD < 1":GOTO 250
265 N= 0
267 GOSUB 1700
270 PRINT :PRINT "ENTER PRICE, VOLUME:":PRINT
275 DEF FN P(I)= INT (100* V(I)* (P(I)* (1- OH)- M)+ .5)/ 100
277 MP= 0:MV= 0:MF= 0:LP= 1E9
280 FOR I= 0TO 20
290 INPUT P$,V$
300 IF P$= "*"THEN 340
310 P(I)= VAL (P$):V(I)= VAL (V$)
315 IF P(I)> MPTHEN MP= P(I)
317 IF P(I)< LPTHEN LP= P(I)
320 IF V(I)> MVTHEN MV= V(I)
325 IF FN P(I)> MFTHEN MF= FN P(I)
330 NEXT I
340 N= I- 1
345 PLOT 12,3,0,4
350 PRINT "PRICE";TAB( 6)"VOLUME";TAB( 15);"PROFIT"
360 FOR I= 0TO N
370 PRINT P(I);TAB( 5)"";V(I);TAB( 14)"";FN P(I);""
380 NEXT I
390 PLOT 29,18,2,120,15,242,50,15,50,115,255
395 PLOT 29,22,2,50,115,242
400 FOR I= 0TO N
405 X= 50- 70/ (MP- LP)* LP+ 70/ (MP- LP)* P(I)
410 Y= 15+ 100/ MV* V(I)
415 PLOT X,Y,X,Y+ 2,X,Y- 2,X,Y:NEXT :PLOT 255
420 PLOT 29,19,2,50,15+ 100/ MF* FN P(0),242
425 FOR I= 0TO N
430 X= 50- 70/ (MP- LP)* LP+ 70/ (MP- LP)* P(I)
435 Y= 15+ 100/ MF* FN P(I)
440 PLOT X,Y,X,Y+ 2,X,Y- 2,X,Y
445 NEXT :PLOT 255
450 PLOT 3,0,31:INPUT Z
455 PRINT "TYPE 1 FOR PRICE/VOLUME"
456 PRINT "     2     CASH FLOW"
457 PRINT "     3     ROI"
460 PRINT :INPUT Z
465 ON ZGOTO 200,600,1000
600 CLEAR :PLOT 12,3,26,0
605 PRINT "CASH FLOW"
610 N= 0:F2= 1
615 PRINT :PRINT "ENTER SELL PRICE, MANUFACTURING COST, OVERHEAD: "
620 INPUT " ?";P,M,OH
625 GOSUB 1700:PRINT
630 PRINT TAB( 10)"YEAR";TAB( 18);"INVEST";TAB( 28)"SALES";
635 PRINT TAB( 40);"CASH FLOW":PRINT
640 FOR B= 0TO 20
650 PRINT TAB( 10)B+ 1;TAB( 19);
660 IF F= 1THEN PRINT TAB( 29);:GOTO 720
670 INPUT "";I1$:PRINT "";TAB( 29);:PLOT 28
680 IF I1$< > "*"THEN 690
685 F= 1:GOTO 720
690 C(B)= - VAL (I1$)
720 INPUT "";V$:PRINT "";TAB( 41);:PLOT 28
723 IF V$= "*"THEN 800
725 V= VAL (V$)
727 N= N+ 1
730 C(B)= C(B)+ V* (P* (1- OH)- M)
740 IF C(B)> 0THEN 770
750 T0= T0- C(B)
760 GOTO 780
770 T1= T1+ C(B)
780 PRINT "";INT (100* C(B))/ 100;""
790 NEXT B
800 N= N- 1
810 PRINT :GOSUB 1400
820 CLEAR :GOTO 450
1000 REM  ROI
1010 CLEAR :PLOT 12,3,21,0
1020 PRINT "RETURN ON INVESTMENT"
1022 PRINT :PRINT "  THIS PROGRAM CALCULATES RETURN ON INVESTMENT"
1024 PRINT "FROM CASH FLOW."
1026 PRINT :PRINT "  ENTER AN INVESTMENT AS NEGATIVE AND A "
1028 PRINT "RETURN AS POSTIVE."
1030 PRINT :PRINT "  FOR EXAMPLE: -10,2,5,5,5,2,*"
1032 GOSUB 1700
1040 PRINT :PRINT :GOTO 1195
1192 PLOT 12,3,0,3
1195 PRINT "ENTER CASH FLOW":PRINT
1200 FOR A= 0TO 50
1210 INPUT C$
1220 IF C$= "*"THEN 1280
1230 C(A)= VAL (C$)
1240 IF C(A)> 0THEN 1260
1250 T0= T0- C(A):GOTO 1270
1260 T1= T1+ C(A)
1265 IF T0< > 0THEN 1270
1266 PRINT "INVESTMENT MUST BE NEGATIVE"
1267 T1= T1- C(A):GOTO 1210
1270 NEXT A
1280 N= A- 1
1300 GOSUB 1400
1310 PLOT 3,0,31
1320 INPUT "TYPE 1 TO CONTINUE ";Z
1330 IF Z= 1THEN 1192
1340 CLEAR :GOTO 450
1399 REM  ROI ALGORITHM
1400 X0= T1- T0
1410 R0= 0:X1= 0
1420 R1= (T1/ T0- 1)/ N
1430 FOR J= 1TO 100
1440 FOR I= 0TO N
1450 X1= X1+ C(I)* (1+ R1)^ - I
1460 NEXT I
1465 IF X0= X1THEN X0= X0+ 1E- 3
1470 R2= R1- X1* (R0- R1)/ (X0- X1)
1473 IF X1/ T1< 1E- 5THEN 1600
1475 IF R2< 0THEN R2= .5* R1
1477 IF R2> T1/ T0THEN R2= 2* R1
1480 X0= X1:R0= R1:R1= R2:X1= 0
1530 NEXT J
1600 GOTO 1900
1700 PRINT :PRINT "  TYPE * TO TERMINATE LISTS."
1710 RETURN
1900 PRINT :PRINT "ROI";TAB( 20);
1902 PRINT "";INT (1E4* R2+ .5)/ 100;" %"
1905 PRINT "PAYBACK";TAB( 20);
1907 PRINT "";INT (100* T0/ T1* N+ .5)/ 100;" YEARS"
1909 IF F2= 0THEN 1925
1910 PRINT "BREAKEVEN";TAB( 20);
1912 PRINT "";INT (T0/ (P* (1- OH)- M)+ .5);" UNITS"
1915 PRINT "PROFIT MARGIN";TAB( 20);
1917 PRINT "";INT (1E4* ((P* (1- OH)- M)/ P)+ .5)/ 100;" %"
1920 PRINT "MANUFACTURING COST";TAB( 20);
1922 PRINT ""INT (1E4* M/ P+ .5)/ 100;" %"
1925 PRINT "INVESTMENT";TAB( 20);
1927 PRINT " $";INT (T0+ .5);""
1930 PRINT "RETURN";TAB( 20);
1932 PRINT " $";INT (T1+ .5);""
1950 RETURN :REM  END ROI ALGORITHM
2000 PLOT 12,3,25,0
2002 PRINT "INSTRUCTIONS"
2004 PRINT :PRINT "  PRICE/VOLUME SHOWS THE AFFECT OF PRICE ON VOLUME."
2006 PRINT "THE VOLUME IS RELATIVE. USE SOMETHING CONVENIENT,"
2010 PRINT "LIKE 100, FOR THE LOWEST PRICE.  THEN RAISE THE"
2020 PRINT "PRICE AND ESTIMATE THE RESULTING VOLUME. THE "
2030 PRINT "PROGRAM WILL CALCULATE AND PLOT PROFIT."
2040 PRINT "  CASH FLOW IS USED AFTER CHOOSING A PRICE. ENTER"
2050 PRINT "THE INVESTMENT AND SANES FOR EACH YEAR.  TERMINATE"
2060 PRINT "THE INVESTMENT COLUMN ONCE IT IS ZERO WITH *."
2070 PRINT "AT THE END OF THE SALES PROFILE THE PROGRAM WILL"
2080 PRINT "CALCULATE CASH FLOW, RETURN ON INVESTMENT, ETC."
2090 PRINT "  RETURN ON INVESTMENT IS USED IF CASH FLOW IS ALREADY KNOWN."
3000 GOTO 450