1 REM ******************************* 2 REM *** MONEY.BA *** 3 REM *** T. BEATTY 70235,1121 *** 4 REM *** UPLOADED 02/23/86 *** 5 REM ******************************* 10 CLS 20 GOSUB 6000 130 PRINT:PRINT "(1) FUTURE VALUE OF LUMP-SUM" 140 PRINT "(2) FUTURE VALUE OF ANNUITY" 150 PRINT "(3) MONTHLY PAYMENT/TABLE" 160 PRINT "(4) PRESENT VALUE" 165 PRINT "(9) EXIT PROGRAM":PRINT 180 PRINT"SELECT OPTION - - - "; 185 X$=INKEY$:IF X$="" THEN 185 190 IF VAL(X$)=9 THEN CLS:END 200 ON VAL(X$) GOSUB 1000,2000,3000,4000 210 CLS:GOTO 130 1000 REM FUTURE VALUE OF LUMP SUM 1010 CLS 1030 INPUT "AMOUNT INVESTED";P 1040 INPUT "INTEREST RATE";R 1050 INPUT "COMPOUNDING FACTOR (1,4,12,365)";C 1060 INPUT "NUMBER OF YEARS";N 1070 F1=P*(1+R/(100*C))^(N*C) 1090 PRINT:PRINT USING "FUTURE VALUE = $$########.##";F1 1110 GOSUB7000 1125 IF P$="Y" OR P$="y" THEN 1155ELSE1140 1140 GOSUB 5000 1150 RETURN 1155 FOR K=1 TO 3:LPRINT:NEXT K 1160 LPRINT USING"INVESTMENT = $$######.##";P 1170 LPRINT USING"INTEREST RATE = ###.## %";R 1180 LPRINT USING"COMPOUNDING FACTOR = ##";C 1190 LPRINT USING"NUMBER OF YEARS = ###";N 1200 LPRINT 1210 LPRINT USING "FUTURE VALUE = $$########.##";F1 1215 FOR K=1 TO 3:LPRINT:NEXT K 1220 GOTO 1140 2000 REM FUTURE VALUE OF ANNUITY 2040 CLS:INPUT "AMOUNT OF PERIODIC INVESTMENT";P 2050 INPUT "INTEREST RATE";R 2060 INPUT "DEPOSITS PER YEAR";F 2070 INPUT "NUMBER OF YEARS";N 2080 S1=P*((1+R/(100*F))^(N*F)-1)/(R/(100*F)) 2100 PRINT:PRINT USING "VALUE = $$########.##";S1 2120 GOSUB7000 2135 IF P$="Y" OR P$="y" THEN 2165ELSE2150 2150 GOSUB 5000 2160 RETURN 2165 FOR K=1 TO 3:LPRINT:NEXT K 2170 LPRINT USING"PERIODIC INVESTMENT = $$#####.##";P 2180 LPRINT USING"INTEREST RATE = ###.## %";R 2190 LPRINT USING"DEPOSITS PER YEAR = ##";F 2200 LPRINT USING"NUMBER OF YEARS = ###";N 2210 LPRINT 2220 LPRINT USING "VALUE = $$########.##";S1 2225 FOR K=1 TO 3:LPRINT:NEXT K 2230 GOTO 2150 3000 REM MONTHLY PAYMENTS/TABLE 3030 CLS:INPUT "AMOUNT OF LOAN";L 3040 INPUT "INTEREST RATE";R 3050 INPUT "NUMBER OF MONTHS";N 3060 P1=(L*R/1200*(1+R/1200)^N)/((1+R/1200)^N-1) 3065 P1=INT((P1+.005)*100)/100 3080 PRINT:PRINT USING"MONTHLY PAYMENT = $$#####.##";P1 3100 PRINT:PRINTTAB(8)"AMORTIZATION TABLE (Y/N)? "; 3105 P$=INKEY$:IF P$="" THEN 3105 3107 IF P$="N" OR P$="n" THEN 3150 3108 IF P$="Y" OR P$="y" THEN 3110 3109 GOTO 3105 3110 GOSUB7000 3116 IF P$="Y" OR P$="y" THEN 3180ELSE3400 3150 GOSUB 5000 3160 RETURN 3180 LPRINT TAB(23);"AMORTIZATION TABLE" 3190 LPRINT:LPRINT 3200 LPRINT USING"AMOUNT OF LOAN = $$######.##";L 3210 LPRINT USING"INTEREST RATE = ###.## %";R 3220 LPRINT USING"NUMBER OF MONTHS = ####";N 3230 LPRINT USING"MONTHLY PAYMENT = $$######.##";P1 3240 LPRINT:LPRINT 3250 LPRINT "EOM";TAB(8)"PAYMENT";TAB(20)"INTEREST";TAB(33)"PRINCIPAL";TAB(47)"BALANCE" 3255 LPRINT "---";TAB(8)"-------";TAB(20)"--------";TAB(33)"---------";TAB(47)"-------":LPRINT 3260 L1=L:R1=R/1200:T1=0 3270 FOR K=1 TO N 3280 I=R1*L1 3290 IF K=N THEN P1=L1+I 3300 P2=P1-I 3310 L1=L1-P2 3320 T1=T1+P1 3330 LPRINT K;:LPRINT TAB(6) USING "######.##";P1;:LPRINT TAB(18) USING "#######.##";I;:LPRINT TAB(31) USING "########.##";P2;:LPRINT TAB(45) USING "######.##";L1 3340 NEXT K 3350 LPRINT 3360 LPRINT USING "TOTAL PAYMENTS = $$########.##";T1 3370 LPRINT CHR$(11) 3380 GOSUB5000 3390 RETURN 3400 CLS 3410 PRINT USING"AMOUNT OF LOAN = $$#######.##";L 3420 PRINT USING"INTEREST RATE = ###.## %";R 3430 PRINT USING"NUMBER OF MONTHS = ####";N 3440 PRINT USING"MONTHLY PAYMENT = $$#####.##";P1 3450 PRINT 3460 PRINT "EOM";TAB(5)"PAYMENT";TAB(15)"INT";TAB(22)"PRIN";TAB(31)"BALANCE" 3465 PRINT "---";TAB(5)"-------";TAB(15)"---";TAB(22)"----";TAB(31)"-------":PRINT 3470 L1=L:R1=R/1200:T1=0 3480 FOR K= 1 TO N 3490 I=R1*L1 3500 IF K=N THEN P1=L1+I 3510 P2=P1-I 3520 L1=L1-P2 3530 T1=T1+P1 3540 PRINT K;:PRINT TAB(5) USING "####.##";P1;:PRINT TAB(13) USING "####.##";I;:PRINT TAB(21) USING "####.##";P2;:PRINT TAB(30) USING "#######.##";L1 3550 NEXT K 3570 PRINT:PRINT USING "TOTAL PAYMENTS = $$########.##";T1 3580 PRINT:PRINTTAB(5)"PRESS [SPACE BAR] TO CONTINUE."; 3585 A$=INKEY$:IFA$=""THEN3585 3586 IFA$<>CHR$(32)THEN3585 3590 RETURN 4000 REM PRESENT VALUE 4030 CLS:INPUT "DESIRED LUMP SUM";S 4040 INPUT "INTEREST RATE";R 4050 INPUT "COMPOUNDING FACTOR (1,4,12,365)";C 4060 INPUT "NUMBER OF YEARS";N 4070 V1=S/(1+R/(100*C))^(N*C) 4090 PRINT:PRINT USING "PRESENT VALUE = $$########.##";V1 4110 GOSUB7000 4125 IF P$="Y" OR P$="y" THEN 4155ELSE4140 4140 GOSUB 5000 4150 RETURN 4155 FOR K=1 TO 3:LPRINT:NEXT K 4160 LPRINT USING"LUMP SUM = $$######.##";S 4170 LPRINT USING"INTEREST RATE = ###.## %";R 4180 LPRINT USING"COMPOUNDING FACTOR = ###";C 4190 LPRINT USING"NUMBER OF YEARS = ###";N 4200 LPRINT 4210 LPRINT USING "PRESENT VALUE = $$########.##";V1 4215 FOR K=1 TO 3:LPRINT:NEXT K 4220 GOTO 4140 5000 CLS:PRINT:PRINT:PRINT TAB(5)"PRESS [SPACE BAR] FOR OPTIONS." 5010 A$=INKEY$:IF A$="" THEN 5010 5020 IF A$<>CHR$(32) THEN 5010 5030 RETURN 6000 REM ***** INSTRUCTIONS 6005 H$="FINANCIAL ANALYSIS" 6007 PRINT:PRINT TAB(11);H$:PRINT:PRINT:PRINT 6010 PRINT " DO YOU NEED INSTRUCTIONS (Y/N)?"; 6020 GOSUB7020 6040 IF P$="Y" OR P$="y" THEN 6060ELSECLS:RETURN 6060 CLS 6070 PRINT"(1) DO NOT USE COMMAS." 6080 PRINT"(2) USE XX.XX FORMAT FOR INTEREST RATE." 6090 PRINT"(3) PRINTED COPIES GO TO LINE PRINTER." 6095 PRINT"(4) COMPOUND FACTORS ARE ANNUALLY," 6097 PRINT" QUARTERLY, MONTHLY, OR DAILY." 6100 PRINT"(5) WILL ABORT MOST ENTRIES." 6105 PRINT:PRINTTAB(5)"PRESS [SPACE BAR] TO CONTINUE.";:GOSUB7200 6107 CLS:GOTO130 6110 GOSUB 5000 6120 CLS:RETURN 7000 REM NEED PRINTED COPY 7010 PRINT:PRINTTAB(8)"NEED PRINTED COPY (Y/N)?"; 7020 P$=INKEY$:IFP$=""THEN7020 7030 IFP$<>"Y"ANDP$<>"y"ANDP$<>"N"ANDP$<>"n"THEN7020 7040 RETURN 7200 P$=INKEY$:IFP$=""THEN7200 7210 IFP$<>CHR$(32)THEN7200 7220 RETURN