5 ! ! KEYED IN BY TIMOTHY SHANE MCCOY ! AT CENTRAL STATE UNIVERSITY ! ON PDP 11/45 ! VERSION RSTS/E V06C ! 10 PRINT 11 PRINT "T R I A N G --- SOLVING FOR ANY RIGHT TRIANGLE" 20 PRINT 21 PRINT "INSTRUCTIONS"; 22 INPUT Q$ 23 IF Q$ <> "Y" THEN 90 24 PRINT 30 PRINT " THIS PROGRAM SOLVES FOR ANY RIGHT TRIANGLE, GIVEN TWO" 40 PRINT "PARTS AND FOUR NEGATIVE VALUES (TO INDICATE THAT PART" 50 PRINT "IS TO BE SOLVED FOR). A LIST 10-3000 OF THE PROGRAM WILL SHOW" 60 PRINT "HOW IT WORKS. (NOTE THE USER DEFINED FUNCTIONS WHICH SERVE" 70 PRINT "AS AN AND FUNCTION AND AS A GREATER THAN TEST \ON 0^.)" 80 GOSUB 870 90 PRINT 100 DEF FNG(A) = SGN(SGN(A) + 1) 110 DEF FNA(P,Q) = SGN(P*Q) 120 DEF FNF(A,B) = FNA(FNG(A),FNG(B)) 130 R = ATN(1) * 4/180 140 PRINT "ANGLES A,B"; 141 INPUT A,B 150 PRINT "SIDES A,B,C"; 151 INPUT S1,S2,S3 160 IF FNF(S1,S2) = 1 THEN 280 170 IF FNF(S1,S3) = 1 THEN 340 180 IF FNF(S2,S3) = 1 THEN 400 190 IF FNF(A,B) = 1 THEN 460 200 IF FNF(A,S1) = 1 THEN 480 210 IF FNF(A,S2) = 1 THEN 540 220 IF FNF(A,S3) = 1 THEN 600 230 IF FNF(B,S1) = 1 THEN 660 240 IF FNF(B,S2) = 1 THEN 720 250 IF FNF(B,S3) = 1 THEN 780 260 PRINT "YOU ISSUED MORE THAN 4 NEGATIVE VALUES." 270 GOTO 140 280 ! ! ANGLES: A-SOLVE B-SOLVE ! SIDES: S1-GIVEN S2-SOLVE S3-SOLVE ! 300 A = ATN(S1/S2)/R 310 B = 90 - A 320 S3 = SQR(S1*S1+S2*S2) 330 GOTO 830 340 ! ! ANGLES: A-SOLVE B-SOLVE ! SIDES : S1-GIVEN S2-SOLVE S3-GIVEN ! 360 S2 = SQR(S3*S3-S1*S1) 370 A = ATN(S1/S2)/R 380 B = 90 - A 390 GOTO 830 400 ! ! ANGLES: A-SOLVE B-SOLVE ! SIDES : S1-SOLVE S2-GIVEN S3-GIVEN ! 420 S1 = SQR(S3*S3-S2*S2) 430 A = ATN(S1/S2)/R 440 B = 90 - A 450 GOTO 830 460 PRINT "TWO ANGLES ONLY DETERMINE SIMILARITY" 470 GOTO 140 480 ! ! ANGLES A-GIVEN B-SOLVE ! SIDES S1-GIVEN S2-SOLVE S3-SOLVE ! 500 B = 90 - A 510 S2 = S1/TAN(A*R) 520 S3 = SQR(S1*S1+S2*S2) 530 GOTO 830 540 ! ! GIVEN A,S2 ! SOLVE B,S1,S2 ! 560 B = 90 - A 570 S1 = S2 * TAN(A*R) 580 S3 = SQR(S1*S1+S2*S2) 590 GOTO 830 600 ! ! GIVEN A,S3 ! SOLVE B,S1,S2 ! 620 B = 90 - A 630 S1 = S3*SIN(A*R) 640 S2 = S3*COS(A*R) 650 GOTO 830 660 ! ! GIVEN B,S1 ! SOLVE A,S2,S2 ! 680 A = 90 - B 690 S2 = TAN(B*R) * S1 700 S3 = SQR(S1*S1+S2*S2) 710 GOTO 830 720 ! ! GIVEN B,S2 ! SOLVE A,S1,S2 ! 740 A = 90 - B 750 S1 = TAN(A*R) * S2 760 S3 = SQR(S1*S1+S2*S2) 770 GOTO 830 780 ! ! GIVEN B,S3 ! SOLVE A,S1,S2 ! 800 A = 90 - A 810 S1 = S3 * SIN(A*R) 820 S2 = S3 * COS(A*R) 830 PRINT "ANGLES:","A ="A,"B ="B 840 PRINT "SIDES:","A ="S1,"B ="S2,"C ="S3 850 PRINT 860 GOTO 140 870 PRINT 871 PRINT " HERE ARE THE LABELS OF THE PARTS OF A RIGHT" 880 PRINT "TRIANGLE, AS THEY ARE USED IN THIS PROGRAM:" 890 PRINT 891 PRINT 892 PRINT 900 PRINT TAB(41)"/!B" 910 FOR J = 40 TO 32 STEP -1 920 GOSUB 1010 930 NEXT J 940 PRINT TAB(30)"C/"TAB(42)"!A" 950 FOR J = 30 TO 25 STEP -1 960 GOSUB 1010 970 NEXT J 980 PRINT TAB(23)"A/-----------------!C=90" 990 PRINT TAB(33)"B" 1000 RETURN 1010 PRINT TAB(J)'/'TAB(42)"!" 1020 RETURN 1030 ! ! TRIANG: MARK ARNOLD 9/74 UTS-RSTS COMPAT ! 1040 END