home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / p4_4bs.seq < prev    next >
Encoding:
Text File  |  1990-04-14  |  1.3 KB  |  57 lines

  1. \ Balraj Sidhu   Set: 14D4
  2. \ Comp 462 - Forth
  3. \ Date: April 12, 1990
  4. \ Problem 4.4
  5.  
  6.  
  7. variable under_seven  0 under_seven !
  8.  
  9. variable seven        0 seven !
  10.  
  11. variable over_seven   0 over_seven !
  12.  
  13.  
  14. \ RND function
  15. \ ------------
  16. variable seed         1234 seed !
  17.  
  18. \ Generate random number r between 0 and 65535
  19. : (rnd) ( -- r )
  20.         seed @ 259 * 3 + 32767 and dup seed ! ;
  21.  
  22. \ Generate random number r between 0 and n
  23. : rnd ( n -- r)           \ r is a random number 0 <= r < n
  24.         (rnd) 32767 */ ;
  25.  
  26.  
  27. : dice ( -- die1 die2 )
  28.         6 rnd 1+ 6 rnd 1+ ;
  29.  
  30. : results ( -- )
  31.         cr
  32.         ." Number of Trials: " . cr
  33.         ."      Under seven: " under_seven @ . cr
  34.         ."   Equal to seven: " seven @ . cr
  35.         ."       Over seven: " over_seven @ . cr ;
  36.  
  37.  
  38. : clear_variables ( -- )
  39.        0 under_seven !
  40.        0 seven !
  41.        0 over_seven ! ;
  42.  
  43. : trials ( n -- )
  44.         dup >r clear_variables 0
  45.         ?do dice +
  46.                 dup 7 <
  47.                 if under_seven @ 1+ under_seven ! drop
  48.                 else
  49.                         7 >
  50.                         if over_seven @ 1+ over_seven !
  51.                         else seven @ 1+ seven !
  52.                         then
  53.                 then
  54.         loop
  55.         r> results ;
  56.  
  57.