10 POKE 53281,15:POKE53280,15:PRINTCHR$(142) 90 DIM B(5),B$(5) 100 PRINT"[147] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 101 PRINT" [221] [146][221]" 105 PRINT" [221] THE LENDER'S FORMULA [146][221]" 110 PRINT" [221] PRESENT VALUE CALCULATOR [146][221]" 112 PRINT" [221] BY MARTY MATTHEWS [146][221]" 113 PRINT" [221] [146][221]" 115 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 120 PRINT"[144] 1 - (1+R/Q)^-(Y*Q) 125 [153]" T = A * LENTANTANTANTANTANTANTANTANTANTANTANTANLENLENLENLENLEN 130 PRINT" (R/Q)" 150 B$(1)="(T) TOTAL AMOUNT......":PRINTB$(1) 160 B$(2)="(A) PAYMENT...........":PRINTB$(2) 170 B$(3)="(R) RATE/YR (.001-.5).":PRINTB$(3) 180 B$(4)="(Y) NUMBER OF YEARS...":PRINTB$(4) 190 B$(5)="(Q) PAYMENTS/YEAR.....":PRINTB$(5) 200 Y=12:X=24:FORJ=1TO5:GOSUB1000:A2$=B$(J):PRINT ">" 210 GOSUB 1100:B(J)=AT:NEXT 220 TT=B(1):AA=B(2):RR=B(3):YY=B(4):QQ=B(5) 230 GOSUB800:IFA$="A"THEN700 240 IFA$="T" THEN 750 245 IFA$="R"THEN600 247 IFA$="Y"THEN500 250 PRINT " CONTINUE? (Y/N) ":SYS46374 255 WAIT 198,15:GETB$:IFB$="Y"THEN 100 260 IFB$="N" THEN GOTO2500 270 GOTO 255 500 GOSUB950:IF A<>0 THEN GOTO 250 503 PRINT " WORKING !" 505 YX=YY:Y1=75:Y3=.08:Y2=(Y1-Y3)/2. 510 YY=Y1:GOSUB900:A1=TT/X1:IF A1>AA THEN 590 512 YY=Y3:GOSUB900:A3=TT/X1:IF A3A2THENA1=A2:Y1=Y2:Y2=Y2-(Y2-Y3)/2:YY=Y2:GOSUB900:A2=TT/X1:GOTO570 540 PRINT " YEARS ";Y2:YY=YX:B(4)=Y2:GOTO250 570 IF (Y1-Y3)<.0001 THEN 540 575 GOTO520 590 PRINT "PAYMENT OUT OF RANGE FOR YEARS!":GOTO250 600 GOSUB950:IF A=1 THEN GOTO 250 603 PRINT " WORKING !" 605 RX=RR:R1=.5:R3=.001:R2=(R1-R3)/2. 610 RR=R1:GOSUB900:A1=TT/X1:IF A1AA THEN 690 614 RR=R2:GOSUB900:A2=TT/X1 620 IF AA>A2THENA3=A2:R3=R2:R2=R2+(R1-R2)/2:RR=R2:GOSUB900:A2=TT/X1:GOTO670 630 IF AA0 THEN GOTO 250 710 GOSUB900 720 AA=TT/X1:PRINT " PAYMENT";AA 730 B(2)=AA:GOTO250 750 GOSUB950:IF A<>0 THEN GOTO 250 760 GOSUB900:TT=AA*X1:PRINT " TOTAL AMOUNT ";TT 770 B(1)=TT:GOTO250 800 PRINT:PRINT "SOLVE FOR (SELECT A,T,R,Y): "; 805 WAIT198,15:GETA$:GOTO885 810 PRINT " ";A$;"" 820 RETURN 885 IF(A$= "R"OR A$= "T"OR A$= "A"OR A$ ="Y") THEN810 890 GOTO805 900 X1=(1-((1+RR/QQ)^(-YY*QQ)))/(RR/QQ) 910 IF X1 = 0 THEN PRINT "CALCULATION ERROR! CHECK VARIABLES!":A=3:GOTO250 950 A=0:IF QQ=0 THEN A1$="PMTS/YR ":GOSUB970:A=1:RETURN 955 IF A$="R"THEN 965 960 IF RR=0 THEN A1$="RATE/YR ":GOSUB970:A=2:RETURN 965 RETURN 970 PRINT "MISSING VARIABLE FOR: ";A1$ 980 RETURN 1000 POKE 214,Y+J:POKE211,X:PRINT"[145]";:RETURN 1100 REM GET ROUTINE 1110 A1$="" 1120 GET A$:IF A$="" THEN 1120 1130 A=ASC(A$):IF A=20 THENGOSUB1300:GOTO1190 1140 IF A=13THEN 1200 1150 IF A$="."ORA$="," THEN1180 1160 IF A$ = "-" AND LEN(A1$) = 0 THEN 1180 1165 IF A$ = "*" AND LEN(A1$) = 0 THEN A1$=STR$(B(J)):GOSUB1195:AT=B(J):RETURN 1170 IF A < 48 OR A > 60 THEN 1120 1180 A1$=A1$+A$ 1190 GOSUB1195:GOTO 1120 1195 PRINT "[145]"+A2$+":  "+A1$+" ":RETURN 1200 DV=0:L =LEN(A1$):A = 0:AT = 0:P = 0:AN = 1 1210 FOR I=1 TO L:A$ = MID$(A1$,I,1) 1215 IF A$="-" THEN AN=-1:GOTO 1260 1220 IFA$=","THEN 1260 1230 IF A$="."THENDV=1:GOTO 1260 1240 IF DV=0 THEN A=VAL(A$):AT = AT*10 + A 1250 IF DV=1 THEN P=P+1:A=VAL(A$):AT = AT + A/(10^P) 1260 NEXT:AT=AT*AN:RETURN 1300 L=LEN(A1$):IFL=0THEN RETURN 1310 L=L-1:A1$=MID$(A1$,1,L):RETURN 2500 REM EXIT TO LOADSTAR **** 2510 F$="HELLO CONNECT":N$="LOADSTAR" 2548 POKE 53280,3:POKE 53281,3 2550 PRINT"[147]"TAB((40-LEN(N$)-10)/2)"[204]OADING "CHR$(34)N$CHR$(34) 2560 PRINT"[159]NEW":PRINT"LOAD"CHR$(34)F$CHR$(34)",8,1" 2562 PRINT"?C[200](144)C[200](142):RUN" 2570 POKE198,3:POKE631,13:POKE632,13:POKE633,13:END