home *** CD-ROM | disk | FTP | other *** search
- \ Balraj Sidhu Set: 14D4
- \ Comp 462 - Forth
- \ Date: April 12, 1990
- \ Problem 4.4
-
-
- variable under_seven 0 under_seven !
-
- variable seven 0 seven !
-
- variable over_seven 0 over_seven !
-
-
- \ RND function
- \ ------------
- variable seed 1234 seed !
-
- \ Generate random number r between 0 and 65535
- : (rnd) ( -- r )
- seed @ 259 * 3 + 32767 and dup seed ! ;
-
- \ Generate random number r between 0 and n
- : rnd ( n -- r) \ r is a random number 0 <= r < n
- (rnd) 32767 */ ;
-
-
- : dice ( -- die1 die2 )
- 6 rnd 1+ 6 rnd 1+ ;
-
- : results ( -- )
- cr
- ." Number of Trials: " . cr
- ." Under seven: " under_seven @ . cr
- ." Equal to seven: " seven @ . cr
- ." Over seven: " over_seven @ . cr ;
-
-
- : clear_variables ( -- )
- 0 under_seven !
- 0 seven !
- 0 over_seven ! ;
-
- : trials ( n -- )
- dup >r clear_variables 0
- ?do dice +
- dup 7 <
- if under_seven @ 1+ under_seven ! drop
- else
- 7 >
- if over_seven @ 1+ over_seven !
- else seven @ 1+ seven !
- then
- then
- loop
- r> results ;
-
-