2008年9月4日星期四

随机数的问题

大家使用随机数函数产生随机数如RandInt(0,100)是在0~100区间内产生一个随机数,如
testcase Rand1 () appstate none
INTEGER iSeed = 10
RandSeed (iSeed)
Print (RandInt (0, 100))
Print (RandInt (0, 100))
Print (RandInt (0, 100))

但是这里面每次运行testcase Rand1() 就会产生相同的随机数序列,如果想产生真正的随机数,就要让种子也随机,比如种子的值随着时间变化,可以使用下面的方式来实现:

RandSeed (GetDateTimePart (GetDateTime (), DTP_SECOND))


testcase Rand2 () appstate none
RandSeed (GetDateTimePart (GetDateTime (), DTP_SECOND))
Print (RandReal())
Print (RandInt(1,12))

没有评论: