10 REM COPYRIGHT 1989 COMPUTE! PUBLICATIONS, INC. - ALL RIGHTS RESERVED 20 PRINTCHR$(147);CHR$(14);CHR$(8):POKE53281,0:POKE53280,11:POKE646,13 30 PRINTSPC(12)"[195]OPYRIGHT 1989":PRINT SPC(6)"[195][207][205][208][213][212][197]! [208]UBLICATIONS, [201]NC." 40 PRINT SPC(10)"[193]LL RIGHTS RESERVED." 50 SA=52224:IF PEEK(SA)=169 AND PEEK(SA+206)=96 THEN CLR:GOTO250 60 H1=INT((SA+13)/256):L1=(SA+13)-H1*256 70 H2=INT((SA+150)/256):L2=(SA+150)-H2*256:CS=0 80 FOR AD=SATOSA+206:READML:CS=CS+ML:POKEAD,ML:NEXT 90 IF CS<>23175 THEN PRINT CHR$(147)"ERROR IN ML DATA":END 100 POKE SA+5,L1:POKE SA+9,H1:POKE SA+133,L2:POKE SA+138,H2 110 SYS SA:CLR 120 DATA 169,76,133,124,169,13,133,125,169,192,133,126,96,141,255,3 130 DATA 104,141,252,3,104,141,253,3,72,173,252,3,72,201,217,208 140 DATA 7,173,253,3,201,183,240,11,173,255,3,201,58,176,3,76 150 DATA 128,0,96,104,169,220,72,186,142,254,3,165,113,141,248,3 160 DATA 165,114,141,249,3,162,79,189,0,2,157,167,3,202,16,247 170 DATA 56,165,36,229,122,168,162,23,201,81,176,73,169,0,141,13 180 DATA 3,153,0,2,136,177,122,153,0,2,136,16,248,169,0,133 190 DATA 122,169,2,133,123,32,121,165,173,0,3,141,250,3,173,1 200 DATA 3,141,251,3,169,150,141,0,3,169,192,141,1,3,32,115 210 DATA 0,32,138,173,162,0,173,250,3,141,0,3,173,251,3,141 220 DATA 1,3,173,13,3,138,141,13,3,240,6,169,0,133,97,133 230 DATA 102,173,248,3,133,113,173,249,3,133,114,162,79,189,167,3 240 DATA 157,0,2,202,16,247,169,0,133,13,174,254,3,154,96,0 250 DN$="":LT$="":SP$=" ":DC$=DN$:HD$="":HR$=HD$+"":H$="":R$="" 260 CD$="[147]":C2$=CD$+DC$:U$="[145]":U3$=U$+U$+U$:ER$=" "+R$+"ERROR" 270 FOR I=1 TO 6:DN$=DN$+DN$:LT$=LT$+LT$:SP$=SP$+SP$:NEXT 280 DN$=LEFT$(DN$,24):LT$=LEFT$(LT$,40):SP$=LEFT$(SP$,39) 290 DIM C%(255),FC$(22),FC%(22),FV(22),V2(22),ZF(22):PRINTCHR$(14) 300 DIM CF(50),CP(50),CW(50),A(50),W(50),P(50),Q(50),I2(50),W2(50),TP(39) 310 POKE 784,108:POKE785,122:POKE786,0 320 DEF FN RS(LN)=USR(LN)+POS(" [184] [163][168][168][198]_[165]_L'[168]") 330 T=FN RS(360) 340 FOR K=1 TO 12:READ A:C%(A)=K:NEXT 350 FOR K=49 TO 58:C%(K)=10:NEXT:C%(17)=5:C%(32)=7 360 DATA 67,95,133,134,13,145,147,20,46,48,89,78 370 POKE 784,108:POKE785,122:POKE786,0 380 DEF FN R2(RR)=INT(AN/RR+.5)*RR 390 DEF FN RD(RR)=INT(RR*100+.5)/100 400 PRINTCD$ 410 PRINTHD$;DC$"[198]INANCIAL [208]LANNER";DC$:PRINT"[208]RESS # OF OPTION";DC$ 420 PRINT"1. [195]OLLEGE PLANNING" 430 PRINT"2. [195]AR BUY/LEASE" 440 PRINT"3. [195]OMPOUND INTEREST/SAVINGS" 450 PRINT"4. [204]OAN PAYMENTS" 460 PRINT"5. [198]IXED/ADJUSTABLE RATE MORTGAGE" 470 PRINT"6. [200]OW MUCH LIFE INSURANCE DO YOU NEED?" 480 PRINT"7. [211]HOULD YOU REFINANCE YOUR MORTGAGE?" 490 PRINT"8. [201][210][193][160]PLANNING":AF=0 500 GETA$:IF A$="" THEN500 510 C=C%(ASC(A$)):IF C=1 THEN GOSUB930:GOTO410 520 IF C=2 THEN PRINTCHR$(147):END 530 IF C<>10 THEN400 540 PRINTDC$;R$"[210]EADING DATA STATEMENTS ..." 550 ON VAL(A$) GOTO2000,3000,4000,5000,6000,7000,8000,9000 560 GOTO400 570 REM-- 580 FOR I=0 TO NR:PRINTFC$(I);:GOSUB820:NEXT:RETURN 590 REM PRINT SCREEN SUBROUTINE 600 RR=1104:PX=0:PY=0:MY=22:FOR TY=22 TO 10 STEP-1 610 IF PEEK(RR+TY*40)<>32 OR PEEK(RR+TY*40+1)<>32 THEN MY=TY:TY=10 620 NEXT:GOSUB1940:GOSUB720:IF T<0 THEN710 630 PRINTHR$"[208][210][201][206][212][201][206][199] ...":OPEN7,4,7 640 FOR I=0 TO MY:T$=DC$:H=-2 650 FOR J=0 TO 39:A=PEEK(RR+I*40+J) AND 127:IF A=96 THEN A=32:GOTO690 660 IF A>0 AND A<27 THEN A=A+64:GOTO680 670 IF A>64 AND A<91 THEN A=A+128 680 IF A<>32 THEN H=J 690 T$=T$+CHR$(A):NEXT 700 T$=LEFT$(T$,H+2):PRINT#7,T$:NEXT:CLOSE7 710 GOSUB1950:RETURN 720 OPEN7,4,7:CLOSE7:T=ST 730 OPEN7,4:IF ST=T THEN CLOSE7:RETURN 740 PRINTHD$SP$:PRINTU$"[208]RINTER NOT READY, PRESS _ TO CANCEL" 750 GETA$:IF A$="_" THEN T=-1:CLOSE7:RETURN 760 IF A$="" THEN T=T+1:IF T<9 THEN750 770 T=0:PRINTHD$;SP$:CLOSE7:GOTO720 780 GOSUB1070:IF QA=2 THEN RETURN 790 T$=T2$ 800 PRINTH$;LEFT$(DN$,CY+2);FC$(CY);TAB(LC-9);LEFT$(SP$,9) 810 PRINTH$;LEFT$(DN$,CY+2);FC$(CY);:I=CY 820 IF FC%(I)=0 THEN PRINT:RETURN 830 ON FC%(I) GOSUB850,880,890,910 840 PRINT TAB(LC-LEN(T$)-(1=FC%(I)));T$:RETURN 850 IF SF=0 THEN T$=MID$(STR$(FV(I)),2,6)+"%":RETURN 860 T$=T2$+"%":IF T2$="" THEN T$="0%" 870 RETURN 880 T$="$"+MID$(STR$(INT(FV(I)+.5)),2):RETURN 890 T$="NO":IF FV(I) THEN T$="YES" 900 RETURN 910 T$=MID$(STR$(INT(FV(I))),2):RETURN 920 REM CALCULATOR SUBROUTINE 930 PRINTH$;SP$ 940 T=0:A2$="":T$=HD$+SP$+"[145]":PRINTT$:IF CC$<>"" THEN A2$=STR$(VAL(CC$)) 950 PRINTT$:FOR T2=0 TO T:NEXT:PRINT"?"A2$ 960 GETA$:IF A$<>"" THEN990 970 T=T+1:IF T>199 THEN T=0:GOTO950 980 GOTO960 990 T=0:A=ASC(A$):IF A=13 THEN CC$=A2$:GOTO930 1000 IF(A>38 AND A<58 AND A<>44) OR A=94 THEN A2$=LEFT$(A2$+A$,38):GOTO950 1010 IF A=95 OR A=67 THEN PRINTH$;SP$:PRINTSP$:RETURN 1020 IF A=20 THEN IF LEN(A2$) THEN A2$=LEFT$(A2$,LEN(A2$)-1):GOTO950 1030 IF A=147 OR A=19 THEN A2$="":GOTO950 1040 IF A<>81 AND A<>69 AND A<>61 THEN960 1050 PRINT T$;H$;SP$:IF LEN(CC$)<21 THEN PRINTH$;CC$" ="; 1060 PRINTVAL(CC$):RETURN 1070 IF FC%(CY)<>0 THEN1100 1080 SF=0:GF=0:GOSUB1420:CY=CY+1:IF CY>NR THEN CY=0 1090 GOTO1070 1100 IF SF=0 THEN T2$=MID$(STR$(FV(CY)),2):SF=1 1110 PRINTH$;LEFT$(DN$,CY+2);R$;:I=CY:GOSUB820:QA=3 1120 GETA$:IF A$="" THEN1120 1130 A=ASC(A$) 1140 ON C%(A) GOTO1160,1170,1180,1120,1190,1230,1270,1290,1370,1400,1330,1350 1150 GOTO1120 1160 GOSUB930:GOTO1120 1170 QA=1:RETURN 1180 QA=2:GOSUB1770:RETURN 1190 IF A<>17 AND A<>13 THEN1230 1200 GOSUB800:GF=0:GOSUB1420:CY=CY+1:SF=0:IF CY>NR THEN CY=0 1210 IF FC%(CY)=0 THEN1200 1220 RETURN 1230 GOSUB800 1240 GF=0:GOSUB1420:CY=CY-1:SF=0:IF CY<0 THEN CY=NR 1250 IF FC%(CY)=0 THEN1240 1260 RETURN 1270 IF A=147 OR (A=32 AND FC%(CY)<>3) THEN T2$="":FV(CY)=0:RETURN 1280 GOTO1320 1290 IF LEN(T2$)<2 THEN T2$="":FV(CY)=0:RETURN 1300 T2$=LEFT$(T2$,LEN(T2$)-1):FV(CY)=VAL(T2$):RETURN 1310 REM 1320 FV(CY)=1-FV(CY):RETURN 1330 IF FC%(CY)=3 THEN FV(CY)=1 1340 RETURN 1350 IF FC%(CY)=3 THEN FV(CY)=0 1360 RETURN 1370 IF FC%(CY)<>1 THEN RETURN 1380 FOR J=1 TO LEN(T2$):IF MID$(T2$,J,1)=CHR$(46) THEN J=7:NEXT:RETURN 1390 NEXT J 1400 IF GF=0 THEN GF=1:T2$=A$:FV(CY)=VAL(T2$):RETURN 1410 T2$=LEFT$(T2$+A$,7):FV(CY)=VAL(T2$):RETURN 1420 IF FC%(CY)=0 THEN RETURN 1430 IF FC%(CY)<>1 THEN1500 1440 T$=HD$+SP$+HD$+"[215][193][210][206][201][206][199] - % RATE " 1450 IF FV(CY)>100 THEN PRINTT$;"GREATER THAN 100":RETURN 1460 IF FV(CY)=0 THEN PRINTT$;"IS ZERO":RETURN 1470 IF V2(CY)>0 AND FV(CY)>V2(CY)*2+4 THEN PRINTT$;"VERY HIGH":RETURN 1480 IF V2(CY)>0 AND FV(CY)<.1 THEN PRINTT$"VERY LOW":RETURN 1490 GOTO1540 1500 IF FC%(CY)<>4 THEN1540 1510 T$=HD$+SP$+HD$+"[215][193][210][206][201][206][199] - # IS[160]" 1520 IF FV(CY)=0 THENPRINTT$;"ZERO":RETURN 1530 IF V2(CY)>0 AND FV(CY)>V2(CY) THENPRINTT$;"EXTREMELY LARGE":RETURN 1540 PRINTHD$;SP$:RETURN 1550 IF QT=ZT THEN RETURN 1560 QT=ZT:T=FN RS(ZT):I=0 1570 ZF(I)=0:READ FC$(I):IF FC$(I)="E" THEN NR=I-1:RETURN 1580 IF FC$(I)<>"IR" THEN1600 1590 FC$(I)="[201]NFLATION RATE":FC%(I)=1:FV(I)=4.4:V2(I)=5:GOTO1630 1600 V2(I)=-1:READ FC%(I):IF FC%(I) THEN READ FV(I):V2(I)=FV(I) 1610 IF FC%(I)=4 OR FC%(I)=1 THEN READ ZF(I) 1620 IF FC%(I)=4 THEN READ V2(I) 1630 I=I+1:GOTO1570 1640 R4=12:GOTO1660 1650 R4=7 1660 T$="$"+MID$(STR$(INT(RR+.5)),2):PRINTLEFT$(SP$,R4-LEN(T$));T$;:RETURN 1670 PRINT"$"MID$(STR$(INT(RR+.5)),2);:RETURN 1680 AN$="$"+MID$(STR$(AN),2) 1690 IF AN=INT(AN) THEN AN$=AN$+".00":RETURN 1700 IF ABS(AN*10-INT(AN*10+.5))<.001 THEN AN$=AN$+"0" 1710 RETURN 1720 PRINT:PRINT"[195]HANGE ANY OR ALL VALUES, THEN MOVE" 1730 PRINT"CURSOR TO THE NUMBER YOU WANT" 1740 PRINT"CALCULATED AND PRESS F1." 1750 CY=2:SF=0:RETURN 1760 AN=FN RD(AN):GOSUB1680:PRINTLEFT$(SP$,11-LEN(AN$));AN$;:RETURN 1770 PRINTH$;LEFT$(DN$,NR+4);:FOR RR=NR+4 TO 23:PRINTSP$:NEXT 1780 PRINT H$;LEFT$(DN$,NR+4):IF AF=1 THEN FV(CY)=.01 1790 FOR K=2 TO NR:IF ZF(K)=0 OR FV(K)>00 THEN1820 1800 PRINTFC$(K)" = 0";ER$:K=NR:QA=3 1810 PRINT" [195]HANGE VALUE THEN F1 CALC, _ MENU" 1820 NEXT:IF QA=3 THEN RETURN 1830 PRINT H$;LEFT$(DN$,NR+4);R$"CALCULATING..."U$:SF=0:RETURN 1840 PRINT:PRINT"[197]NTER ALL VALUES THEN PRESS F1 TO CALC":CY=2:SF=0:RETURN 1850 PRINTHR$U$"[208]RESS F5 ";T$:PF=-1 1860 PRINTHR$"[208]RESS F1 ANOTHER, F3 PRINT, _ MENU":GF=0 1870 GETA$:IF A$="" THEN1870 1880 A=ASC(A$):IF A=67 THEN GOSUB1940:GOSUB930:GOSUB1950:GOTO1870 1890 IF PF<0 AND A=135 THEN RA=4:GOTO1920 1900 IF C%(A)>4 THEN1870 1910 RA=C%(A)-1:IF RA<1 OR RA>3 THEN1870 1920 IF PF<0 THEN PRINTH$;SP$:PF=0 1930 PRINTHD$;SP$:RETURN 1940 FOR K=0 TO 39:TP(K)=PEEK(1064+K):NEXT:RETURN 1950 FOR K=0 TO 39:POKE 1064+K,TP(K):NEXT:RETURN 2000 REM-- 2010 DATA "[195]OLLEGE PLANNING",0," ",0 2020 DATA "[212]ODAY'S ANNUAL COST",2,11500 2030 DATA IR 2040 DATA "[217]EARS UNTIL COLLEGE",4,12,1,18 2050 DATA "# YEARS IN COLLEGE",4,4,1,8," ",0 2060 DATA "[208]RESENT SAVINGS",2,8500 2070 DATA "[193]FTER TAX YIELD ",1,7.35,1 2080 DATA E 2090 ZT=2000:LC=28:GOSUB1550 2100 PRINTCD$:SF=0 2110 GOSUB580 2120 GOSUB1840 2130 GOSUB780 2140 ON QA GOTO400,2150,2130 2150 IF FV(4)=0 OR FV(5)=0 THEN AN=FV(CY):PRINT"# YEARS 0"+ER$:GOTO2330 2160 T2=0:T3=0:T4=0:RI=1+(FV(8)-FV(3))/100:R3=1+FV(3)/100:R8=1+FV(8)/100 2170 FOR I=FV(4) TO FV(4)+FV(5)-1 2180 T2=T2+FV(2)/RI^I 2190 T3=T3+R3^FV(4)/(RI^(I-FV(4))) 2200 T4=T4+R3^I*FV(2) 2210 NEXT I:T3=T3*FV(2)-FV(7)*R8^FV(4) 2220 PRINT"[212]OTAL COLLEGE COSTS WILL BE $";INT(T4+.5):PRINT 2230 IF FV(8)=0 THEN AN=T3/FV(4):GOTO2250 2240 AN=T3*FV(8)/100/(R8^FV(4)-1) 2250 IF AN>0 THEN2280 2260 RR=FV(7)-T2:PRINT"[211]AVINGS EXCEED NEEDS BY ";:GOSUB1670 2270 PRINT".":Q2=0:GOTO2330 2280 PRINT"[217]OU NEED TO SAVE $"FN R2(25)"EVERY YEAR" 2290 PRINT"FOR THE NEXT";FV(4)"YEARS":AN=T2-FV(7) 2300 PRINT"[207][210] SET ASIDE AN ADDITIONAL $";FN R2(500) 2310 PRINT"TODAY TO PAY FOR COLLEGE." 2320 AN=AN+FV(7):Q2=FN R2(500) 2330 GOSUB1860:ON RA GOTO400,2100 2340 GOSUB600:GOTO2330 3000 REM-- 3010 DATA "[195]AR BUY/LEASE",0 3020 DATA " ",0 3030 DATA IR," ",0 3040 DATA "--[194][213][217]--",0 3050 DATA "[208]RICE OF [195]AR",2,12500 3060 DATA " [198]INANCING",3,1 3070 DATA " [212]RADE IN/DOWN PAYMENT",2,2000 3080 DATA " [193]NNUAL % RATE",1,12,1 3090 DATA " # OF MONTHLY PAYMENTS",4,60,1,84,"--[204][197][193][211][197]--",0 3100 DATA " [210]EFUNDABLE SECURITY DEP",2,250 3110 DATA " [201]NITIAL PAYMENT",2,378 3120 DATA " [205]ONTHLY PAYMENT",2,189 3130 DATA " # OF PAYMENTS",4,60,0,84 3140 DATA " [194]UY OUT PRICE",2,6200 3150 DATA E 3160 ZT=3000:LC=31:GOSUB1550 3170 PRINTCD$:SF=0 3180 GOSUB580 3190 GOSUB1840 3200 PRINT:PRINT"[217]EARS TO MONTHS: 3/36, 4/48, 5/60" 3210 GOSUB780 3220 ON QA GOTO400,3230,3210 3230 IF FV(6)=0 THEN TC=FV(5):GOTO3280 3240 TC=FV(7):I=FV(8)/100:R2=(1+FV(2)/100)^(1/12):P=FV(5)-FV(7) 3250 EP=(I*P/12)/(1-1/(I/12+1)^(12*FV(9)/12)) 3260 FOR J=1 TO FV(9) 3270 TC=TC+EP/(R2^J):NEXT 3280 T2=FV(12):RI=(1+FV(2)/100)^(1/12):T2=T2+FV(11)-FV(11)/RI^FV(14) 3290 FOR J=1 TO FV(14) 3300 T2=T2+FV(13)/RI^J:NEXT:T2=T2+FV(15)/RI^FV(14) 3310 PRINT"[212]OTAL COSTS FOR BUYING: $";:IF FV(6)=0 THEN PRINTFV(5):GOTO3330 3320 PRINT INT(EP*FV(9)+FV(7)+.5) 3330 PRINT SPC(15)"LEASING: $";INT(FV(13)*FV(14)+FV(12)+FV(15)+.5) 3340 PRINT"[210]EAL COSTS, AFTER INFLATION ADJUSTMENT" 3350 PRINT SPC(16)"BUYING: $";INT(TC+.5) 3360 PRINT SPC(15)"LEASING: $";INT(T2+.5) 3370 IF FV(6)=0 THEN3390 3380 PRINT" [205]ONTHLY PAYMENTS IF FINANCED: $";INT(EP+.5);H$ 3390 GOSUB1860:ON RA GOTO400,3170 3400 GOSUB600:GOTO3390 4000 REM-- 4010 DATA "[195]OMPOUND INTEREST/SAVINGS",0," ",0 4020 DATA "[208]RESENT VALUE",2,2915 4030 DATA "[205]ONTHLY ADDITION",2,35 4040 DATA "[193]NNUAL YIELD",1,6.29,0 4050 DATA "# OF YEARS",4,9,0,49 4060 DATA "[198]UTURE VALUE",2,10000 4070 DATA E 4080 ZT=4000:LC=25:GOSUB1550 4090 PRINTCD$:SF=0:AF=1 4100 GOSUB580 4110 GOSUB1720 4120 GOSUB780 4130 ON QA GOTO400,4140,4120 4140 PV=FV(2):R=FV(3):N=12:RI=(1+FV(4)/100)^(1/12):I=1-RI:Y=FV(5):T=FV(6) 4150 NY=Y*12:T2=PV*RI^NY:T=T-T2:RN=RI^NY:IN=FV(4)/1200 4160 ON CY-1 GOTO4170,4190,4250,4360,4420 4170 T4=0:FOR K=0 TO Y*12-1:T4=T4+R*RI^K:NEXT 4180 AN=(FV(6)-T4)/RN:AN=INT(AN+.5):GOTO4440 4190 IF RI=1 THEN AN=(FV(6)-PV)/NY:GOTO4210 4200 T5=(FV(6)-PV*RN)*(RI-1)/(RN-1):AN=T5 4210 AN$=MID$(STR$(INT(AN*100-INT(AN)*100)),2) 4220 IF LEN(AN$)=1 THEN AN$="0"+AN$ 4230 AN$="$"+STR$(INT(AN))+"."+AN$ 4240 AN=INT(AN+.5):GOTO4470 4250 AN=10:DA=4.95:G=0:A4=500 4260 IF NY*R+PV<=0 THEN4450 4270 IF FV(6)10 THEN A4=INT(A4*.9) 4290 G2=PV*RN+R*(RN-1)/(RI-1):IF INT(G2*A4+.5)=FV(6)*A4 THEN4350 4300 IF G24 THEN T=4:GOTO5390 5160 IF FV(5)=0 AND CY<>5 THEN T=5:GOTO5390 5170 IF FV(2)=0 AND CY<>2 THEN T=2:GOTO5390 5180 IF P>R*NY AND CY=3 THENAN=FV(CY):AN$="NEGATIVE RESULT"+ER$:GOTO5410 5190 ON CY-1 GOTO5200,5230,5320,5360 5200 IF I3=1 THEN AN=R*NY:GOTO5220 5210 AN=R*N*(1-1/I3^NY)/I2 5220 AN=INT(AN+.5):AN$="$"+STR$(AN):GOTO5410 5230 SF=0:AN=10:DA=4.95:G=0:IF R*NY=P THEN AN=0:GOTO5310 5240 I2=AN/100:I3=I2/N+1 5250 G2=(I2*P/N)/(1-1/I3^NY):IF INT(G2*50+.5)=R*50 THEN5310 5260 IF G212 THEN5480 5510 INPUT" YEAR";YR$:YR=INT(VAL(YR$)):IF YR>100 THEN YR=YR-INT(YR/100)*100 5520 GOSUB720:IF T<0 THEN5080 5530 PRINT"PRINTING PAYMENT SCHEDULE..." 5540 OPEN4,4:CMD4 5550 AN=FV(2):GOSUB1760:PRINTDC$" BORROWED AT "FV(3)"%":AN=FV(5) 5560 PRINT:PRINTDC$" # DATE PRINCIPAL INTEREST BALANCE DUE" 5570 P=FV(2):A=FV(5):RI=FV(3)/1200:IF FV(4)=1 THEN5690 5580 FOR K=1 TO FV(4) 5590 IF K<100 THEN PRINT" ";:IF K<10 THEN PRINT" "; 5600 PRINTK; 5610 T$=DC$+STR$(M)+"/":IF YR<10 THEN T$=T$+"0" 5620 T$=T$+MID$(STR$(YR),2):PRINTLEFT$(SP$,7-LEN(T$));T$; 5630 M=M+1:IF M>12 THEN M=1:YR=YR+1:IF YR>99 THEN YR=0 5640 IF K=FV(4) THEN NEXT:GOTO5690 5650 T=P*RI:AN=A-T:GOSUB1760 5660 AN=T:GOSUB1760:PRINT" "; 5670 P=P-A+T:AN=P:GOSUB1760:PRINT 5680 NEXT 5690 T=P*RI:AN=P:GOSUB1760 5700 AN=T:GOSUB1760:AN=0:GOSUB1760 5710 AN=FV(5):PRINT:PRINTDC$" REGULAR PAYMENTS:";:GOSUB1760:PRINT 5720 AN=P+T:PRINTDC$" LAST PAYMENT:";:GOSUB1760 5730 PRINT#4:CLOSE4 5740 PRINT"PRESS F1, F3 TO GO BACK TO LOANS, _ MENU" 5750 GOSUB1870:ON RA GOTO400,5080,5080 6000 REM-- 6010 DATA "[198]IXED RATE OR ADJUSTABLE RATE MORTGAGE",0," ",0 6020 DATA "[208]RINCIPAL",2,86000 6030 DATA "[198]IXED RATE MORTGAGE",0 6040 DATA " [193]NNUAL % RATE",1,10.86,1 6050 DATA " [208]OINTS",1,3,0 6060 DATA " # OF YEARS",4,30,1,40 6070 DATA "[193]DJUSTABLE RATE MORTGAGE",0 6080 DATA " [201]NITIAL INTEREST RATE",1,8.93,1 6090 DATA " [208]OINTS",1,2,0 6100 DATA " [217]EARLY CAP",1,2,1 6110 DATA " [204]IFETIME CAP",1,14,1 6120 DATA " # OF YEARS",4,30,1,40 6130 DATA " ",0 6140 DATA IR 6150 DATA E 6160 ZT=6000:LC=30:GOSUB1550 6170 PRINTCD$:SF=0:GOSUB580 6180 GOSUB1840 6190 GOSUB780 6200 ON QA GOTO400,6210,6190 6210 N=12:I2=FV(4)/100:I3=I2/N+1:NY=FV(6)*12:P=FV(2):Y=FV(6):YY=FV(12) 6220 A2=(I2*P/N)/(1-1/I3^NY) 6230 I2=FV(8)/100:I3=I2/N+1:NY=FV(12)*12 6240 AN=(I2*P/N)/(1-1/I3^NY):A(0)=AN:W(0)=AN 6250 MX=FV(11)/100:D=FV(10)/100:P(0)=P:Q(0)=P:I2(0)=I2:W2(0)=I2 6260 CF(0)=FV(5)/100*P:CP(0)=FV(10)/100*P:CW(0)=CP(0):NY=YY*12 6270 Y2=0:Y4=0:RI=1+FV(14)/100 6280 FOR K=1 TO 5:GOSUB6810:NEXT 6290 RR=A2:PRINT"[198]IXED RATE PAYMENTS ARE[160]";:GOSUB1670:PRINT" A MONTH." 6300 RR=AN:PRINT"[193][210][205][160]PAYMENTS START AT ";:GOSUB1670:PRINT". [201]F RATES" 6310 RR=A(2):PRINT"RISE .5% A YEAR, PAYMENTS BECOME ";:GOSUB1670:PRINT 6320 RR=A(5):PRINT"IN 2 YEARS, AND ";:GOSUB1670:PRINT" IN 5 YEARS." 6330 RR=W(2):PRINT"[201]N THE WORST CASE, PAYMENTS ARE ";:GOSUB1670:PRINT 6340 RR=W(5):PRINT"IN 2 YEARS, AND ";:GOSUB1670:PRINT" IN 5 YEARS." 6350 T$="FOR FURTHER ANALYSIS" 6360 GOSUB1850:ON RA GOTO400,6170,6370,6380 6370 GOSUB600:GOTO6350 6380 IF Y<6 THEN6410 6390 TY=Y-1:IF YY>Y THEN TY=YY-1 6400 GOSUB1770:FOR K=6 TO TY+1:GOSUB6810:NEXT 6410 PRINTCD$;DC$"[193]DJUSTABLE RATE MORTGAGES ARE GREAT" 6420 PRINT"IF INTEREST RATES GO DOWN, AND TERRIBLE" 6430 PRINT"WHEN RATES SKYROCKET. [193][210][205]S ARE ALSO" 6440 PRINT"GOOD FOR PEOPLE WHO MOVE OFTEN." 6450 IFYY<>YTHENPRINT"[195]OMPARISONS INVALID BECAUSE LENGTHS DIFFER.":GOTO6570 6460 IF Y2>0 THEN6490 6470 PRINT"[212]HE FIXED RATE MORTGAGE IS SUPERIOR. [212]HE"; 6480 PRINT"[193][210][205] MAKES SENSE IF RATES GO DOWN.":GOTO6570 6490 PRINT"[201]F INTEREST RATES INCREASE .5% A YEAR" 6500 PRINT"(A REALISTIC AND PESSIMISTIC SCENARIO)" 6510 PRINT"AND YOU SELL WITHIN"Y2"YEARS THE [193][210][205]":PRINT"IS BETTER."; 6520 IF Y4=0 THEN6570 6530 PRINT" [201]F RATES RISE QUICKLY (UP" 6540 PRINT"YEARLY CAP EVERY YEAR), YOU STILL" 6550 PRINT"COME OUT AHEAD IF SELL WITHIN"Y4 6560 PRINT"YEARS." 6570 PRINT:T$="TO PRINT COST ANALYSIS TABLE" 6580 GOSUB1850:ON RA GOTO400,6170,6590,6610 6590 GOSUB600:GOTO6570 6600 IF A=95 THEN6170 6610 GOSUB720:IF T=-1 THEN6170 6620 OPEN4,4,7:CMD4 6630 RR=A2:PRINTDC$"[198]IXED RATE PAYMENTS ARE ";:GOSUB1670:PRINT 6640 IF FV(6)=FV(12) THEN6660 6650 PRINTDC$"[215][193][210][206][201][206][199]! COST COMPARISON INVALID BECAUSE OF TERM DIFFERENCE." 6660 PRINT:PRINTDC$"[195]UMULATIVE REAL COSTS AND MONTHLY PAYMENTS":PRINT 6670 PRINTDC$"[217]R [198]IXED [210]ISING RATES [215]ORST CASE" 6680 PRINTDC$" COSTS COSTS PAYMENT COSTS PAYMENT" 6690 FOR K=0 TO TY 6700 PRINTDC$;MID$(STR$(K),2); 6710 IF K<10 THEN PRINT"[160]"; 6720 RR=CF(K):GOSUB1640:RR=CP(K):GOSUB1640:RR=A(K):GOSUB1650 6730 RR=CW(K):GOSUB1640:RR=W(K):GOSUB1650:PRINT:NEXT:IF Y<>YY THEN6780 6740 PRINT:PRINTDC$"[207]VER THE LIFE OF THE"Y"YEAR MORTGAGE THE REAL COSTS ARE:" 6750 RR=CF(TY+1):GOSUB1640:PRINTDC$" FOR THE FIXED RATE MORTGAGE" 6760 RR=CP(TY+1):GOSUB1640:PRINTDC$" FOR THE [193][210][205] WITH RISING INTEREST RATES" 6770 RR=CW(TY+1):GOSUB1640:PRINTDC$" FOR THE WORST CASE [193][210][205]" 6780 PRINT#4:CLOSE4:PRINTCHR$(147)HR$"[208]RESS F1, F3 ANOTHER, _ MENU":GOSUB1870 6790 IF A=95 THEN400 6800 GOTO6170 6810 T=K-1:N4=NY-K*N 6820 H=N/RI^T:CF(K)=CF(T)+A2*H:CP(K)=CP(T)+A(T)*H:CW(K)=CW(T)+W(T)*H 6830 IF CF(K)>CP(K) THEN Y2=K 6840 IF CF(K)>CW(K) THEN Y4=K 6850 I2=I2(T)/12:W2=W2(T)/12:P=P(T):Q=Q(T):A=A(T):W=W(T) 6860 FOR J=1 TO N 6870 P=P+P*I2-A:Q=Q+Q*W2-W 6880 NEXT J:Q(K)=Q:P(K)=P 6890 I2(K)=I2(T)+.005:IF I2(K)>MX THEN I2(K)=MX 6900 W2(K)=W2(T)+D:IF W2(K)>MX THEN W2(K)=MX 6910 IF N4=0 THEN A(K)=0:W(K)=0:P(K)=0:Q(K)=0:GOTO6950 6920 IF K>Y THEN CF(K)=CF(T) 6930 A(K)=(I2(K)*P(K)/N)/(1-1/(I2(K)/N+1)^N4) 6940 W(K)=(W2(K)*Q(K)/N)/(1-1/(W2(K)/N+1)^N4) 6950 RETURN 7000 REM-- 7010 DATA "[204]IFE INSURANCE NEEDS",0," ",0 7020 DATA "[212]OTAL HOUSEHOLD SALARY INCOME",2,43000 7030 DATA "[217]OUR SALARY, BEFORE TAXES",2,25000 7040 DATA "[193]NNUAL SAVINGS",2,2000 7050 DATA "[217]OUR AGE",4,42,0,99 7060 DATA "# OF PEOPLE IN HOUSEHOLD",4,4,0,10 7070 DATA "[193]GE OF YOUNGEST PERSON",4,6,0,99 7080 DATA " ",0 7090 DATA "[195]ASH, SAVINGS/CHECKING ACCT.",2,1200 7100 DATA "[211]TOCKS, MUTUAL FUNDS",2,5000 7110 DATA "[200]ARD ASSET INVESTMENTS",2,0 7120 DATA " ",0,"[200]OME MORTGAGE",2,50000 7130 DATA "[195]AR LOAN",2,5000 7140 DATA "[195]ONSUMER DEBT",2,500 7150 DATA "[195]OLLEGE FUND",2,65000 7160 DATA "[195]HARITABLE CONTRIBUTIONS",2,1000 7170 DATA "[195]URRENT INTEREST RATE",1,9.35,0 7180 DATA E 7190 ZT=7000:LC=38:GOSUB1550:IF Q2>0 THEN FV(16)=Q2 7200 PRINTCD$:SF=0 7210 GOSUB580 7220 GOSUB1840 7230 GOSUB780 7240 ON QA GOTO400,7250,7230 7250 IF FV(2)18 THEN7330 7310 T4=FV(3):IF T4>37000 THEN T4=37000 7320 RE=RE-4000-(FV(6)>3)*1400-T4/15 7330 IP=RE/I*100+R2:IF IP<0 THEN IP=0:GOTO7360 7340 IF FV(7)<10 THEN IP=IP*(1+(10-FV(7))/33) 7350 IF FV(7)>12 AND FV(7)<21 THEN IP=IP*(1-(FV(7)-12)/33) 7360 T=FV(3)/(FV(2)+1) 7370 AN=IP+FE-CA*T+CD*SQR(T)+FV(17):IF FV(6)>2AND IP<1THEN AN=AN+(FV(6)-2)*2500 7380 IF AN>100000 THEN AN=FN R2(5000):GOTO7410 7390 IF AN>50000 THEN AN=FN R2(2500):GOTO7410 7400 AN=FN R2(1000) 7410 PRINTSP$:PRINTSP$:PRINTU3$ 7420 IF AN<1000 THEN PRINT"[217]OU MAY NOT NEED ANY LIFE INSURANCE.":GOTO7520 7430 PRINT"[217]OU SHOULD HAVE ABOUT $";STR$(AN) 7440 PRINT"IN LIFE INSURANCE COVERAGE. [204]OOK INTO" 7450 T$="UNIVERSAL LIFE":A=FV(5):T=AN/FV(2) 7460 IF T>10 OR (T>8 AND AN>30) OR (T>6 AND A>35) THEN T$="TERM LIFE":GOTO7490 7470 T=FV(2)/FV(4):IF T<5 OR (T<6 AND A<35) THEN T$="TERM LIFE":GOTO7490 7480 IF A<35 OR (A<55 AND FV(4)<1000) THEN T$="TERM LIFE OR UNIVERSAL LIFE" 7490 IF FV(3)>75000 AND FV(4)45 AND CAW THEN RR=A-W:GOSUB1670:PRINT" LESS THAN THE OLD PAYMENTS." 8400 IF A0 THEN8440 8420 PRINT"[210]EFINANCING WITH THESE TERMS COSTS YOU" 8430 PRINT"MONEY, SO YOU PROBABLY SHOULDN'T DO IT.":GOTO8470 8440 AN=AN/12:PRINT"[217]OU MUST WAIT "FN R2(.1)"YEARS FOR" 8450 PRINT"THE REFINANCING TO BE BETTER THAN THE" 8460 PRINT"EXISTING MORTGAGE."H$ 8470 GOSUB1860:ON RA GOTO400,8180 8480 GOSUB600:GOTO8470 9000 REM-- 9010 DATA "[201][210][193] [208]LANNER",0," ",0 9020 DATA "[217]OUR AGE",4,42,0,65 9030 DATA "[195]URRENT [201][210][193][160]BALANCE",2,7100 9040 DATA "[212]HIS YEAR'S CONTRIBUTION",2,2000 9050 DATA "[197]STIMATED ANNUAL YIELD",1,9.23,0 9060 DATA "[195]URRENT TAX BRACKET",1,28,0 9070 DATA "[197]ARLY WITHDRAWAL PENALTY",1,10,0 9080 DATA "% OF CONTRIBUTION DEDUCTIBLE",1,100,0 9090 DATA "[210]ETIREMENT AGE",4,67,0,70 9100 DATA "[212]AX BRACKET WHEN YOU WITHDRAW",1,33,0 9110 DATA IR,E 9120 ZT=9000:LC=36:GOSUB1550 9130 PRINTCD$:SF=0 9140 GOSUB580 9150 GOSUB1840 9160 GOSUB780 9170 ON QA GOTO400,9180,9160 9180 IF FV(9)<=FV(2) THEN PRINTFC$(2)" [199][210][197][193][212][197][210][160][212][200][193][206] "FC$(9):PRINTER$:GOTO9420 9190 Y=FV(9)-FV(2):RI=1+FV(5)*(100-FV(6))/10000 9200 R2=(100-FV(6))/100:R3=(100-FV(10))/100:I=1+FV(5)/100 9210 I2=FV(4)*I^Y-FV(4):DR=FV(8)/100:ND=FV(4)-FV(4)*DR:DD=FV(4)*DR 9220 AN=I2*R3+DD*R3-ND*R2*RI^Y+ND:T3=FV(4)*R2:A2=RI^Y*T3 9230 PRINT"[195]ONTRIBUTION WILL BE WORTH $"INT(AN+.5) 9240 PRINT"(AFTER TAXES) WHEN YOU RETIRE." 9250 PRINT"[195]OMPARED TO $"INT(A2+.5)"OUTSIDE THE [201][210][193].":T=(100-FV(7))/100 9260 PRINTR$"STILL CALCULATING" 9270 T6=FV(3)*I^Y*R3 9280 T3=FV(4)*R2:AN=0 9290 FOR K=1 TO Y 9300 T4=(FV(4)*I^K-FV(4))*R3+DD*R3-ND*R2*RI^K+ND 9310 T6=T6+T4:IF K+FV(2)>59 THEN T=1 9320 T8=T4-ND:T8=T8*T:T8=T8+ND 9330 T5=T3*RI^K:IF T8>T5 AND AN=0 THEN AN=K:T7=T4 9340 NEXT 9350 PRINTU$"[201]F YOU CONTRIBUTE THIS AMOUNT EVERY" 9360 PRINT"YEAR YOU WILL HAVE[160]$"INT(T6)"WHEN YOU" 9370 PRINT"RETIRE (AFTER PAYING TAXES). [212]HIS WILL" 9380 PRINT"BE WORTH $"INT(T6/(1+FV(11)/100)^Y)"AFTER INFLATION." 9390 IF AN=0 THEN PRINT"[193]N [201][210][193][160]MAY NOT BE RIGHT FOR YOU.":GOTO9420 9400 PRINT"[201]T WILL TAKE"AN"YEARS BEFORE EARLY" 9410 PRINT"WITHDRAWALS ARE PROFITABLE." 9420 GOSUB1860:ON RA GOTO400,9130 9430 GOSUB600:GOTO9420