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 
