作业帮 > 综合 > 作业

在vfp中,怎么产生真正的随机数?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/08 17:50:47
在vfp中,怎么产生真正的随机数?
在vfp中,用rand()产生的随机数每次都是固定的,不是真正的随机数.然后我在网上学到一个程序nrand(),以当前秒数为因子,产生一个随机数.
但是现在有一个问题,我每次要同时产生5个随机数,可是由于是以秒为因子,所以瞬间内产生的5个随机数是一样的,比如4,4,4,4,4.或者就是相差1,比如3,3,3,4,4.
这样就不能产生一个真正的随机数,谁能帮我呢?非专业勿扰!
在vfp中,怎么产生真正的随机数?
这里提供2种方法供你参考,其实原理都是每次让rand函数种子值变化.
方法一:显示1 到 10 之间的一个随机数:这是VFP帮助文档中的,有空应该多看看帮助.
CLEAR
LIST && 显示值
gnMaximum = 1 && 初始化最小值
gnMinimum = 100 && 初始化最大值
SCAN
gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? '最小值是: ', gnMinimum && 显示最小值
? '最大值是: ', gnMaximum && 显示最大值
CLEAR
gnLower = 1
gnUpper = 10
? INT((gnUpper - gnLower + 1) * RAND() + gnLower)
方法二:
建立一个资源表,然后从资源表中选rand函数的种子产生随便机数,用过的资源就删除.