10 rem 64/128 loan amortization program 20 rem by jaap kroes 30 rem 03/86 40 print"":poke53280,0:poke53281,0:poke646,7 50 a$="64/128 loan amortization program" 60 gosub90:a$="by jaap kroes" 70 gosub90:a$=" box 66, pella, ia. 50219" 80 gosub90:fort=1to1000:nextt:goto140 89 print"**************************************" 90 a%=len(a$):y=a% 100 print"":forx=1toa% 110 printtab((39-a%)/2)mid$(a$,y,x)"" 120 y=y-1:ford=1to25:nextd:nextx:return 130 data003,162,103,160,003,142,004,003 140 print"" 150 printspc(12)"l o a n m e n u" 160 printspc(11)"1) monthly payment" 170 printspc(11)"2) loan balance (payoff)" 180 printspc(11)"3) amortize a loan":printspc(11)"4) end program" 190 geta$:ifa$=""then190 200 ifa$<"1"ora$>"4"then190 210 onval(a$)goto220,350,500,840 220 print" m o n t h l y p a y m e n t":print 230 input" 1) loan principle ";lp 240 input" 2) loan interest ";li 250 ir=li/12 260 input" 3) loan duration (months)";ld:print 270 x=(1-(1+ir/100)^-ld)/(ir/100) 280 mp=lp/x:mr=int(mp/0.01)*0.01 290 mr$=str$(mr+.001):mr$=mid$(mr$,2,(len(mr$)-2)) 300 print" 4) monthly payment = $";mr 310 print"  another y/n " 320 geta$:ifa$<>"y"anda$<>"n"then320 330 ifa$="n"thenrun140 340 ifa$="y"thenrun220 350 print"l o a n b a l a n c e ( p a y o ff)":print 360 input" what is the loan amount";pv 370 input" what is the payment amount";pmt 380 input" how many payments made";n 390 input" what is the interest rate";i 400 ri=i/12 410 x=(ri/100)+1:y=x^n:z=y*pv 420 xx=x*pmt:zz=y-1:yy=ri/100:zx=zz/yy:zy=xx*zx:ba=z-zy 430 bl=int(ba/0.01)*0.01 440 bl$=str$(bl+.001):bl$=mid$(bl$,2,(len(bl$)-2)) 450 print" remaining balance is ";bl$ 460 print"  another y/n " 470 geta$:ifa$<>"y"anda$<>"n"then470 480 ifa$="n"thenrun140 490 ifa$="y"thenrun350 500 print"" 510 printspc(3)"l o a n a m o r t i za t i o n" 520 input" amount of loan---$";a:i=a 530 input" interest rate in %";b 540 input" duration of loan in months";c 550 print" do you want hard copy (y/n)" 560 getz$:ifz$<>"y"andz$<>"n"then560 570 z=0:ifz$="y"thenz=1:goto590 580 print"":print" # pmt int prin bal " 590 print:y=1 600 d=a/(((1-(1+b/1200)^-c)/(b/1200))) 610 e=b/1200*a:f=d-e:g=a-f:gosub620:goto720 620 dd=int(d/0.01)*0.01 625 dd=(int((dd+.005)*100)/100) 630 ee=int(e/0.01)*0.01 635 ee=(int((ee+.005)*100)/100) 640 ff=int(f/0.01)*0.01 645 ff=(int((ff+.005)*100)/100) 650 gg=int(g/0.01)*0.01 655 gg=(int((gg+.005)*100)/100) 660 dd$=str$(dd+.001):dd$=mid$(dd$,2,(len(dd$)-2)) 670 ee$=str$(ee+.001):ee$=mid$(ee$,2,(len(ee$)-2)) 680 ifee<1thenee$="0"+str$(ee+.001):ee$=mid$(ee$,2,(len(ee$)-2)) 690 ff$=str$(ff+.001):ff$=mid$(ff$,2,(len(ff$)-2)) 700 gg$=str$(gg+.001):gg$=mid$(gg$,2,(len(gg$)-2)):ifgg<=0thengg$="0.00" 710 return 720 ifz=1thenprint"":printtab(13)" please wait " 725 ifz=1thenprinttab(13)" printing ":goto880 730 printy:printtab(11-len(dd$))""dd$:printtab(20-len(ee$))""ee$ 740 printtab(28-len(ff$))""ff$:printtab(39-len(gg$))""gg$ 750 c=c-1:a=g:y=y+1 760 ifc>0then600 765 gosub 770:goto800 770 t=val(dd$):tt=t*(y-1):tc=tt-i:ct=int(tc/0.01)*0.01:tl=int(tt/0.01)*0.01 780 tt$=str$(tl+.001):tt$=mid$(tt$,2,(len(tt$)-2)) 790 tc$=str$(ct+.001):tc$=mid$(tc$,2,(len(tc$)-2)):return 800 print"total payments = "tt$:print"total cost = "tc$ 810 ifc=0thenprint"  another y/n " 820 geta$:ifa$<>"y"anda$<>"n"then820 830 ifa$="y"thenrun500 840 print"  end program y/n " 850 geta$:ifa$<>"y"anda$<>"n"then850 860 ifa$="n"thenrun140 870 ifa$="y"thena$="* * * than k y o u* * *":print"":gosub90 875 print"":end 880 rem *** printer routine *** 890 e$=chr$(27):h$=chr$(9) 900 open4,4:cmd4 910 print 920 print" **** loan amortization schedule ****" 930 print 940 print" amount of loan = $"a 950 print" interest rate = "b"%" 960 print" length of loan = "c"months" 970 print:k=0:p=1:y=1 980 print" pmnt # pmnt interest principal balance" 990 print 1000 d=a/(((1-(1+b/1200)^-c)/(b/1200))) 1010 e=b/1200*a:f=d-e:g=a-f:gosub620 1020 y$=str$(y) 1030 print#4,""tab(5-len(y$))y$; 1040 print#4,""tab(16-len(dd$))dd$; 1050 print#4,""tab(16-len(ee$))ee$; 1060 print#4,""tab(16-len(ff$))ff$; 1070 print#4,""tab(16-len(gg$))gg$ 1080 c=c-1:a=g:k=k+1:y=y+1 1090 ifk=42then1150 1100 ifc>0then1000 1110 gosub770:cmd4 1120 print:print" total payments = "tt$ 1130 print:print" total cost = "tc$ 1140 ifc=0thenprint#4:close4:print"":goto810 1150 cmd4:p=p+1:print:print" continued on next page":k=0 1155 fort=1to8:printchr$(10):next 1160 print" page #"p:print:print:print 1170 print" pmnt # pmnt interest principal balance" 1180 print 1190 goto1100 ready.