Directory of image this file is from
This file as a plain text file
C MORTGAGE AMORTIZATION TABLE GENERATOR
C FORMAT STATEMENTS:
C ------------------
1000 FORMAT(///)
1001 FORMAT(' MORTGAGE AMORTIZATION TABLE',//)
1002 FORMAT(' AMOUNT OF LOAN = ',F10.2)
1003 FORMAT(' LOAN RATE (%) = ',F5.2)
1004 FORMAT(' LOAN TERM (YEARS) = ',F5.1)
1005 FORMAT(' MONTHLY PAYMENTS = ',F7.2,/)
1006 FORMAT(F8.2)
1007 FORMAT(/,' DATE INTEREST PRNCPL PRNCPL')
1008 FORMAT(' PAYMENT REMAINING',/)
1009 FORMAT(/)
1010 FORMAT(' ',I3,I3,' ',F8.2,' ',F8.2,' ',F8.2)
1011 FORMAT(/' LAST PAYMENT = ',F6.2)
1012 FORMAT(' STARTING MONTH (MM)= ')
1013 FORMAT(' STARTING YEAR (YY)= ')
1014 FORMAT(I4)
1015 FORMAT(F10.0)
1016 FORMAT(/,' INTEREST PAID THIS YEAR= ',F8.2)
1017 FORMAT(/,' TOTAL INTEREST PAID= ',F8.2)
1018 FORMAT(/,'LISTING DESIRED ? [Y OR N]: ')
1019 FORMAT(1A6)
C PAGE 2
C GET BASIC MORTGAGE DATA:
C ------------------------
1 WRITE(4,1001)
WRITE(4,1002)
READ(4,1015)AMOUNT
WRITE(4,1003)
READ(4,1015)RATE
WRITE(4,1004)
READ(4,1015)TERM
C CALCULATE MONTHLY PAYMENTS
C --------------------------
10 RRATE=RATE/(12.*100.)
TTERM=TERM*12.
DE1=EXP(ALOG(1.+RRATE)*TTERM)
DE2=1./DE1
DE3=1.-DE2
DE4=AMOUNT*RRATE
PAYM=(DE4/DE3)+.01
WRITE(4,1005)PAYM
C LISTINGS DESIRED ?
C ------------------
AY='Y '
AN='N '
11 WRITE(4,1018)
READ(4,1019)ANS
12 IF(ANS-AN)13,1,13
13 IF(ANS-AY)11,15,11
15 WRITE(4,1012)
READ(4,1014)MO
WRITE(4,1013)
READ(4,1014)IYR
C LIST HEADING ON LINEPRINTER
C ---------------------------
20 WRITE(4,1000)
WRITE(4,1001)
WRITE(4,1002)AMOUNT
WRITE(4,1003)RATE
WRITE(4,1004)TERM
WRITE(4,1005)PAYM
WRITE(4,1007)
WRITE(4,1008)
C PAGE 3
C COMPUTE & LIST AMORTIZATION TABLE
C ---------------------------------
30 MONTH=1
ITERM=TERM*12.
ST=0.
TT=0.
PRNCPL=AMOUNT
31 IF(MO-13)33,32,33
32 MO=1
IYR=IYR+1
WRITE(4,1016)ST
WRITE(4,1009)
TT=TT+ST
ST=0.
WRITE(4,1009)
33 IF(MONTH-ITERM)34,36,34
34 PINT=PRNCPL*RATE/(100.*12.)
PO=PAYM-PINT-.01
PRNCPL=PRNCPL-PO
35 WRITE(4,1010)MO,IYR,PINT,PO,PRNCPL
ST=ST+PINT
MO=MO+1
MONTH=MONTH+1
GO TO 31
C COMPUTE LAST PAYMENT
C --------------------
36 PINT=PRNCPL*RATE/(100.*12.)
PO=PRNCPL
PRNCPL=0.
TLP=PO+PINT
WRITE(4,1010)MO,IYR,PINT,PO,PRNCPL
WRITE(4,1011)TLP
ST=ST+PINT
WRITE(4,1016)ST
TT=TT+ST
WRITE(4,1017)TT
WRITE(4,1000)
WRITE(4,1000)
GO TO 1
END