| This is a very simple one.
Mitch
00010 open "MORT.dat" for output as #1
00100 PRINT "ENTER MORTGAGE PRINCIPAL"
00200 INPUT P
00300 PRINT "ENTER THE INTEREST RATE PERCENTAGE"
00400 INPUT I
00450 I = I/100
00500 PRINT "ENTER LIFE OF MORTGAGE IN YEARS"
00600 INPUT L
00700 P1=P*(I/12)/(1-(1/(1+(I/12))**(L*12)))
00800 P1=INT(P1*100+0.5)/100
0900 PRINT "Results are in MORT.DAT"
01000 PRINT #1, "Principal borrowed ="; P
01010 print #1, "Interest rate =";I*100; " %"
01020 print #1, "Duration of Mortgage=";l;" years"
01030 print #1,
01035 PRINT #1,
01040 PRINT #1, "PERIOD","PAYMENT","INTEREST","PRIN. RED.","PRIN BAL"
01045 PRINT #1,
01049 print #1, "------------------------------------------------------------------"
01050 print #1,
1100 for m=1 to L*12
01200 P2=P*I/12
01300 P2=INT(P2*100+0.5)/100
01400 P3= P1-P2
01500 P=INT((P-P3)*100+0.5)/100
1600 print #1,m,p1,p2,p3,p
01700 NEXT M
01710 print p1
01750 close #1
01800 END
|
| 10 REM FINANCIAL CALCULATIONS V1.0
20 REM CONVERTED FROM THE PUBLIC DOMAIN
30 REM BY PAUL MACDONALD 01/27/85
50 PRINT"FINANCIAL COMPUTATIONS"
60 PRINT"----------------------"
70 PRINT"SELECT ONE OF THE FOLLOWING OPTIONS:"
80 PRINT"------------------------------------"
90 FOR I=1 TO 500
91 NEXT I
100 PRINT" "
110 PRINT"1) COMPOUND INT 7) MON LOAN PYMNT"
120 PRINT"2) YRS OF INT 8) LOAN BAL"
130 PRINT"3) INT RATE 9) # OF SAV PYMNTS"
140 PRINT"4) FUT VALUE A) LOAN AMT"
150 PRINT"5) REQ PAYMENT B) SINKING FUND"
160 PRINT"6) # OF LOAN PYMNTS C) END"\PRINT""
170 FOR I=1 TO 10
171 NEXT I
180 INPUT Y$
190 IF Y$="A" OR Y$="a" THEN C=10\GOTO 250
200 IF Y$="B" OR Y$="b" THEN C=11\GOTO 250
210 IF Y$="C" OR Y$="c" THEN C=12\GOTO 250
220 C=VAL(Y$)
230 IF C<1 OR C>12 THEN 180
240 PRINT CLS$
250
260 ON C GOTO 270,380,510,620,720,810,910,1010,1170,1280,1390,1490
270 REM\ COMPOUND INTEREST
280
290 PRINT"COMPOUND INTEREST CALCULATIONS"\PRINT
300 INPUT" AMOUNT TO BE COMPOUNDED ";A$\A=VAL(A$)
310 INPUT" INTEREST RATE ";I\I=I/100
320 INPUT" NUMBER OF YEARS COMPOUNDED ";T$\T=VAL(T$)
330 INPUT" NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
340 V=A*(1+I/TY)^(TY*T)
350 PRINT INT(V*100+.5)/100\PRINT
360 PRINT"PRESS ANY KEY TO CONTINUE"
365 INPUT Y$\REM IF Y$="" THEN 365
370 GOTO 50
380 REM\ YEARS OF INTEREST
390
400 PRINT"YEARS OF INTEREST"\PRINT
410 INPUT" AMOUNT TO BE COMPOUNDED ";A$\A=VAL(A$)
420 INPUT" INTEREST RATE ";I\I=I/100
430 INPUT" FINAL DESIRED AMOUNT ";V$\V=VAL(V$)
440 INPUT" NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
450 T=LOG(V/A)/((LOG(1+I/TY))*TY)
460 PRINT"COMPOUNDED ";TY;" TIMES PER YEAR,"
470 PRINT"WILL REQUIRE THE MONEY TO BE"
480 PRINT"DEPOSITED FOR";INT(T*10+.5)/10;" YEARS"\PRINT
490 PRINT"PRESS ANY KEY TO CONTINUE"
495 INPUT Y$\REM IF Y$="" THEN 495
500 GOTO 50
510 REM\ INTEREST RATE
520
530 PRINT"INTEREST RATE CALCULATIONS "\PRINT
540 INPUT" AMOUNT TO BE COMPOUNDED";A$\A=VAL(A$)
550 INPUT" FINAL AMOUNT ";V$\V=VAL(V$)
560 INPUT" NUMBER OF YEARS ";T$\T=VAL(T$)
570 INPUT" NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
580 I=((V/A)^(1/(TY*T))-1)*TY
590 PRINT"RATE OF RETURN IS";INT(I*1000+.5)/10;"% PER YEAR"\PRINT
600 PRINT"PRESS ANY KEY TO CONTINUE"
605 INPUT Y$\REM IF Y$="" THEN 605
610 GOTO 50
620 REM\ FUTURE VALUE
630
640 PRINT"FUTURE VALUE"\PRINT
650 INPUT" AMOUNT OF MONTHLY DEPOSIT ";A$\A=VAL(A$)
660 INPUT" INTEREST RATE ";I\I=I/1200
670 INPUT" NUMBER OF YEARS ";T$\T=VAL(T$)*12\PRINT
680 FV=A/I*((1+I)^(T+1)-(1+I))
690 PRINT"$";INT(FV*100+.5)/100\PRINT
700 PRINT"PRESS ANY KEY TO CONTINUE"
705 INPUT Y$\REM IF Y$="" THEN 705
710 GOTO 50
720 REM\ REQUIRED PAYMENT
730 PRINT"REQUIRED PAYMENT"\PRINT
740 INPUT" FINAL DESIRED AMOUNT ";FV$\FV=VAL(FV$)
750 INPUT" INTEREST RATE ";I\I=I/1200
760 INPUT" NUMBER OF YEARS ";T$\T=VAL(T$)*12\PRINT
770 A=(FV*I)/((1+I)^(T+1)-(1+I))
780 PRINT"$";INT(A*100+.5)/100;" MONTHLY PAYMENTS"\PRINT
790 PRINT"PRESS ANY KEY TO CONTINUE"
795 INPUT Y$\REM IF Y$="" THEN 795
800 GOTO 50
810 REM\ NUMBER OF PAYMENTS-SAVINGS
820
830 PRINT"NUMBER OF PAYMENTS - LOAN"\PRINT
840 INPUT" AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
850 INPUT" % INTEREST RATE ";I$\I=VAL(I$)/1200
860 INPUT" AFFORDABLE MONTHLY PAYMENT ";A$\A=VAL(A$)\PRINT
870 N=LOG(A/(A-P*I))/LOG(1+I)
880 PRINT"";INT(N+.5);" MONTHLY PAYMENTS"\PRINT
890 PRINT"PRESS ANY KEY TO CONTINUE"
895 INPUT Y$\REM IF Y$="" THEN 895
900 GOTO 50
910 REM\ MONTHLY LOAN PAYMENT
920
930 PRINT"MONTHLY LOAN PAYMENT "\PRINT
940 INPUT" AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
950 INPUT" % INTEREST RATE ";I\I=I/100
960 INPUT" YEARS OF FINANCING ";N$\N=VAL(N$)*12\PRINT
970 A=P*(I/12)/(1-(1+(I/12))^-N)
980 PRINT"MONTHLY PAYMENT IS $";INT(A*100+.5)/100\PRINT
990 PRINT"PRESS ANY KEY TO CONTINUE"
995 INPUT Y$\REM IF Y$="" THEN 995
1000 GOTO 50
1010 REM\ LOAN BALANCE
1020
1030 PRINT"LOAN BALANCE CALCULATIONS"\PRINT
1040 INPUT" AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
1050 INPUT" % INTEREST RATE ";I$\I=VAL(I$)/1200
1060 INPUT" MONTHLY PAYMENT ";A$\A=VAL(A$)
1070 INPUT" BEGINNING PAYMENT NUMBER ";X$\X=VAL(X$)
1080 INPUT" ENDING PAYMENT NUMBER ";Y$\Y=VAL(Y$)\PRINT
1090 B=1/((I+1)^-Y)*((A*(((1+I)^-Y)-1))/I+P)
1100 PRINT"BALANCE AT END OF PAYMENT"
1110 PRINT"NUMBER";Y;" -- $";INT(B*100+.5)/100\PRINT
1120 AI=B-(1/((I+1)^-(X-1))*((A*(((1+I)^-(X-1))-1))/I+P))+(Y-X+1)*A
1130 PRINT"ACCUMULATED INTEREST AT THE END OF"
1140 PRINT"PAYMENT NUMBER ";Y;" -- $";INT(AI*100+.5)/100\PRINT
1150 PRINT"PRESS ANY KEY TO CONTINUE"
1155 INPUT Y$\REM IF Y$="" THEN 1155
1160 GOTO 50
1170 REM\ NUMBER OF PAYMENTS-LOAN
1180
1190 PRINT"NUMBER OF PAYMENTS - SAVINGS"\PRINT
1200 INPUT" MONTHLY DEPOSIT ";A$\A=VAL(A$)
1210 INPUT" % INTEREST RATE ";I\I=I/1200
1220 INPUT" FINAL AMOUNT ";V$\V=VAL(V$)\PRINT
1230 N=(LOG(V*I/A+1+I)/(LOG(1+I))-1)
1240 PRINT"$";V;" WILL REQUIRE DEPOSITS OF"
1250 PRINT"$";A;" FOR ";INT(N);" MONTHS"\PRINT
1260 PRINT"PRESS ANY KEY TO CONTINUE"
1265 INPUT Y$\REM IF Y$="" THEN 1265
1270 GOTO 50
1280 REM\ LOAN AMOUNT
1290
1300 PRINT"LOAN AMOUNT CALCULATIONS "\PRINT
1310 INPUT" NUMBER OF PAYMENTS DESIRED ";N$\N=VAL(N$)
1320 INPUT" % INTEREST RATE ";I\I=I/1200
1330 INPUT" AMOUNT OF MONTHLY PAYMENT ";A$\A=VAL(A$)\PRINT
1340 P=A*(1-(1+I)^-N)/I
1350 PRINT"YOU CAN (THEORETICALLY!) AFFORD TO"
1360 PRINT"BORROW $";INT(P*100+.5)/100\PRINT
1370 PRINT"PRESS ANY KEY TO CONTINUE"
1375 INPUT Y$\REM IF Y$="" THEN 1375
1380 GOTO 50
1390 REM\ SINKING FUND
1400
1410 PRINT"SINKING FUND CALCULATIONS "\PRINT
1420 INPUT" AMOUNT TO BE ACCUMULATED ";P
1430 INPUT" % INTEREST RATE ";I\I=I/100
1440 INPUT" YEARS OF ACCUMULATION ";N$\N=VAL(N$)\PRINT
1450 A=P*I/(((1+I)^N)-1)
1460 PRINT"YEARLY DEPOSIT IS $";INT(A*100+.5)/100\PRINT
1470 PRINT"PRESS ANY KEY TO CONTINUE"
1475 INPUT Y$\REM IF Y$="" THEN 1475
1480 GOTO 50
1490 PRINT\PRINT"PROGRAM TERMINATED ON REQUEST."\END
|