1 REM *** HP TIME-SHARED BASIC PROGRAM LIBRARY ********************** 2 REM 3 REM DVDRS: CAI IN VOLTAGE AND CURRENT DIVIDERS 4 REM 5 REM 36156 (A820) REV A -- 7/71 6 REM 7 REM *** CONTRIBUTED PROGRAM *************************************** 8 REM 10 PRINT '10'10'10'10'10'10'10 20 D8=0 21 D9=1 30 DIM N[6],A$[72],B$[22] 31 DIM C$[10] 32 LET C$="1234567890" 33 PRINT "WHAT IS THE TIME OF DAY (HR:MIN)?" 34 INPUT A$ 35 FOR I=1 TO LEN(A$) 36 FOR J=1 TO 10 37 A=11-J 38 IF A$[I,I]=C$[J,J] THEN 41 39 NEXT J 40 NEXT I 41 D9=D9*A 42 D8=D8+1 43 IF I=LEN(A$) THEN 46 44 IF D9>100 THEN 46 45 GOTO 40 46 FOR I=1 TO D9 47 X=RND(8) 48 NEXT I 49 PRINT "" 50 PRINT "A PROGRAM FOR COMPUTER AIDED PRACTICE IN ANALYSIS" 60 PRINT "OF P.D. AND CURRENT DIVIDERS, PREPARED BY" 70 PRINT "C.M. SIEGEL AND E. DIXON, JULY 2, 1970 (REV. 11/22/70)" 80 PRINT '10'10 90 PRINT "WHEN ASKED FOR KIND, YOU SHOULD TYPE" 100 PRINT TAB(5);"1. FOR RESISTIVE NETWORKS" 110 PRINT TAB(5);"2. FOR R,L,C NETWORKS" 120 PRINT TAB(5);"0 TO QUIT" 130 PRINT 135 L1=3 140 PRINT "KIND "; 150 INPUT Y7 155 K1=0 160 K=2 170 IF Y7=1 THEN 210 180 IF Y7=0 THEN 3000 190 IF Y7=2 THEN 220 200 GOTO 140 210 K=INT(1.9*RND(8)+2) 220 L=INT(1.9*RND(8)+1) 221 IF L1=L THEN 220 222 L1=L 230 I=INT((K-.01)*RND(8)+1) 240 PRINT '10'10'10 250 GOSUB 1270 260 N[1]=N 270 GOSUB 1270 280 N[2]=N 290 IF Y7=1 THEN 770 300 GOSUB 1270 310 N[4]=N/5 320 GOSUB 1270 330 N[5]=N 335 N[1]=N[1]/5 340 GOSUB 940 350 IF RND(8)<.5 THEN 370 360 N[2]=-N[2] 370 IF RND(8)<.5 THEN 390 380 N[5]=-N[5] 390 IF RND(8)<.5 THEN 710 400 PRINT "FOR 2 IMPEDANCES IN "A$" WITH VALUES AS FOLLOWS:" 410 Z$="Z" 420 PRINT "(R1,X1) = "N[1]",";N[2]" OHMS" 430 PRINT "(R2,X2) = "N[4]",";N[5]"OHMS" 440 Z[1]=SQR(N[1]^2+N[2]^2) 450 Z[2]=SQR(N[4]^2+N[5]^2) 460 Z=SQR((N[1]+N[4])^2+(N[2]+N[5])^2) 470 PRINT "WHAT FRACTION (MAG) OF THE APPLIED "B$" "Z$""I 480 INPUT B1 490 H=4 500 IF L=1 THEN 530 510 B2=Z[3-I]/Z 520 GOTO 540 530 B2=Z[I]/Z 540 GOSUB 1290 550 IF C1=1 THEN 570 560 GOTO 480 570 PRINT "WHAT IS THE ASSOCIATED ANGLE "; 580 INPUT B1 590 H=5 600 IF L=1 THEN 630 610 IF I=1 THEN 670 620 GOTO 650 630 IF I=1 THEN 650 640 GOTO 670 650 B2=(180/(4*ATN(1)))*(ATN(N[2]/N[1])-ATN((N[2]+N[5])/(N[1]+N[4]))) 660 GOTO 680 670 B2=(180/(4*ATN(1)))*(ATN(N[5]/N[4])-ATN((N[2]+N[5])/(N[1]+N[4]))) 680 GOSUB 1290 690 IF C1=1 THEN 140 700 GOTO 580 710 PRINT '10"FOR 2 ADMITTANCES IN "A$" WITH VALUES AS FOLLOWS:" 720 PRINT "(G1,B1)="N[1]",";N[2];"MICROMHOS" 730 PRINT "(G2,B2)="N[4]",";N[5];"MICROMHOS" 740 Z$="Y" 750 L=3-L 760 GOTO 440 770 IF K=2 THEN 800 780 GOSUB 1270 790 N[3]=N 800 R=G=0 810 GOSUB 940 820 PRINT "FOR "K" RESISTANCES IN "A$" WITH VALUES AS FOLLOWS:" 830 FOR J=1 TO K 840 PRINT "R"J"="N[J] 850 IF L=2 THEN 890 860 R=R+N[J] 870 R[J]=N[J] 880 GOTO 910 890 R[J]=1/N[J] 900 R=R+R[J] 910 NEXT J 920 PRINT 930 GOTO 1010 940 IF L=2 THEN 980 950 A$="SERIES" 960 B$="P.D. APPEARS ACROSS" 970 GOTO 1000 980 A$="PARALLEL" 990 B$="CURRENT PASSES THROUGH" 1000 RETURN 1010 PRINT "WHAT FRACTION OF THE APPLIED "B$" R"I; 1020 INPUT B1 1030 B2=R[I]/R 1040 H=1 1050 GOSUB 1290 1060 IF C1=1 THEN 1080 1070 GOTO 1020 1080 PRINT 1090 IF L=1 THEN 1260 1100 IF K=2 THEN 1260 1110 PRINT "WHAT IS THE TOTAL CONDUCTANCE"; 1120 B2=R 1130 INPUT B1 1140 H=2 1150 GOSUB 1290 1160 IF C1=1 THEN 1180 1170 GOTO 1130 1180 PRINT 1190 PRINT "WHAT IS THE CONDUCTANCE OF R"I; 1200 B2=R[I] 1210 INPUT B1 1220 H=3 1230 GOSUB 1290 1240 IF C1=1 THEN 1260 1250 GOTO 1210 1260 GOSUB 2000 1265 GOTO 140 1270 N=10*INT(1000*(RND(8)+.001)) 1280 RETURN 1288 INPUT B1 1289 GOTO 1295 1290 T=1 1295 IF ABS(B1/B2-1)<.01 THEN 1370 1300 IF ABS(B1/B2-1)<.05 THEN 1340 1310 PRINT "YOU ARE OFF BY MORE THAN 5 PER CENT; TRY AGAIN "; 1320 GOTO 1350 1340 PRINT "YOU ARE WITHIN 5 PER CENT; TRY AGAIN "; 1350 C1=0 1351 T=T+1 1352 IF T=5 THEN 1354 1353 GOTO 1288 1354 PRINT "--ENOUGH TRIES," 1355 GOTO 1375 1360 RETURN 1370 PRINT "O.K. IN "T" TRY(S);" 1375 PRINT " THE EXPECTED ANSWER WAS "B2 1380 C1=1 1390 PRINT 1400 RETURN 2000 PRINT "WHAT IS THE RESISTANCE OF THE COMBINATION?" 2010 INPUT B1 2020 IF L=1 THEN 2040 2030 R=1/R 2040 B2=R 2050 GOSUB 1290 2060 IF C1=1 THEN 2080 2070 GOTO 2010 2080 RETURN 3000 END