home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / kzr_0899.zip / PI.CMD < prev    next >
OS/2 REXX Batch file  |  1998-07-11  |  690b  |  28 lines

  1. /* REXX-Programm pi.cmd */
  2.   
  3. /* Diese Variablen müssen für jede Prozedur definiert werden, damit die  */
  4. /* Prozedur die Variable bufND kennt und die Variable ND übernehmen kann.*/
  5.    Pfd=SysSearchPath("PATH", "kzr.cmd")
  6.    lp=LastPos("\", Pfd)
  7.    Pfd=DelStr(Pfd, 1+lp)
  8.    NDApi  =Pfd||"NDApi.DAT"
  9.    bufND  =Pfd||"NDZahl.DAT"
  10.    bufMsg =Pfd||"Meldung.DAT"
  11.    ND = LineIn(bufND, 1)
  12.    Numeric Digits ND+4
  13.  
  14.    /* Berechnet  π  mit Hilfe von  arcsin(1/2) = π/6 */
  15.    g=1; t=0.25; m=2; v=1
  16.    do forever
  17.      g=g*t*(m-1)*(m-1)/(m*(m+1))
  18.      if g/v < 10**(-ND-20) then leave
  19.      v=v+g
  20.      m=m+2
  21.    end
  22.    y=3*v
  23.  
  24. W: numeric digits ND
  25.    return(Format(y))
  26.  
  27.    EXIT
  28.