1 'BERT BURNS [75665,643] FEB. '84 2 'PGM PERFORMS MANIPULATIONS OF"IMAGINARY" NO'S OF THE FORM (A+BI) 3 'PGM IS SEPARABLE SO THE SUBROUTINE5000 MAY BE USED IN OTHER PGMS. 4 'WHEN USED IN OTHER PGMS, PRESET THE NEEDED INPUT VALUES, THEN GOSUB 5000 10 CLS:CLEAR:SCREEN 0,0 20 M$="IS THE INPUT;" 30 N$="WILL OUTPUT BE;" 40 O$="POLAR (1) OR RECT. (2)" 50 P$="DEGREES (1) OR RADIANS (2)" 60 Q$="ENTER X,Y" 70 R$="ENTER R,THETA" 71 S$="X=":T$="Y=":U$="R=":V$="THETA=" 72 W$="FIRST QUANTITY;" 73 X$="SECOND QUANTITY;" 74 Y$="SUBTRACT;" 75 Z$="DIVIDED BY;" 80 PRINT"COMPLEX NUMBERS AND" 90 PRINT"RECT./POLAR CONVERSIONS" 100 FOR A%=0 TO 5000:NEXT 110 CLS:PRINT"CHOOSE FUNCTION" 120 PRINT TAB(3);"1. POLAR TO RECTANGULAR" 130 PRINT TAB(3);"2. RECTANGULAR TO POLAR" 140 PRINT TAB(3);"3. ADD COMPLEX NO'S" 150 PRINT TAB(3);"4. SUBTRACT COMPLEX NO'S" 160 PRINT TAB(3);"5. MULTIPLY COMPLEX NO'S" 170 PRINT TAB(3);"6. DIVIDE COMPLEX NO'S" 180 INPUT"YOUR CHOICE";W% 190 IF (W%>6) OR (W%<1) THEN 110 200 ON W% GOTO 210,250,280,280,280,280 210 M%=1:PRINT M$,P$:INPUT O% 211 IF (O%<>1) AND (O%<>2) THEN 210 220 PRINT R$:INPUT X3,Y3 221 IF O%=2 THEN 230 ELSE GOSUB 5060 230 N%=2:GOSUB 5000 240 PRINT S$,X3:PRINT T$,Y3:END 250 M%=2:PRINT Q$:INPUT X3,Y3 260 PRINT N$,P$:INPUT P% 261 IF (P%<>1) AND (P%<>2) THEN 260 262 GOSUB 5000 263 IF P%=2 THEN 270 264 GOSUB 5050 270 PRINT U$,X3:PRINT V$,Y3:END 280 PRINT M$,O$:INPUT M% 290 IF (M%<>1) AND (M%<>2) THEN 280 300 ON M% GOSUB 2000,2100 310 PRINT N$,O$:INPUT N% 320 IF (N%<>1) AND (N%<>2) THEN310 330 ON N% GOTO 340,360 340 PRINT N$,P$:INPUT P% 350 IF (P%<>1) AND (P%<>2) THEN 340 360 GOSUB 5000 370 ON N% GOTO 380,390 380 PRINT U$,X1:PRINT V$,Y1:END 390 PRINT S$,X1:PRINT T$,Y1:END 2000 PRINT M$,P$:INPUT O% 2010 PRINT W$:PRINT R$:INPUT X1,Y1 2020 IF W%=4 THEN PRINT Y$ 2030 IF W%=6 THEN PRINT Z$ 2040 PRINT X$:PRINT R$:INPUT X2,Y2 2050 RETURN 2100 PRINT W$:PRINT Q$:INPUT X1,Y1 2110 IF W%=4 THEN PRINT Y$ 2120 IF W%=6 THEN PRINT Z$ 2130 PRINT X$:PRINT Q$:INPUT X2,Y2 2140 RETURN 5000 IF W%=1 THEN 5100 5001 IF W%=2 THEN 5120 5010 IF (W%=3) OR (W%=4) THEN 5150 5020 IF (W%=5) OR (W%=6) THEN 5290 5050 Y3=Y3*90/ATN(3D13):RETURN'RAD>DEG 5060 Y3=Y3*ATN(3D13)/90:RETURN'DEG>RAD 5070 IF O%=1 THEN GOSUB 5050 5080 GOTO 5100 5100 X4=X3*COS(Y3):Y4=X3*SIN(Y3)'P>R 5110 X3=X4:Y3=Y4:RETURN 5120 X4=SQR(X3*X3+Y3*Y3):Y4=ATN(Y3/X3)'R>P 5130 X3=X4:Y3=Y4:RETURN 5150 IF M%=2 THEN 5220'ADD OR SUBTR 5160 X3=X1:Y3=Y1:IF O%=1 THEN GOSUB 5060 5170 GOSUB 5100 5180 X1=X3:Y1=Y3:X3=X2:Y3=Y2 5190 IF O%=1 THEN GOSUB 5060 5200 GOSUB 5100 5210 X2=X3:Y2=Y3 5220 IF W%=4 THEN 5240 5230 X1=X1+X2:Y1=Y1+Y2:GOTO 5250'ADDS 5240 X1=X1-X2:Y1=Y1-Y2'SUBTRACTS 5250 IF N%=2 THEN RETURN 5260 X3=X1:Y3=Y1:GOSUB 5120 5270 IF P%=1 THEN GOSUB 5050 5280 X1=X3:Y1=Y3:RETURN 5290 IF M%=1 THEN 5330'MULT/DIV 5300 X3=X1:Y3=Y1:GOSUB 5120 5310 X1=X3:Y1=Y3:X3=X2:Y3=Y2:GOSUB 5120 5311 X2=X3:Y2=Y3 5320 GOTO 5370 5330 IF O%=2 THEN 5370 5340 Y3=Y1:GOSUB 5060 5350 Y1=Y3:Y3=Y2:GOSUB 5060 5360 Y2=Y3 5370 IF W%=6 THEN 5390'MULT OR DIV 5380 X1=X1*X2:Y1=Y1+Y2:GOTO 5400'MULTS 5390 X1=X1/X2:Y1=Y1-Y2'DIVIDES 5400 IF N%=2 THEN 5440 5410 IF P%=2 THEN RETURN 5420 Y3=Y1:GOSUB 5050 5430 Y1=Y3:RETURN 5440 X3=X1:Y3=Y1:GOSUB 5100 5450 X1=X3:Y1=Y3:RETURN 5460 END