#B .J NEW 1 REM FINANCIAL CALCULATIONS 2 REM Converted from the public domain IBM program 3 REM by Phil Wheeler, 12/88. 4 REM Not responsible for accuracy of algorithms implemented 5 *NAME FINANCE 10 BL$=CHR$(1)+"B":UL$=CHR$(1)+"U":IN$=CHR$(1)+"R" 15 CLS:PRINT BL$"Z88 FINANCIAL COMPUTATIONS -- SELECT ONE OF THE FOLLOWING OPTIONS:"BL$ 70 PRINT" 1) Compound Interest 7) Monthly Loan Payment" 80 PRINT" 2) Years of Interest 8) Loan Balance" 90 PRINT" 3) Interest Rate 9) Number of Payments - Savings" 100 PRINT" 4) Future Value A) Loan Amount" 110 PRINT" 5) Required Payment B) Sinking Fund" 120 PRINT" 6) Number of Payments - Loan C) END" 130 FOR I=1 TO 10:NEXT 140 Y$=GET$ 150 IF Y$="A" THEN C=10:GOTO 210 160 IF Y$="B" THEN C=11:GOTO 210 170 IF Y$="C" THEN C=12:GOTO 210 180 C=VAL(Y$) 190 IF C<1 OR C>12 THEN GOTO 140 210 CLS 220 ON C GOTO 230,340,460,570,670,760,860,960,1120,1220,1320,1420 230 REM: COMPOUND INTEREST 240 CLS 250 PRINT TAB(5)BL$"COMPOUND INTEREST CALCULATIONS"BL$ 260 INPUT" ENTER Amount to be compounded ";A$:A=VAL(A$) 270 INPUT" ENTER interest rate (%) ";I:I=I/100 280 INPUT" ENTER number of years money is compounded ";T$:T=VAL(T$) 290 INPUT" ENTER number of compound periods per year ";TY$:TY=VAL(TY$) 300 V=A*(1+I/TY)^(TY*T) 310 PRINTBL$" $";INT(V*100+.5)/100;BL$ 320 GOSUB 1430 330 GOTO 10 340 REM: YEARS OF INTEREST 350 CLS 360 PRINTTAB(12)BL$"YEARS OF INTEREST"BL$ 370 INPUT" ENTER Amount to be compounded ";A$:A=VAL(A$) 380 INPUT" ENTER Interest rate (%)";I:I=I/100 390 INPUT" ENTER Final desired amount ";V$:V=VAL(V$) 400 INPUT" ENTER Number of compound periods per year ";TY$:TY=VAL(TY$) 410 T=LOG(V/A)/((LOG(1+I/TY))*TY) 420 PRINTBL$" Compounded ";TY;" times per year, will require the money to be" 430 PRINT" deposited for ";INT(T*10+.5)/10;" years"BL$ 440 GOSUB 1430 450 GOTO 10 460 REM: INTEREST RATE 470 CLS 480 PRINT TAB(7)BL$"INTEREST RATE CALCULATIONS "BL$ 490 INPUT" ENTER Amount to be compounded";A$:A=VAL(A$) 500 INPUT" ENTER Final amount ";V$:V=VAL(V$) 510 INPUT" ENTER Number of years money is compounded ";T$:T=VAL(T$) 520 INPUT" ENTER Number of compound periods per year ";TY$:TY=VAL(TY$) 530 I=((V/A)^(1/(TY*T))-1)*TY 540 PRINTBL$" Rate of return is ";INT(I*1000+.5)/10;" percent per year"BL$ 550 GOSUB 1430 560 GOTO 10 570 REM: FUTURE VALUE 580 CLS 590 PRINT TAB(14)BL$"FUTURE VALUE"BL$ 600 INPUT" ENTER Amount of monthly deposit ";A$:A=VAL(A$) 610 INPUT" ENTER Interest rate (%) ";I:I=I/1200 620 INPUT" ENTER Number of years ";T$:T=VAL(T$)*12 630 FV=A/I*((1+I)^(T+1)-(1+I)) 640 PRINTBL$" $";INT(FV*100+.5)/100;BL$ 650 GOSUB 1430 660 GOTO 10 670 REM: REQUIRED PAYMENT 680 PRINTTAB(12)BL$"REQUIRED PAYMENT"BL$ 690 INPUT" ENTER Final desired amount ";FV$:FV=VAL(FV$) 700 INPUT" ENTER Interest rate (%) ";I:I=I/1200 710 INPUT" ENTER Number of years ";T$:T=VAL(T$)*12 720 A=(FV*I)/((1+I)^(T+1)-(1+I)) 730 PRINTBL$" $";INT(A*100+.5)/100;" monthly payments"BL$ 740 GOSUB 1430 750 GOTO 10 760 REM: NUMBER OF PAYMENTS-SAVINGS 770 CLS 780 PRINT TAB(6)BL$"NUMBER OF PAYMENTS - LOAN"BL$ 790 INPUT" ENTER Amount to be financed ";P$:P=VAL(P$) 800 INPUT" ENTER Interest rate (%) ";I$:I=VAL(I$)/1200 810 INPUT" ENTER Amount of affordable monthly payment ";A$:A=VAL(A$) 820 N=LOG(A/(A-P*I))/LOG(1+I) 830 PRINTBL$" ";INT(N+.5);" monthly payments"BL$ 840 GOSUB 1430 850 GOTO 10 860 REM: MONTHLY LOAN PAYMENT 870 CLS 880 PRINT TAB(10)BL$"MONTHLY LOAN PAYMENT "BL$ 890 INPUT" ENTER Amount to be financed ";P$:P=VAL(P$) 900 INPUT" ENTER Interest rate (%) ";I:I=I/100 910 INPUT" ENTER Number of years of financing ";N$:N=VAL(N$)*12 920 A=P*(I/12)/(1-(1+(I/12))^-N) 930 PRINTBL$" Monthly payment is $";INT(A*100+.5)/100;BL$ 940 GOSUB 1430 950 GOTO 10 960 REM: LOAN BALANCE 970 CLS 980 PRINT TAB(8)BL$"LOAN BALANCE CALCULATIONS"BL$ 990 INPUT" ENTER Amount to be financed ";P$:P=VAL(P$) 1000 INPUT" ENTER Interest rate (%) ";I$:I=VAL(I$)/1200 1010 INPUT" ENTER Monthly payment ";A$:A=VAL(A$) 1020 INPUT" ENTER Beginning payment number ";X$:X=VAL(X$) 1030 INPUT" ENTER Ending payment number ";Y$:Y=VAL(Y$) 1040 B=1/((I+1)^-Y)*((A*(((1+I)^-Y)-1))/I+P) 1060 PRINTBL$" Balance after pmt ";Y;" = $"INT(B*100+.5)/100; 1070 AI=B-(1/((I+1)^-(X-1))*((A*(((1+I)^-(X-1))-1))/I+P))+(Y-X+1)*A 1090 PRINT" Accum int after pmt ";Y;" = $";INT(AI*100+.5)/100;BL$ 1100 GOSUB 1430 1110 GOTO 10 1120 REM: NUMBER OF PAYMENTS-LOAN 1130 CLS 1140 PRINT TAB(7)BL$"NUMBER OF PAYMENTS - SAVINGS"BL$ 1150 INPUT" ENTER Amount of monthly deposit ";A$:A=VAL(A$) 1160 INPUT" ENTER Interest rate (%) ";I:I=I/1200 1170 INPUT" ENTER Final amount ";V$:V=VAL(V$) 1180 N=(LOG(V*I/A+1+I)/(LOG(1+I))-1) 1190 PRINTBL$" $";V;" will require deposits of $";A;" for ";INT(N);" months"BL$ 1200 GOSUB 1430 1210 GOTO 10 1220 REM: LOAN AMOUNT 1230 CLS 1240 PRINT TAB(8)BL$"LOAN AMOUNT CALCULATIONS "BL$ 1250 INPUT" ENTER Number of payments desired ";N$:N=VAL(N$) 1260 INPUT" ENTER Interest rate (%) ";I:I=I/1200 1270 INPUT" ENTER Amount of monthly payment ";A$:A=VAL(A$) 1280 P=A*(1-(1+I)^-N)/I 1290 PRINTBL$" You can (theoretically!) afford to borrow $";INT(P*100+.5)/100;BL$ 1300 GOSUB 1430 1310 GOTO 10 1320 REM: SINKING FUND 1330 CLS 1340 PRINT TAB(8)BL$"SINKING FUND CALCULATIONS"BL$ 1350 INPUT" ENTER Amount to be accumulated ";P 1360 INPUT" ENTER Interest rate (%) ";I:I=I/100 1370 INPUT" ENTER Number of years of accumulation ";N$:N=VAL(N$) 1380 A=P*I/(((1+I)^N)-1) 1390 PRINTBL$" Yearly deposit is $";INT(A*100+.5)/100;BL$ 1400 GOSUB 1430 1410 GOTO 10 1420 END 1430 PRINT " PRESS ANY KEY TO CONTINUE"; 1440 Y$=GET$:RETURN