home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / l5p020.seq < prev    next >
Text File  |  1989-03-03  |  1KB  |  51 lines

  1. \ Lesson 5 Part 2 examples.
  2.  
  3. \ Let's use */ to do some percentage calculations.  We want to make a word
  4. \ that finds  p % of a number n and leaves the result as m.  The stack
  5. \ picture would be:
  6.  
  7. \ %  ( p n -- m )   where  m = p*n/100
  8.  
  9.  
  10. : %  ( p n -- m )  100 */  ; \ definition using */
  11.  
  12. : %% ( p n -- m )  * 100 / ; \ defined without using */
  13.  
  14.  
  15.  
  16. \  Try   32 1820   %%  .     and 32 1820  %  .
  17. \  Why are the answers different?
  18.  
  19.  
  20. \ Percentage calculations
  21.  
  22. \ Use % to find        Result      Actual
  23. \ 15 % of   220                    33.00
  24. \ 15 % of   222                    33.30
  25. \ 15 % of   224                    33.60
  26.  
  27. \ Rounding.
  28. : %R   10 */  5 +  10 /   ;
  29.  
  30. \ Try %R on the examples above.
  31.  
  32. \ Leo Brodie's common constants as fractions.
  33. : *PI       355     113 */ ;
  34. : *SQRT(2)  19601 13860 */ ;
  35. : *SQRT(3)  18817 10864 */ ;
  36. : *E        28667 10546 */ ;
  37.  
  38. \ Area of circle
  39. : AREA ( r -- a )
  40.         DUP * *PI  ;
  41.  
  42. \ Volume of sphere
  43. : VS    ( r -- v )
  44.         DUP DUP * * *PI 4 3 */ ;
  45.  
  46. \  Volume of a cone.
  47. : VC  ( h r -- v )
  48.         AREA  SWAP 3 */ ;
  49.  
  50.  
  51.