#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" 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; 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