NOTE: The example below is written for the BS2 and will run on any of the BS2-family modules. Modify the $STAMP directive (as required) before downloading to the BS2e, BS2sx, BS2p, BS2pe, or BS2px.
' SELECT-CASE.BS2 ' This program generates a series of 16-bit random numbers and tests each ' to determine odd or even, and where it falls in the possible range: ' lower third, middle third, or upper third. The program is useful for ' testing various seed values for RANDOM. ' {$STAMP BS2} ' {$PBASIC 2.5} test VAR Byte ' counter for tests sample VAR Word ' random number to be tested odd VAR Byte ' odd throws even VAR Byte ' even throws isLo VAR Byte ' sample in lower third isMid VAR Byte ' in middle thrid isHi VAR Byte ' in upper third Main: sample = 11000 ' initialize seed FOR test = 1 TO 100 ' "throw" 100 times RANDOM sample ' randomize IF (sample.BIT0) THEN ' check odd/even bit odd = odd + 1 ' increment odd count ELSE even = even + 1 ' increment even count ENDIF SELECT sample CASE <= 21845 ' test lower third isLo = isLo + 1 CASE 21846 TO 43691 ' test middle third isMid = isMid + 1 CASE ELSE ' otherwise upper third isHi = isHi + 1 ENDSELECT NEXT Show_Results: DEBUG CLS, "Odd Throws.... ", DEC odd, "%", CR, "Even Throws... ", DEC even, "%", CR, "Low........... ", DEC isLo, "%", CR, "Mid........... ", DEC isMid, "%", CR, "High.......... ", DEC isHi, "%", CR END
BASIC Stamp Help Version 2.5.4
Copyright © Parallax Inc.
8/8/2012