There are certain times when you'd like an ASP script to randomly choose to do one of N
tasks. One can use the Randomize
statement and the Rnd
function
in VBScript to select a random number. In fact, this is the only way to generate truly
random numbers. But sometimes generating a purely random number isn't that important, you
would just like to do 1 of N things, where each of the N events are equally probable.
For examle, on the 4GuysFromRolla.com homepage I have a space reserved to place a link to one of my two books: Designing Active Server Pages and Sams Teach Yourself ASP 3.0 in 21 Days. I wanted to randomly have each book displayed... however, I am not too concerned about true randomness and am more interested in having each book shown with equal probability.
It struck me that a very easy thing to do would be to determine the current time (using
the Time
function), grab the seconds (using the Second
function)
and then Mod 2
the result. The Mod
operator is used like:
Number1 Mod Number2

dividing Number1
and Number2
and returning the
remainder. Here is a simple chart of Mod
values:
Mod Values  

Number1  Number2 
Number1 Mod Number2 
5  5  0 
6  5  1 
7  5  2 
8  5  3 
9  5  4 
10  5  0 
6  6  0 
7  6  1 
8  6  2 
9  6  3 
10  6  4 
7  7  0 
8  7  1 
9  7  2 
10  7  3 
8  8  0 
9  8  1 
10  8  2 
9  9  0 
10  9  1 
10  10  0 
So, to give two events the same probability, I simply did:

That's all there is to it! A quick and dirty way to act on one of two events with equal probability!
Is that Number Even or Odd? 

The Mod operator can be used to quickly determine if a number is even
or odd! Assume we have some integer value, iVal . If iVal Mod 2 = 0
then iVal is even; if, on the other hand, iVal Mod 2 = 1 , then
iVal is odd!

Happy Programming!
Return to user tips... 