702 PRINT "THIS PROGRAM WILL DETERMINE REACTANCE, IMPEDANCE AND THETA FOR EITHER"
703 PRINT "SERIES OR PARALLEL CIRCUITS WITH VARIOUS COMBINATIONS OF R, C OR L."
704 PRINT
705 PI = 3.14159
706 INPUT "ARE THE COMPONENTS IN SERIES (S) OR PARALLEL (P) ? ", A$
707 IF A$<>"s" AND A$<>"S" AND A$<>"P" AND A$ <>"p" THEN 706
708 PRINT
709 INPUT "IS THE CIRCUIT A RC, RL, OR RCL CIRCUIT ? ",B$
710 IF B$<>"rc" AND B$<>"RC" AND B$<>"RL" AND B$<>"RL" AND B$<>"RCL" AND B$<>"RCL" THEN 709
711 IF LEFT$(B$,2) = "RC" OR LEFT$(B$,2) = "rc" THEN CFLAG = 1
712 IF RIGHT$(B$,1) = "L" OR RIGHT$(B$,1) = "l" THEN LFLAG = 1
713 PRINT
714 PRINT "PLEASE ENTER ALL DATA IN BASE UNITS"
715 INPUT ; "THE FREQUENCY IS ? ", F : PRINT " HERTZ"
716 INPUT ; "THE RESISTANCE IS ? ", R : PRINT " OHMS"
717 IF LFLAG = 0 THEN 720
718 INPUT ; "THE INDUCTANCE IS ? ", L : PRINT " HENRIES"
719 IF CFLAG = O THEN 721
720 INPUT ; "THE CAPACITANCE IS ? ", C: PRINT " FARADS"
721 IF CFLAG = 1 THEN XC=1/(2*PI*F*C)
722 IF LFLAG = 1 THEN XL=2*PI*F*L
723 IF CFLAG = 1 AND LFLAG = 0 THEN X = XC
724 IF CFLAG = 0 AND LFLAG = 1 THEN X = XL
725 ON CFLAG + LFLAG GOSUB 733, 736
726 THETA = A*180/PI ' CINVERTS RADIANS TO DEGREES
727 PRINT
728 PRINT "THE IMPEDENCE IS"; Z; " OHMS"
729 IF CFLAG = 1 AND LFLAG = 0 OR CFLAG + LFLAG = 2 AND (A$="P"OR A$="p" EQV XL>XC) THEN PRINT "I LEADS V BY"; THETA; " DEGREES." ELSE PRINT "V LEADS I BY"; THETA; "DEGREES."
730 IF CFLAG = 1 THEN PRINT "THE CAPACITIVE REACTANCE IS"; XC; " OHMS"
731 IF LFLAG = 1 THEN PRINT "THE INDUCTIVE REACTANCE IS"; XL; " OHMS"
732 GOTO 740
733 IF A$="s" OR A$="S" THEN Z = SQR(R*R+X*X) ELSE Z = R*X/SQR(R*R+X*X)
734 IF A$="s" OR A$="S" THEN A = ATN(X/R) ELSE A = ATN(R/X)
735 RETURN
736 IF A$="S" OR A$="s" THEN Z = SQR (R*R+(XL-XC)^2) ELSE Z = R*XL*XC/SQR((R*XL-R*XC)^2+XL*XL*XC*XC)
737 IF A$="S" OR A$="s" THEN A = ATN(ABS(XL-XC)/R) ELSE A=ATN(R*ABS(1/XL-1/XC))
738 RETURN
740 LOCATE 25,20: INPUT ; "MORE CALCULATIONS (Y/N) ",A$: IF A$="Y"OR A$="y" THEN RUN 700 ELSE IF A$="N" OR A$="n" THEN RUN "MENU1"