home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / p3_30dc.seq < prev    next >
Text File  |  1990-04-06  |  661b  |  24 lines

  1. \ Problem 3.30 by Dickson Cheng  04/06/90 15:53:12.04
  2.  
  3.  
  4. : XNEW          ( n xold -- n xnew )
  5.         2DUP / + 2/ ;
  6.  
  7. : SQRT          ( n -- root )
  8.         DUP 0< IF ABORT" Illegal argument" THEN
  9.         DUP 1 >
  10.         IF DUP 2/
  11.            10 0 DO XNEW LOOP NIP
  12.         THEN ;
  13.  
  14. : TRI_AREA      ( a b c -- area )
  15.         2 PICK 2 PICK 2 PICK  ( a b c -- a b c a b c )
  16.         + + 2/ >R             ( ??? -- a b c ) \ s->r
  17.         R@ 3 ROLL - -ROT      ( ??? -- s-a b c )
  18.         R@ ROT - -ROT         ( ??? -- s-b s-a c )
  19.         R@ SWAP -             ( ??? -- s-b s-a s-c )
  20.         R> * * * SQRT ;       ( sqrt[ s*[s-b]*[s-a]*[s-c] ] )
  21.  
  22.  
  23.  
  24.