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

C-PS/8 FOCAL, 1971

01.01 C     FROM PLOTER IN 'FOCAL PROGRAMMING MANUAL'
01.02 C     PDP-15 SYSTEMS  COPYRIGHT 1970  MODIFIED BY JOHN HUISMAN
01.03 C     OMSI SOFTWARE DEVELOPMENT GROUP
01.04 C     LAST CHANGE: 8/9/71
01.05 
01.06 C     THIS PROGRAM WILL SIMULTANEOUSLY PLOT THE EUCLIDEAN
01.07 C GRAPHS OF ANY THREE FUNCTIONS.  REMEMBER THAT YOU ARE IN
01.08 C FOCAL, SO ANY FUNCTIONS YOU USE LIKE SINE MUST APPEAR AS
01.09 C 'FSIN'.  THE EQUATIONS ARE IN GROUP 10 WHERE THEY MAY BE
01.10 C MODIFIED.  TO PLOT LESS THAN ALL THREE EQUATIONS, JUST
01.11 C SET ONE OF THE EQUATIONS TO A CONSTANT WHICH WILL BE OFF
01.12 C YOUR SCALE.
01.13 C ** Y SCALING FACTOR IS THE NUMBER OF Y-UNITS EACH DOT REPRESENTS
01.14 C ** UPPER AND LOWER LIMITS ARE THE X-VALUE'S LIMITS
01.15 C ** INCREMENT REFERS TO THE STEP BY WHICH THE X=VALUES ARE TAKEN
01.16 C ** THE PLOT ARRANGES YOUR PARAMETERS TO GO THROUGH X=0
01.17 
01.30 E
01.33 A "HAVE YOU INPUT THE EQUATIONS YET? ",AN
01.36 I (AN-0NO) 1.5,1.4,1.5
01.40 T !!"HERE ARE THE EQUATIONS.  TYPE 'G' TO RESTART."!!;W 10
01.45 Q
01.50 A "LOWER LIMIT ",LL,!"UPPER LIMIT ",UL,!"INCREMENT ",IN,!
01.60 S Y(1)=0;S Y(2)=0;S Y(3)=0
01.70 A "DO YOU WANT A TABLE OF VALUES? ",AN
01.80 I (AN-0YES) 4.05,1.9,4.05
01.90 F X=LL,IN,UL;D 10;D 2

02.10 I (Y(2)-Y(1)) 2.14,2.12,2.14
02.12 T "1 & 2 INTERSECT AT:"!
02.14 I (Y(3)-Y(2)) 2.2,2.16,2.2
02.16 T "2 & 3 INTERSECT AT:"!
02.20 I (Y(1)-Y(3)) 2.3,2.25,2.3
02.25 T "1 & 3 INTERSECT AT:"!
02.30 T "X=",X,"    Y1=",Y(1),"    Y2=",Y(2),"    Y3=",Y(3),!

03.10 A "DO YOU WANT A PLOT? ",AN
03.20 I (AN-0YES) 9.1,4.05,9.1

04.05 A !"Y SCALING FACTOR: ",YS,!!
04.07 F A=1,66;S P(A)=160
04.10 F X=IN*FITR(LL/IN),IN,IN*FITR(UL/IN);D 5
04.20 Q

05.05 
05.15 S P(33)=174
05.20 I (-FABS(X)) 5.3;S P(1)=217;F A=2,65;S P(A)=174
05.25 S P(66)=217
05.30 D 10;F A=1,3;S Y(A)=Y(A)/YS
05.40 I (33-FABS(Y(1))) 5.5;S P(Y(1)+33)=163
05.50 I (33-FABS(Y(2)))5.6;S P(Y(2)+33)=170
05.60 I (33-FABS(Y(3)))5.7;S P(Y(3)+33)=171
05.70 D 6;R

06.02 S M=67
06.04 S M=M-1;I (P(M)-160) 6.1,6.04,6.1
06.10 F A=1,M;S AN=FOUT(P(A));S P(A)=160
06.20 T !

09.10 Q

10.10 S Y(1)=X
10.20 S Y(2)=X*X
10.30 S Y(3)=200