home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / PASCAL / NRPAS13 / LOCATE.DEM < prev    next >
Text File  |  1991-04-29  |  919b  |  37 lines

  1. PROGRAM d3r5 (input,output);
  2. (* driver for routine LOCATE *)
  3. CONST
  4.    n=100;
  5. TYPE
  6.    glnarray = ARRAY [1..n] OF real;
  7. VAR
  8.    i,j : integer;
  9.    x : real;
  10.    xx : glnarray;
  11.  
  12. (*$I MODFILE.PAS *)
  13. (*$I LOCATE.PAS *)
  14.  
  15. BEGIN
  16. (* create array to be searched *)
  17.    FOR i := 1 to n DO BEGIN
  18.       xx[i] := exp(i/20.0)-74.0
  19.    END;
  20.    writeln ('result of:  j := 0 indicates x too small');
  21.    writeln (' ':12,'j := 100 indicates x too large');
  22.    writeln;
  23.    writeln ('locate ':10,'j':6,'xx(j)':11,'xx(j+1)':12);
  24. (* do test *)
  25.    FOR i := 1 to 19 DO BEGIN
  26.       x := -100.0+200.0*i/20.0;
  27.       locate(xx,n,x,j);
  28.       IF ((j<n) AND (j>0)) THEN BEGIN
  29.          writeln (x:10:4,j:6,xx[j]:12:6,xx[j+1]:12:6)
  30.       END ELSE IF (j=n) THEN BEGIN
  31.          writeln (x:10:4,j:6,xx[j]:12:6,'   upper lim')
  32.       END ELSE BEGIN
  33.          writeln (x:10:4,j:6,'   lower lim',xx[j+1]:12:6)
  34.       END
  35.    END
  36. END.
  37.