File: TRIANG.FC of Tape: Sources/Focal/fc3
(.FC,.FO Focal format converted to 'WRITE' listing) 

C-PS/8 FOCAL, 1971

01.01 C     FROM TRIANG IN 'PROGRAMMING LANGUAGES' COPYRIGHT 1970
01.02 C     BY DIGITAL EQUIPMENT CORP.  REWRITTEN BY JOHN HUISMAN
01.03 C     OMSI SOFTWARE DEVELOPMENT GROUP
01.04 C     LAST CHANGE: 9/9/71
01.05 
01.06 C     GIVEN THREE PIECES OF INFORMATION             /I A2
01.07 C ABOUT THE TRIANGLE SHOWN AT THE RIGHT            / I
01.08 C THIS PROGRAM WILL DETERMINE THE OTHER           /  I
01.09 C THREE PIECES.  HOWEVER, YOU MUST HAVE       S3 /   I
01.10 C THE INPUT IN THE RIGHT ORDER.  THERE-         /    I S1
01.11 C FORE, WHEN ASKED "TYPE", RESPOND WITH        /AREA I
01.12 C "ASA" TO INPUT ANGLE-SIDE-ANGLE DATA,       /      I
01.13 C OR "SAS" FOR SIDE-ANGLE-SIDE INPUT OR   A1 /-------I A3
01.14 C "SSS" IF YOU KNOW THE SIDE LENGTHS.            S2
01.15 C ** THIS MUST BE A RIGHT TRIANGLE.
01.16 C ** BECAUSE OF THE ARCTANGENT FUNCTION,
01.17 C    LENGTHS MUST BE LESS THAN ONE MILLION UNITS.
01.18 E
01.26 I (FITR(#/6)-(#/6)) 1.27,1.3,1.27
01.27 T "YOU DO NOT HAVE ENOUGH FEATURES.  "
01.28 T "RESTART FOCAL WITH FEATURE 2.";Q
01.29 
01.30 A "TYPE: ",TY;S A3=3.14159/2;I (FABS(TY-0ASA)) ,2.1
01.40 I (FABS(TY-0SAS)) ,3.1;I (FABS(TY-0SSS)) ,4.1
01.50 T "LIST GROUP 1 FOR INSTRUCTIONS",!!;Q
01.60 

02.10 D 6;A "A1: ",A1,!"S2: ",S2,
02.20 I (FABS(DS)) ,2.3;S A1=A1*3.14159/180;S A2=3.14159/2-A1
02.30 S S3=S2/FCOS(A1);S S1=FSQT(S3*S3-S2*S2)
02.40 T !!,%5.05,:10,"RADIANS",:26,"DEGREES",!
02.50 T !,"A1:",:7,A1,:24,A1*57.2958
02.55 T !,"A2:",:7,A2,:24,A2*57.2958
02.60 T !,"A3:",:7,A3,:24,A3*57.2958
02.65 T !!"S1:",S1
02.70 T !"S2:",S2
02.80 T !"S3:",S3
02.90 T !!"AREA =",%4.02,S1*S2/2,!!;G 1.29

03.10 A "S1: ",S1,!"S2: ",S2
03.20 S S3=FSQT(S1*S1+S2*S2);S A1=FATN(S1/S2)
03.30 S A2=A3-A1;G 2.4

04.10 A !"S1: ",S1,!"S2: ",S2,!"S3: ",S3,!
04.20 S A1=FATN(S1/S2);S A2=A3-A1;G 2.4

06.10 A "ARE YOUR ANGLES IN DEGREES? ",ANSWER
06.20 I (-FABS(AN-0YES)) 6.3;S DSWITCH=1;R
06.30 I (-FABS(AN-0NO)) 6.4;S DSWITCH=0;R
06.40 T "YES OR NO.",!;G 6.1