Loan Amortization 2068

Developer(s): Imre Auersbacher
Date: 1985
Type: Program
Platform(s): TS 2068

Appears on

Source Code

   10 REM  Loan Amortization 2068
   12 REM  \* 1984  I. Auersbacher
   14 DEF FN a(x)=INT (c*x+0.5)/c
   16 DEF FN a$(x,c$)=c$+(".00" AND x=INT x)+("0" AND ("0"+c$)(LEN c$)=".")
   18 BORDER 5: LET c=100: LET x=0: BEEP 0.07,22: CLS : GO TO 25
   20 LET x=FN a(x): LET c$=FN a$(x,STR$ x): RETURN 
   25 PRINT PAPER 6;"** Loan Amortization Schedule **": PRINT 
   30 PRINT "Loan Amount : $";
   35 INPUT a: PRINT a: LET t=23
   40 PRINT "No. Periods :  ";
   45 INPUT n: PRINT n;" months"
   50 PRINT "Interest (%):  ";
   55 INPUT y: PRINT y
   60 LET y=y/1200: PRINT 
   65 LET p=a*(y/(1-(1+y)^(-n))): LET x=p: GO SUB 20: LET d=n*p-a
   70 PRINT "Monthly Pymt= $";c$: POKE 23692,1: PRINT : LET l=a
   75 PRINT "Pmt Interest  Principal  Balance": PRINT "\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
   80 FOR z=1 TO n: LET k=(1+y)^(-z): LET b=1/k*(p*(k-1)/y+a)
   85 IF b<0.001 THEN LET b=0
   90 LET i=b-l+p: LET r=p-i
   95 LET l=b: LET x=i: GO SUB 20
  100 LET i$=c$: LET x=r: GO SUB 20: LET p$=c$: LET x=b:
  105 GO SUB 20: LET b$=c$
  110 PRINT TAB (3-LEN STR$ z);z;TAB (12-LEN i$);i$;TAB (21-LEN p$);p$;TAB (32-LEN b$);b$
  115 NEXT z: PRINT : PRINT 
  120 LET x=a: GO SUB 20: PRINT "Loan Amount =";TAB t-LEN c$;c$
  125 LET x=d: GO SUB 20: PRINT "Tot.Interest=";TAB t-LEN c$;c$: LET x=n*p: GO SUB 20: PRINT "Total paymts=";TAB t-LEN c$;c$
  130 STOP : STOP 
  200 SAVE "loans" LINE 10
Scroll to Top