home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol131 / useplot.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1984-04-29  |  1.5 KB  |  57 lines

  1.  
  2.  
  3.                  PROGRAM USEPLOT;{$e+,i+}
  4.  
  5. {THIS PROGRAM WAS WRITTEN AS A SHELL,TO USE THE PROCEDURE PLOT }
  6. {TWO ARRAYS ARE FILLED FROM THE CONSOLE,AND THEN PLOTTED,ONE AS}
  7. {A FUNCTION OF THE OTHER.THE 'INCLUDE' STATEMENT IS UTILIZED.  }
  8.  
  9.                  LABEL 30;  {END OF PROGRAM,USED TO ABORT.}
  10.  
  11.                  CONST LAST = 100;
  12.  
  13.                  TYPE  DATA = ARRAY[1..LAST] OF REAL;
  14.  
  15.                  VAR
  16.                     I,N:INTEGER;
  17.                     TIME:DATA;
  18.                     AMPLITUDE:DATA;
  19.                     ZERO,TOOBIG,TOOSMALL,STOP:BOOLEAN;
  20.                     ANSWER:CHAR;
  21.  
  22. {$IPLOT.PAS }
  23.  
  24. BEGIN
  25.  REPEAT
  26.   WRITELN('YOU MAY ENTER UP TO 100 PAIRS OF DATA POINTS.');
  27.   WRITELN('AMPLITUDE WILL BE PLOTTED AGAINST TIME');
  28.   WRITELN('HOW MANY DATA PAIRS DO YOU WISH TO ENTER?');
  29.   WRITELN('ENTERING 0 WILL TERMINATE PROGRAM.');
  30.   N:=0;
  31.   REPEAT
  32.     READ(I);
  33.     ZERO:=I=0;
  34.     TOOBIG:=I>100;
  35.     TOOSMALL:=I<1;
  36.     IF ZERO THEN GOTO 30;
  37.     IF TOOBIG OR TOOSMALL THEN  WRITELN('PLEASE TRY AGAIN.')
  38.     ELSE N:=I
  39.   UNTIL N <> 0;
  40.   WRITELN('PLEASE ENTER FIRST DATA PAIR:AMPLITUDE FIRST,THEN TIME.');
  41.   WRITELN('SEPARATE AMPLITUDE AND TIME BY A SPACE.');
  42.   I:=0;
  43.   REPEAT
  44.     I:=I+1;
  45.     READLN(AMPLITUDE[I],TIME[I]);
  46.     IF I<N THEN WRITELN('NEXT DATA PAIR')
  47.     ELSE WRITELN('THANK YOU.')
  48.   UNTIL I=N;
  49.   N:= -N;{TO TELL PLOT NOT TO LOOK FOR YCALC}
  50.   PLOT(N,TIME,AMPLITUDE,AMPLITUDE);
  51.   WRITELN('DO YOU WISH TO TRY AGAIN (Y/N)?');
  52.   READ(ANSWER);
  53.   STOP:=ANSWER<>'Y';
  54.  UNTIL STOP;
  55. 30:
  56. END.
  57.