5 ! ! TYPED IN BY P A PHOTOPOULOS ! AT CENTRAL STATE UNIVERSITY ! ON PDP 11/45 ! VERSION RSTS/E V06C 10 DEF FNG(A) = SGN(SGN(A)+1) 15 DEF FNC(A,S2,S3) = SQR(S2*S2+S3*S3-2*S2*S3*COS(A*R)) 20 DEF FNA(P,Q) = SGN(P*Q) 25 DEF FNL(A,B,C) = FNZ((A*A-B*B-C*C)/(-2*B*C)) 30 DEF FNF(A,B,C) = FNA(FNG(A),FNA(FNG(B),FNG(C))) 35 DEF FNZ(X) = ATN(SQR(1-X*X)/X)/R 37 DEF FNS(X) = ATN(X/SQR(1-X*X)) 40 R = ATN(1)*4/180 50 PRINT'ANGLES A,B,C'; 60 INPUT A,B,C 70 PRINT'SIDES A,B,C'; 80 INPUT S1,S2,S3 90 IF FNF(A,B,S1) = 1 THEN 1000 100 IF FNF(A,B,S2) = 1 THEN 1100 110 IF FNF(A,B,S3) = 1 THEN 1200 120 IF FNF(A,C,S1) = 1 THEN 1300 130 IF FNF(A,C,S2) = 1 THEN 1400 140 IF FNF(A,C,S3) = 1 THEN 1500 150 IF FNF(B,C,S1) = 1 THEN 1600 160 IF FNF(B,C,S2) = 1 THEN 1700 170 IF FNF(B,C,S3) = 1 THEN 1800 180 IF FNF(A,S2,S3) = 1 THEN 1900 190 IF FNF(A,S2,S1) = 1 THEN 2000 200 IF FNF(A,S1,S3) = 1 THEN 2100 210 IF FNF(B,S1,S2) = 1 THEN 2200 220 IF FNF(B,S1,S3) = 1 THEN 2300 230 IF FNF(B,S2,S3) = 1 THEN 2400 240 IF FNF(C,S1,S2) = 1 THEN 2500 250 IF FNF(C,S2,S3) = 1 THEN 2600 260 IF FNF(C,S1,S3) = 1 THEN 2700 270 IF FNF(S1,S2,S3) = 1 THEN 2800 1000 ! ! A B S1 ! 1010 C = 180 - (A+B) 1020 S2 = S1 * SIN(B*R) / SIN(A*R) 1030 S3 = S1 * SIN(C*R) / SIN(A*R) 1040 GOTO 3000 1100 ! ! A B S2 ! 1110 C = 180 - (A+B) 1120 S1 = S2 * SIN(A*R) / SIN(B*R) 1130 S3 = S2 * SIN(C*R) / SIN(B*R) 1140 GOTO 3000 1200 ! ! A B S3 ! 1210 C = 180 - (A+B) 1220 S2 = S3 * SIN(B*R) / SIN(C*R) 1230 S1 = S3 * SIN(A*R) / SIN(C*R) 1240 GOTO 3000 1300 ! ! A C S1 ! 1310 B = 180 - (A+C) 1320 S2 = S1 * SIN(B*R) / SIN(A*R) 1330 S3 = S1 * SIN(C*R) / SIN(A*R) 1340 GOTO 3000 1400 ! ! A C S2 ! 1410 B = 180 - (A+C) 1420 S1 = S2 * SIN(A*R) / SIN(B*R) 1430 S3 = S2 * SIN(C*R) / SIN(B*R) 1440 GOTO 3000 1500 ! ! A C S3 ! 1510 B = 180 - (A+C) 1520 S1=S3*SIN(A*R)/SIN(C*R) 1530 S2=S3*SIN(B*R)/SIN(C*R) 1540 GOTO 3000 1600 ! B C S1 1610 A=180.-(B+C) 1620 S2=S1*SIN(B*R)/SIN(A*R) 1630 S3=S1*SIN(C*R)/SIN(A*R) 1640 GOTO 3000 1700 ! B C S2 1710 A=180.-(B+C) 1720 S1=S2*SIN(A*R)/SIN(B*R) 1730 S3=S2*SIN(C*R)/SIN(B*R) 1740 GOTO 3000 1800 ! B C S3 1810 A=180.-(B+C) 1820 S1=S3*SIN(A*R)/SIN(C*R) 1830 S2=S3*SIN(B*R)/SIN(C*R) 1840 GOTO 3000 1900 ! A S2 S3 1910 S1=FNC(A,S2,S3) 1920 B=FNL(S2,S1,S3) 1940 C=FNL(S3,S1,S2) 1950 GOTO 3000 2000 ! A S2 S1 2010 B=FNS(S2*SIN(A*R)/S1)/R 2020 C=180.-(A+B) 2030 S3=FNC(C,S1,S2) 2040 GOTO 3000 2100 ! A S1 S3 2110 C=FNS(S3*SIN(A*R)/S1)/R 2120 B=180.-(A+C) 2130 S2=FNC(B,S1,S3) 2140 GOTO 3000 2200 ! B S1 S2 2210 A=FNS(S1*SIN(B*R)/S2)/R 2220 C=180.-(A+B) 2230 S3=FNC(C,S1,S2) 2240 GOTO 3000 2300 ! B S1 S3 2310 S2=FNC(B,S1,S3) 2320 A=FNL(S1,S2,S3) 2330 C=180-(A+B) 2340 GOTO 3000 2400 ! B S2 S3 2410 C=FNS(S3*SIN(B*R)/S2)/R 2420 A=180.-(B+C) 2430 S1=FNC(A,S2,S3) 2440 GOTO 3000 2500 ! C S1 S2 2510 S3=FNC(C,S1,S2) 2520 A=FNL(S1,S2,S3) 2530 B=180.-(A+C) 2540 GOTO 3000 2600 ! C S2 S3 2610 B=FNS(S2*SIN(C*R)/S3)/R 2620 A=180.-(B+C) 2630 S1=FNC(A,S2,S3) 2640 GOTO 3000 2700 ! C S1 S3 2710 A=FNS(S1*SIN(C*R)/S3)/R 2720 B=180.-(A+C) 2730 S2=FNC(B,S1,S3) 2740 GOTO 3000 2800 ! S1 S2 S3 2810 A=FNL(S1,S2,S3) 2820 B=FNL(S2,S1,S3) 2830 C=180.-(A+B) 2840 GOTO 3000 3000 PRINT 3010 PRINT "SIDES:","A=";S1,"B=";S2,"C=";S3 3020 PRINT "ANGLES:","A=";A,"B=";B,"C=";C 3030 PRINT 3040 GOTO 50 3050 END