#Loan Payment with compound interest
#p:principle,
r:rate/year(in %), y:amortagation (in year)
#The
calculation is for compounded interest (added to principle) 2 times every year
print "Enter amount of principle ";:input p
print "Enter annual interest rate (in %) ";:input r
print "Enter amortization (in year) ";:input y
#Convert rate to monthly rate
including the compound processing
x=r/200
n=1/6
#r+1=(1+r/200)**(1/6)
gosub power
r=powerx-1
#Convert year to months
y=y*12
x=r
n=y
gosub power
#Accumulation function s=(1+r)**y
s=powerx
#Monthly payment m = p*s*r/(s-1) ~
p*s/y
m=p*s*r/(s-1)
#Total interest
i=m*y-p
print "Monthly Payment = ";:print m
print "Total Interst =
";:print i
goto Done
power:
#For (1+x)**n,
ok for n=+integer, or else if x**2<1
#(1+x)**n = 1 + nx + n(n-1)x**2/2! +
...
np=n
nq=0
nf=1
powerx=1+np*x/nf
delta=0.000001
SubLoop:
power0=powerx
x=x*x
nq=nq+1
np=np*(n-nq)
nf=nf*(nq+1)
powerx=powerx+np*x/nf
if abs(powerx-power0)<delta then goto
Ende
refresh
goto SubLoop
Ende:
Return
Done: