home *** CD-ROM | disk | FTP | other *** search
- 5 CLEAR
- 10 REM MF 10 /5 FILTER RESISTOR SELECTION PROGRAM
- 15 DIM D(97)
- 17 DIM F(96,2)
- 20 PRINT "This program selects resistor values for the different modes"
- 30 PRINT"of the MF10. You input the type of filter response and values"
- 40 PRINT"of Q,Ho,Fo and clock ratio you will use. The program will find"
- 50 PRINT"the best 1% or 5% resistor values."
- 55 INPUT "Would you like a hard copy";PR$:PR$=LEFT$(PR$,1)
- 56 IF PR$<>"Y" AND PR$<>"N" GOTO 55
- 60 INPUT "What resistor tolerance 5% or 1%(Enter 1 or 5)";TOL
- 63 IF TOL<>1 AND TOL<>5 THEN GOTO 60
- 65 GOSUB 6020
- 70 REM
- 80 MNL1$="6A or 6B":MNL2$="1,1A,2,3 or 3A":MNH2$="3 or 3A"
- 90 MNB2$=MNL2$:MNN2$="1,2 or 3A":MNA2$="4"
- 100 PRINT"Enter the filter response required Low pass(L),High pass(H),"
- 110 INPUT"Band pass(B),Notch(N) and All pass(A)";FR$
- 120 IF FR$="L" THEN GOSUB 5300 ELSE GOTO 130
- 125 IF ORD=1 THEN MN$=MNL1$ :GOTO 230
- 126 MN$=MNL2$:GOTO 230
- 130 IF FR$="H" THEN GOSUB 5300 ELSE GOTO 140
- 135 IF ORD=1 THEN PRINT"Mode 6A is available.":MD$="6A":GOTO 2600
- 136 MN$=MNH2$:GOTO 230
- 140 IF FR$="B" THEN MN$=MNB2$:GOTO 230
- 150 IF FR$="N" THEN MN$=MNN2$:GOTO 230
- 160 IF FR$="A" THEN MN$=MNA2$:GOTO 230
- 170 GOSUB 5000
- 180 GOTO 80
- 230 PRINT "The modes available are " MN$ "(Enter " MN$ ")";
- 235 INPUT "";MD$
- 240 V=INSTR (MN$,MD$)
- 250 IF V<>0 THEN GOTO 260
- 255 PRINT "This mode is not valid for the response requested!":GOTO 230
- 260 IF MD$="1" GOTO 360
- 270 IF MD$="1A"GOTO 600
- 280 IF MD$="2" GOTO 800
- 290 IF MD$="3" GOTO 800
- 300 IF MD$="3A" GOTO 1200
- 310 IF MD$="4" THEN GOTO 1700
- 330 IF MD$="6A" THEN GOTO 2600
- 340 IF MD$="6B" THEN GOTO 2900
- 345 V=0:GOTO 250
- 350 GOTO 5950
- 360 GOSUB 5100
- 370 GOSUB 5200
- 380 GOSUB 5400
- 390 X=QX:GOSUB 6000
- 395 IF R1=0 OR R1=R2 THEN GOTO 420
- 400 IF FR$="N"THEN R3R=R1:R2R=R2:GOTO 460
- 410 GOTO 470
- 420 X=HX:J1=J:GOSUB 6000
- 425 IF R1=0 OR R1=R2 THEN GOTO 550
- 427 IF FR$="N" GOTO 550
- 430 R1R=R2
- 440 IF FR$="L" THEN R2R=R1:R3R=R2R*J1:GOTO 520
- 450 IF FR$="B" THEN R3R=R1:R2R=R3R/J1:GOTO 520
- 455 GOTO 255
- 460 IF R2R>R3R THEN R1R=R2R ELSE R1R=R3R
- 465 GOTO 520
- 470 R3R=R1:R2R=R2
- 475 IF FR$="L" THEN R1=R2R:GOTO 490
- 480 IF FR$="B" THEN R1=R3R:GOTO 490
- 485 GOTO 255
- 490 K=HX:B=1
- 500 GOSUB 7040
- 510 R1R=R2
- 520 HL=-(R2R/R1R):HB=-(R3R/R1R):HNX=-(R3R/R2R):QX=-(HNX)
- 524 GOSUB 5700
- 525 GOSUB 5800
- 530 PRINT "FC="FCLK" Q="QX" HL="HL" HB="HB" HN="HNX
- 535 IF PR$="Y" THEN LPRINT "FC="FCLK" Q="QX" HL="HL" HB="HB" HN="HNX
- 540 GOTO 5950
- 550 R2R=7.5:R3R=J1*7.5
- 555 IF FR$="L" THEN R1R=R2R/J:GOTO 520
- 560 IF FR$="B" THEN R1R=R3R/J:GOTO 520
- 565 IF FR$="N" THEN GOTO 460
- 570 GOTO 255
- 599 REM MODE 1A
- 600 GOSUB 5100
- 610 PRINT "Enter the center frequency (Fo) and the quality"
- 620 PRINT "factor (Q) values (don't abreviate)."
- 630 INPUT FX,QX
- 635 GOSUB 5400
- 640 X=QX:GOSUB 6000
- 645 IF R1=0 OR R1=R2 THEN R2R=7.5:R3R=R2R*J:GOTO 655
- 650 R3R=R1:R2R=R2
- 655 R1R=0 :R4R=0 :HL=1:HB1=-R3R/R2R:HB2=1:Q=-HB1
- 659 GOSUB 5700
- 660 GOSUB 5800
- 665 PRINT "HL="HL" HB1="HB1" HB2="HB2" FC="FCLK" Q="Q
- 666 IF PR$="Y" THEN LPRINT "HL="HL" HB1="HB1" HB2="HB2" FC="FCLK" Q="Q
- 670 GOTO 5950
- 799 REM MODE 3
- 800 GOSUB 5100
- 810 GOSUB 5500
- 820 GOSUB 5200
- 830 GOSUB 5400
- 840 GOSUB 5600
- 850 X=FR:GOSUB 6000
- 860 IF R1=R2 OR R1=0 GOTO 1030
- 870 R2R=R1:R4R=R2
- 875 IF MD$="2" THEN N=(R2R/R4R+1)^.5 :GOTO 890
- 880 N=(R2R/R4R)^.5
- 890 K=QX/N
- 900 B=2:R1=R2R
- 910 GOSUB 7030
- 920 R3R=R1
- 925 IF MD$="2" THEN GOTO 2000
- 930 IF FR$="L" THEN R1=R4R:GOTO 970
- 940 IF FR$="B" THEN R1=R3R:R2=0:GOTO 970
- 950 IF FR$="H" THEN R1=R2R:GOTO 970
- 960 GOTO 255
- 970 B=1:K=HX
- 980 GOSUB 7030
- 990 R1R=R2
- 1000 FO=FC/CLR*N:Q=N*R3R/R2R:HL=-R4R/R1R:HB=-R3R/R1R:HH=-R2R/R1R
- 1005 GOSUB 5700
- 1007 IF MD$="3A" GOTO 1360
- 1009 GOSUB 5800
- 1010 PRINT "Q="Q" Fo="FO" HL="HL" HB="HB" HH="HH
- 1011 IF PR$="Y" THEN LPRINT "Q="Q" Fo="FO" HL="HL" HB="HB" HH="HH
- 1020 GOTO 5950
- 1030 J1=J
- 1034 IF MD$="2" THEN X=QX/(J1+1)^.5 : GOTO 1045
- 1040 X=QX/(J1^.5)
- 1045 GOSUB 6000
- 1050 IF R1=R2 OR R1=0 GOTO 1060
- 1055 R3R=R1:R2R=R2:R4R=R2R/J1
- 1057 IF MD$="2" THEN N=(R2R/R4R+1)^.5:GOTO 2000
- 1058 N=(R2R/R4R)^.5:GOTO 930
- 1060 J2=J
- 1070 X=HX:GOSUB 6000
- 1080 IF R1=R2 OR R1=0 GOTO 1150
- 1085 IF MD$="2" THEN GOTO 2200
- 1090 IF FR$="L" THEN R4R=R1:R2R=R4R*J1:R3R=R2R*J2:GOTO 1130
- 1100 IF FR$="B" THEN R3R=R1:R2R=R3R/J2:R4R=R2R/J1:GOTO 1130
- 1110 IF FR$="H" THEN R2R=R1:R4R=R2R/J1:R3R=R2R*J2:GOTO 1130
- 1120 GOTO 255
- 1130 R1R=R2
- 1135 N=(R2R/R4R)^.5
- 1140 GOTO 1000
- 1150 R2R=7.5:R4R=R2R/J1:R3R=R2R*J2
- 1154 IF MD$="2" THEN N=(R2R/R4R+1)^.5 : GOTO 2400
- 1156 N=(R2R/R4R)^.5
- 1160 IF FR$="B" THEN R1R=R3R/J :GOTO 1000
- 1170 IF FR$="H" THEN R1R=R2R/J:GOTO 1000
- 1180 IF FR$="L" THEN R1R=R4R/J:GOTO 1000
- 1190 GOTO 255
- 1200 REM MODE 3A
- 1210 GOSUB 5100
- 1220 GOSUB 5500
- 1230 PRINT"Input in order the center frequency (Fo), notch frequency (Fn)"
- 1240 PRINT"and the quality factor."
- 1250 INPUT;FX,NF3,QX
- 1255 PRINT
- 1260 PRINT"Which MF10 output gain should have priority the low pass (L),"
- 1270 PRINT"high pass (H) or band pass (B)?"
- 1280 INPUT ;FR2$
- 1281 PRINT
- 1282 FR1$=FR$:FR$=FR2$
- 1283 IF FR2$="L" THEN A$="low pass":GOTO 1286
- 1284 IF FR2$="H" THEN A$="high pass":GOTO 1286
- 1285 IF FR2$="B" THEN A$="band pass" ELSE GOTO 1260
- 1286 PRINT "Enter the gain (Ho) for the " A$ " output?"
- 1287 INPUT ;HX
- 1288 PRINT
- 1290 PRINT"Which should have priority the gain as the input frequency approaches"
- 1295 PRINT"zero (Hon1) or the gain as the input frequency approaches Fclk/2 (Hon2)"
- 1300 INPUT "ENTER HON1 OR HON2";HN$
- 1305 IF HN$<>"HON1" AND HN$<>"HON2" GOTO 1300
- 1310 PRINT"What value should " HN$ " be?"
- 1320 INPUT ;HN
- 1325 PRINT
- 1350 GOTO 830:REM GOTO MODE 3
- 1360 Q1=Q:X=(NF3*CLR/FC)^2:GOSUB 6000
- 1365 IF R1=R2 OR R1=0 GOTO 1470
- 1370 RH3=R1:RL3=R2
- 1380 IF HN$="HON2" GOTO 1410
- 1390 K=HN/HL:IF K<1 THEN K=-K
- 1392 B=2:R1=RL3:GOSUB 7030
- 1400 GOTO 1420
- 1410 K=HN/HH:IF K<1 THEN K=-K
- 1415 R1=RH3:B=2:GOSUB 7030
- 1420 RG=R1
- 1430 HON1=-RG/RL3*HL:HON2=-RG/RH3*HH:NFX=(RH3/RL3)^.5*FC/CLR
- 1434 GOSUB 5900
- 1435 GOSUB 5800
- 1436 GOSUB 5830
- 1450 PRINT "FO="FO" FN="NFX" Q="Q1" HL="HL" HB="HB" HH="HH" HON1="HON1" HON2="HON2
- 1455 IF PR$="Y" THEN LPRINT "FO="FO" FN="NFX" Q="Q1" HL="HL" HB="HB" HH="HH" HON1="HON1" HON2="HON2
- 1460 GOTO 5950
- 1470 J3=J
- 1480 IF HN$="HON2" GOTO 1530
- 1490 X=HN/HH:IF X<1 THEN X=-X
- 1500 GOSUB 6000
- 1510 IF R1=R2 OR R1=0 GOTO 1580
- 1515 RH3=R2:RL3=RH3/J3
- 1520 RG=R1:GOTO 1430
- 1530 X=HN/HL:IF X<1 THEN X=-X
- 1540 GOSUB 6000
- 1550 IF R1=R2 OR R1=0 GOTO 1590
- 1560 RL3=R2:RH3=RL3*J3
- 1570 GOTO 1520
- 1580 RH3=7.5:RL3=7.5/J3:GOTO 1600
- 1590 RL3=7.5:RH3=7.5*J3
- 1600 RG=J*7.5:GOTO 1430
- 1700 REM MODE 4
- 1710 GOSUB 5100
- 1720 IF FR$><"A" THEN V=0:GOTO 250
- 1730 PRINT"Enter in order the center frequency (Fo) and the quality factor (Q)?"
- 1740 INPUT ;FX,QX
- 1745 PRINT
- 1750 GOSUB 5400
- 1760 X=QX:GOSUB 6000
- 1770 IF R1=R2 OR R1=0 GOTO 1820
- 1780 R3R=R1:R2R=R2:R1R=R2R
- 1790 Q=R3R/R2R:QZ=R3R/R1R:HL=-(R2R/R1R+1):HB=-R3R/R2R*(1+R2R/R1R):HA=R2R/R1R
- 1794 GOSUB 5700
- 1795 GOSUB 5800
- 1800 PRINT"Qo="Q" Qz="QZ" HL="HL" HB="HB" HA="HA
- 1805 IF PR$="Y" THEN LPRINT "Qo="Q" Qz="QZ" HL="HL" HB="HB" HA="HA
- 1810 GOTO 5950
- 1820 R1R=7.5:R2R=7.5:R3R=J*7.5:GOTO 1790
- 2000 IF FR$="L" OR FR$="HN1" THEN R1=R2R :K=HX*(R2R/R4R+1):GOTO 2030
- 2010 IF FR$="B" THEN R1=R3R : K=HX :GOTO 2030
- 2020 IF FR$="HN2" THEN R1=R2R : K=HX : GOTO 2030
- 2025 GOTO 255
- 2030 B=1
- 2040 GOSUB 7030
- 2050 R1R=R2
- 2060 X1=R2R/R4R+1:X2=X1^.5:FO=FC/CLR*X2:NFX=FC/CLR:QO=X2/R2R*R3R:HL=-R2R/R1R/X1
- 2065 HB=-R3R/R1R:HN2=-R2R/R1R
- 2068 GOSUB 5700
- 2070 GOSUB 5800
- 2080 PRINT"FO="FO" FN="NFX" Q="QO" HL="HL" HB="HB" HN1="HL" HN2="HN2
- 2085 IF PR$="Y" THEN LPRINT "FO="FO" FN="NFX" Q="QO" HL="HL" HB="HB" HN1="HL" HN2="HN2
- 2090 GOTO 5950
- 2200 IF FR$="B" THEN R3R=R1:R2R=R3R/J2:R4R=R2R/J1:GOTO 2220
- 2210 R2R=R1:R3R=R2R*J2:R4R=R2R*J1
- 2220 GOTO 2050
- 2400 IF FR$="B" THEN R1R=R3R/J :GOTO 2060
- 2410 R1R=R2R/J : GOTO 2060
- 2600 REM MODE 6A
- 2610 PRINT"Enter in order the center frequency (Fo), clock frequency (Fclk),"
- 2620 PRINT"and the gain (Ho)?"
- 2630 INPUT ;FX,FCLK,HX
- 2635 PRINT
- 2640 GOSUB 5100
- 2650 FR=FX/FCLK*CLR
- 2660 X=FR:GOSUB 6000
- 2670 IF R1=0 OR R1=R2 THEN GOTO 2780
- 2680 R2R=R1:R3R=R2
- 2690 IF FR$="H" THEN R1=R2R:GOTO 2720
- 2700 IF FR$="L" THEN R1=R3R:GOTO 2720
- 2710 GOTO 255
- 2720 B=1:K=HX:GOSUB 7030
- 2730 R1R=R2:R4R=0
- 2740 FO=FCLK/CLR*R2R/R3R:HL=-R3R/R1R:HH=-R2R/R1R
- 2745 GOSUB 5700
- 2750 GOSUB 5800
- 2760 PRINT "HL="HL" HH="HH" FO="FO
- 2765 IF PR$="Y" THEN LPRINT "HL="HL" HH="HH" FO="FO
- 2770 GOTO 5950
- 2780 J1=J:X=HX:GOSUB 6000
- 2790 IF R1=0 OR R1=R2 GOTO 2840
- 2800 R1R=R2
- 2810 IF FR$="L" THEN R3R=R2:R2R=R3R*J1:GOTO 2740
- 2820 IF FR$="H" THEN R2R=R2:R3R=R2R/J1:GOTO 2740
- 2830 GOTO 255
- 2840 R3R=7.5:R2R=7.5*J1
- 2850 IF FR$="L" THEN R1R=R3R/J:GOTO 2740
- 2860 IF FR$="H" THEN R1R=R2R/J:GOTO 2740
- 2870 GOTO 255
- 2900 REM MODE 6B
- 2910 GOSUB 5100
- 2920 PRINT "Enter the corner frequency (Fo), the clock frequency (Fclk) ."
- 2930 INPUT ;FX,FCLK
- 2935 PRINT
- 2940 X=FX/FCLK*CLR:GOSUB 6000
- 2950 IF R1=0 THEN R3R=7.5:R2R=7.5*J:GOTO 2970
- 2960 R2R=R1:R3R=R2
- 2970 FO=FCLK/CLR*R2R/R3R:HH%=20/2.30259*(LOG(R2R/R3R))
- 2972 R1R=0:R4R=0
- 2974 GOSUB 5700
- 2975 GOSUB 5800
- 2980 PRINT "HL1="1" HL2="HH%"DB FO="FO
- 2985 IF PR$="Y" THEN LPRINT "HL1="1" HL2="HH%"DB FO="FO
- 2990 GOTO 5950
- 4990 REM ********ERROR RESPONSE********
- 5000 PRINT"The filter response as selected is not available."
- 5010 RETURN
- 5090 REM ********CLK RATIO*******
- 5100 INPUT"What is the clock ratio (Enter 50 or 100)";CLR
- 5110 IF CLR=50 OR CLR=100 THEN RETURN
- 5120 GOTO 5100
- 5200 REM ***FILTER PARAMETERS INPUT****
- 5210 PRINT"Enter in order the center frequency (Fo),"
- 5211 PRINT"the quality factor (Qo), and the gain (Ho)?"
- 5212 INPUT ;FX,QX,HX
- 5215 PRINT
- 5217 IF MD$="2" AND FR$="N" THEN GOTO 5218 ELSE GOTO 5225
- 5218 PRINT"Which gain was specified in the last question the low pass "
- 5219 PRINT"notch gain (HN1) or the high pass notch gain (HN2)?"
- 5220 INPUT "(Enter HN1 or HN2)";FR$
- 5221 IF FR$<>"HN1" AND FR$<>"HN2" THEN GOTO 5220
- 5225 RETURN
- 5300 INPUT "Is this a first or a second order response";ORD
- 5310 IF ORD=1 OR ORD=2 THEN RETURN ELSE GOTO 5300
- 5400 REM FCLK
- 5410 FCLK=FX*CLR
- 5420 RETURN
- 5500 REM
- 5510 INPUT "Enter the clock frequency in Hz";FC
- 5520 RETURN
- 5600 FR=(FCLK/FC)^2
- 5610 IF MD$="2" OR MD$="5" THEN FR=FR-1
- 5615 IF FR=0 THEN FR=.01
- 5620 RETURN
- 5700 REM
- 5710 IF R1R>0 AND R1R<5 THEN GOTO 5740
- 5715 IF R2R>0 AND R2R<5 THEN GOTO 5740
- 5720 IF R3R>0 AND R3R<5 THEN GOTO 5740
- 5725 IF R4R>0 AND R4R<5 THEN GOTO 5740
- 5730 RETURN
- 5740 R1R=R1R*10:R2R=R2R*10:R3R=R3R*10:R4R=R4R*10
- 5750 GOTO 5710
- 5800 PRINT "R1="R1R" R2="R2R" R3="R3R" R4="R4R
- 5810 IF PR$="Y" THEN LPRINT "R1="R1R" R2="R2R" R3="R3R" R4="R4R
- 5820 RETURN
- 5830 PRINT "RH="RH3" RL="RL3" RG="RG
- 5835 IF PR$="Y" THEN LPRINT "RH="RH3" RL="RL3" RG="RG
- 5840 GOTO 5900
- 5850 RETURN
- 5900 IF RH3>0 AND RH3<5 THEN GOTO 5930
- 5905 IF RL3>0 AND RL3<5 THEN GOTO 5930
- 5910 IF RG>0 AND RG<5 THEN GOTO 5930
- 5920 RETURN
- 5930 RH3=RH3*10:RL3=RL3*10:RG=RG*10
- 5950 INPUT "Would you like to run another filter";WR$:WR$=LEFT$(WR$,1)
- 5952 IF WR$="N" THEN END
- 5954 IF WR$="Y" THEN RESTORE:GOTO 60
- 6000 REM RESISTOR SELECTION PROGRAM
- 6002 K=X
- 6004 IF X<1 THEN X=1/X
- 6006 S=0
- 6008 IF X>=1 AND X<10 GOTO 6015
- 6010 X=X/10
- 6012 S=S+1
- 6014 GOTO 6008
- 6015 J=10^S:IF K<1 THEN J=1/J
- 6016 IF X=1 THEN R1=0:RETURN
- 6018 GOTO 6330
- 6020 IF TOL=5 THEN NV=25:GOTO 6040
- 6030 IF TOL=1 THEN NV=97
- 6040 REM
- 6050 REM
- 6060 FOR I=1 TO 25
- 6070 READ D(I)
- 6080 NEXT I
- 6100 DATA 10,11,12,13,15,16,18,20, 22,24,27,30
- 6110 DATA 33,36,39,43,47,51,56,62,68,75,82,91,100
- 6120 IF TOL=5 GOTO 6250
- 6123 FOR I=1 TO 97
- 6124 READ D(I)
- 6125 NEXT I
- 6130 DATA 10,10.2,10.5,10.7,11,11.3,11.5,11.8,12.1
- 6140 DATA 12.4,12.7,13,13.3,13.7,14,14.3,14.7,15
- 6150 DATA 15.4,15.8,16.2,16.5,16.9,17.4,17.8,18.2
- 6160 DATA 18.7,19.1,19.6,20,20.5,21,21.5,22.1,22.6
- 6170 DATA 23.2,23.7,24.3,24.9,25.5,26.1,26.7,27.4
- 6180 DATA 28,28.7,29.4,30.1,30.9,31.6,32.4,33.2,34
- 6190 DATA 34.8,35.7,36.5,37.4,38.3,39.2,40.2,41.2
- 6200 DATA 42.2,43.2,44.2,45.2,46.4,47.5,48.7,49.9
- 6210 DATA 51.1,52.3,53.6,54.9,56.2,57.6,59,60.4,61.9
- 6220 DATA 63.4,64.9,66.5,68.1,69.8,71.5,73.2,75,76.8
- 6230 DATA 78.7,80.6,82.5,84.5,86.6,88.7,90.9,93.1
- 6240 DATA 95.3,97.6,100
- 6250 RETURN
- 6330 W=10^S
- 6340 FOR I=1 TO NV-1
- 6350 Q=0
- 6360 R2=D(I)
- 6370 R1=X*R2
- 6380 IF R1>=10 AND R1<=100 GOTO 6420
- 6390 R1=R1/10
- 6400 Q=Q+1
- 6410 GOTO 6380
- 6420 T=1
- 6430 RL=D(T)
- 6440 IF R1<=RL GOTO 6480
- 6450 T=T+1
- 6460 IF T=NV+1 GOTO 7010
- 6470 GOTO 6430
- 6480 RH=RL: RL=D(T-1)
- 6490 V=10^Q
- 6500 IF K<1 THEN XL=R2/(W*V*RH):XH=R2/(W*V*RL): GOTO 6520
- 6510 XL=(W*V*RL)/R2: XH=(W*V*RH)/R2
- 6520 EL=K-XL: EH=XH-K
- 6521 IF K=>1 THEN GOTO 6525
- 6522 IF EL>EH THEN E=EH:R=RL:GOTO 6530
- 6523 E=EL:R=RH:GOTO 6530
- 6525 IF EL>EH THEN E=EH : R=RH :GOTO 6530
- 6526 E=EL:R=RL
- 6530 F(I,1)=R*V:F(I,2)=E
- 6535 NEXT I
- 6540 AX=1000:E=0:IX=0
- 6550 FOR I=1 TO NV-1
- 6560 E=F(I,2)
- 6570 IF E<AX THEN AX=E : IX=I
- 6580 NEXT I
- 6590 IF K<1 THEN R2=W*F(IX,1):R1=D(IX):GOTO 6610
- 6600 R2=D(IX):R1=W*F(IX,1)
- 6610 PE=F(IX,2)/K*100
- 6950 FOR I=1 TO NV-1
- 6960 FOR R=1 TO 2
- 6970 F(I,R)=0
- 6980 NEXT R
- 6990 NEXT I
- 7000 RETURN
- 7010 F(I,2)=1000:F(I,4)=1000
- 7020 GOTO 6550
- 7030 REM ONE R KNOWN
- 7040 IF K<1 THEN C=1
- 7050 IF K>1 THEN C=2
- 7060 V=1:W=1:M=1
- 7070 IF R1>=10 AND R1<100 GOTO 7110
- 7080 R1=R1/10
- 7090 M=M*10
- 7100 GOTO 7070
- 7110 IF B=1 AND C=1 GOTO 7150
- 7120 IF B=1 AND C=2 GOTO 7190
- 7130 IF B=2 AND C=1 GOTO 7200
- 7140 X=K: GOTO 7160
- 7150 X=1/K
- 7160 IF X>=1 AND X<10 GOTO 7240
- 7170 X=X/10: W=W*10
- 7180 GOTO 7160
- 7190 X=1/K: GOTO 7210
- 7200 X=K
- 7210 IF X>=1 AND X<10 GOTO 7240
- 7220 X=X*10: W=W/10
- 7230 GOTO 7210
- 7240 V=1
- 7250 IF X=1 THEN RH=R1:RL=R1: GOTO 7390
- 7260 RX=R1*X
- 7270 IF RX>=10 AND RX<100 GOTO 7310
- 7280 RX=RX/10
- 7290 V=V*10
- 7300 GOTO 7270
- 7310 T=1
- 7320 RL=D(T)
- 7330 IF RX<=RL GOTO 7361
- 7340 T=T+1
- 7350 IF T=NV+1 GOTO 7510
- 7360 GOTO 7320
- 7361 REM
- 7370 RH=RL
- 7380 RL=D(T-1)
- 7390 RH=RH*V*W: RL=RL*V*W
- 7400 IF B=1 THEN XL=R1/RH ELSE GOTO 7420: XH=R1/RL
- 7405 XH=R1/RL
- 7415 GOTO 7440
- 7420 XL=RL/R1: XH=RH/R1
- 7440 EL=K-XL:EH=XH-K
- 7450 IF EH>EL THEN GOTO 7470
- 7460 IF B=1 THEN R2=RL:GOTO 7485
- 7465 R2=R1:R1=RH:GOTO 7485
- 7470 IF B=1 THEN R2=RH:GOTO 7485
- 7480 R2=R1 :R1=RL
- 7485 R1=R1*M:R2=R2*M
- 7490 RETURN
- 7510 PRINT "DIDN'T FIND A VALUE!"
- 7520 RETURN
- 8000 FOR I=1 TO NV-1
- 8010 PRINT F(I,1),F(I,2);
- 8015 PRINT D(I)
- 8020 NEXT I
- 8030 RETURN
- IDN'T FIND A VALUE!"
- 7520 RETURN
- 8000 FOR I=1 TO NV-1
- 8010 PRINT F(I,1),F(I,2);
- 8015