1000 ON ERROR GO TO 2570 1010 REM MORGAG**********VERSION #1 (7/31/69)*****MORGAGE ANALYSIS***** 1020 REM REVISED APRIL 1972 ANDY ROTH C.C.G. 1030 PRINT "* MORGAGE ANALYSIS *" 1040 PRINT 1050 PRINT"ENTER THE NUMBER OF THE ONE YOU WANT TO FIND" 1060 PRINT " 1) RATE" 1070 PRINT " 2) LIFE" 1080 PRINT " 3) AMOUNT BORROWED" 1090 PRINT " 4) MONTHLY PAYMENT" 1100 INPUT "WHICH DO YOU WANT";Z 1115 IF Z>4ORZ<1 GO TO 1100 1120 PRINT 1130 IF Z=1 THEN 1200 1140 INPUT"WHAT IS THE NOMINAL ANNUAL RATE USING DECIMAL NOTATION";R 1150 IF R<1 THEN 1180 1160 PRINT "IT APPEARS THAT YOU HAVE FORGOTTEN TO USE DECIMAL NOTATION" 1170 GOTO 1140 1180 PRINT 1190 IF Z=2 THEN 1230 1200 INPUT"WHAT IS THE LIFE OF THE MORTGAGE: YEARS,MONTHS";Y,M 1210 PRINT 1220 IF Z=3 THEN 1260 1230 INPUT"WHAT IS THE AMOUNT TO BE BORROWED";A 1240 PRINT 1250 IF Z=4 THEN 1280 1260 INPUT"WHAT IS THE AMOUNT OF THE MONTHLY PAYMENT";P 1270 PRINT 1280 PRINT" WHAT IS THE MONTH JAN=1, ETC.; AND YEAR IN WHICH" 1290 INPUT" THE MORTGAGE TABLE IS TO BE MADE";T1,T2 1300 PRINT 1310 INPUT"FOR HOW MANY YEARS DO YOU WANT THE MOTGAGE TABLE PRINTED";T3 1320 PRINT 1330 PRINT "TYPE A ONE(1) IF YOU WANT ONLY AN ANNUAL SUMMARY OF THE" 1340 INPUT"MORTGAGE TABLE ;TYPE A ZERO(0) FOR A MONTHLY TABLE";Z1 1345 IF Z1>1 THEN 1330 1350 PRINT 1360 IF Z=2 THEN 1390 1370 N=12*Y+M 1380 IF Z=1 THEN 1590 1390 R1=((1+R/2)^(1/6))-1 1400 IF Z=3 THEN 1490 1410 IF Z=4 THEN 1540 1420 IF (A*R1/P)<1 THEN 1440 1430 PRINT" THE FIRST MONTH'S PAYMENT WILL NOT EVEN COVER IT'S " 1431 PRINT "INTEREST CHARGE" 1432 GO TO 1100 1440 N=-(LOG(1-(A*R1)/P))/LOG(1+R1) 1450 N=INT(N)+1 1460 Y=INT(N/12) 1470 M=N-12*Y 1480 GOTO 1690 1490 A=(P*(1-1/((1+R1)^N)))/R1 1500 A=(A*100+5) 1510 A=INT(A) 1520 A=A/100 1530 GOTO 1690 1540 P=(A*R1)/(1-1/((1+R1)^N)) 1550 P=(P*1000+5)/10 1560 P=INT(P) 1570 P=P/100 1580 GOTO 1690 1590 R1=0 1600 FOR O=1 TO 5 1610 FOR I=1 TO 10 1620 Q=I*(1/(10^O))+R1 1630 C=(P*(1-1/((1+Q)^N)))/Q 1640 IF C(R*A+1) THEN 1740 1710 PRINT "YOUR FIRST YEARS'S PAYMENTS ARE "12*P 1720 PRINT "THE FIRST YEAR'S INTEREST IS"R*A 1730 PRINT "THEREFORE, THE LIFE OF THE MORTGAGE IS UNDEFINED" 1740 PRINT "********************************************************" 1750 PRINT 1760 PRINT " MORTGAGE TERMS" 1770 PRINT 1780 PRINT " NOMINAL ANNUAL RATE =";R*100;"PERCENT" 1790 PRINT " LIFE OF MORTGAGE =";Y;"YEARS,";M;"MONTHS" 1800 PRINT " AMOUNT BORROWED = $";A 1810 PRINT " MONTHLY PAYMENT = $";P 1820 IF Z=2 THEN 1840 1830 GOTO 1850 1840 PRINT " (NOTE- THE MORTGAGE LIFE HAS BEEN ROUNDED UPWARD TO NEARESTMONTH)" 1850 PRINT 1860 PRINT "---------------------------------------------------------" 1870 PRINT 1880 PRINT " 1890 PRINT 1900 PRINT 1910 Z2=0 1920 S1=0 1930 S2=0 1940 IF T1=12 THEN 1970 1950 M2=T1 1960 GOTO 1990 1970 T2=T2+1 1980 M2=0 1990 M3=M2+1 2000 IF Z1=1 THEN 2080 2010 PRINT " ","BEGINNING" 2020 PRINT " ","PRINCIPAL"," ","PRINCIPAL" 2030 PRINT "MONTH","OUTSTANDING","INTEREST","REPAYMENT" 2040 PRINT 2050 PRINT 2060 PRINT " ","FOR THE CALENDAR YEAR"T2 2070 GOTO 2130 2080 PRINT " "," "," ","ENDING" 2090 & " "," ","PRINCIPAL","PRINCIPAL" 2100 PRINT "YEAR","INTEREST","REPAYMENT","OUTSTANDING" 2110 PRINT 2120 PRINT 2130 FOR M1=M3 TO 12*T3 2140 I1=A*R1 2150 I1=(I1*1000+5)/10 2160 I1=INT(I1) 2170 I1=I1/100 2180 IF P<(A+I1) THEN 2210 2190 P1=A 2200 GOTO 2220 2210 P1=P-I1 2220 A1=A 2230 A=A1-P1 2240 S1=S1+I1 2250 S2=S2+P1 2260 M2=M2+1 2270 IF Z1=1 THEN 2440 2280 PRINT M2,A1,I1,P1 2290 IF M2=12 THEN 2320 2300 IF A>0 THEN 2540 2310 Z2=1 2320 PRINT 2330 PRINT " INTEREST PAID DURING";T2;TAB(42);"=";S1 2340 PRINT" PRINCIPAL REPAID DURING";T2;TAB(42);"=";S2 2350 PRINT" PRINCIPAL OUTSTANDING AT YEAR END";TAB(42);"=";A 2360 IF Z2=1 THEN 2550 2370 T2=T2+1 2380 PRINT 2390 PRINT "-----" 2400 PRINT 2410 IF M1=12*T3 THEN 2550 2420 PRINT " ","FOR THE CALENDAR YEAR"T2 2430 GO TO 2510 2440 IF M2=12 THEN 2470 2450 IF A>0 THEN 2540 2460 Z2=1 2470 PRINT T2,S1,S2,A 2480 T2=T2+1 2490 IF M1=12*T3 THEN 2550 2500 IF Z2=1 THEN 2550 2510 S1=0 2520 S2=0 2530 M2=0 2540 NEXT M1 2550 PRINT"********************************************************" 2560 GO TO 2580 2570 IF ERR =52 THEN RESUME 2575 PRINT"YOU MADE A BOO-BOO!! PLEASE REENTER":RESUME1100 2580 END