WEB开发网
开发学院软件开发VC 使用VC++开发考场随机排座系统 阅读

使用VC++开发考场随机排座系统

 2009-02-27 20:02:47 来源:WEB开发网   
核心提示: 3.2随机数的产生 随机数的产生需要一个随机的种子,而计算机产生的随机数是通过递推的方法得到的,使用VC++开发考场随机排座系统(3),必须有一个初始值,也就是通常所说的随机种子,舍弃;基于该方法产生的10000个随机数序列的统计如图2所示,从图2可以看出随机数序列符合一维正态分布的规律,

3.2随机数的产生

随机数的产生需要一个随机的种子,而计算机产生的随机数是通过递推的方法得到的,必须有一个初始值,也就是通常所说的随机种子,如果不对随机种子进行初始化,那么计算机有一个缺省的随机种子,这样每次产生的随机数序列结果就会完全相同,在VC系统中,随机种子的初始化是通过srand(int)函数进行的,但是如果给定的参数是一个常量,则每次得到的随机数序列也会完全相同,即使是使用系统时间作为随机种子进行初始化srand(GetTickCount()),又不能在每次调用rand()的时候都进行这项操作,因为现在计算机上运行速度比较快,当连续调用rand()函数时,系统的时间还没有更新,这也不足以保证产生随机数序列的真正随机性。

本系统采用了对产生的随机数序列进行筛选的方法,使得产生的随机数序列符合一维正态分布的概率密度函数规律,其原理为:若一个数列服从一维正态分布,那么它的概率密度函数为使用VC++开发考场随机排座系统(其中使用VC++开发考场随机排座系统使用VC++开发考场随机排座系统为常数,分别代表数学期望和方差[3]),根据一维正态分布的概率密度理论使用VC++开发考场随机排座系统为随机数序列的均值,代表着随机数在该处的概率最大,使用VC++开发考场随机排座系统为方差,代表产生的随机数偏离均值的程度,其概率密度函数曲线如图1所示,利用rand()函数线性变换后产生的平均随机数,带入该函数模型进行验证,若随机数的函数值在曲线范围内,即认为该随机数符合条件,进行保留,反之,舍弃;基于该方法产生的10000个随机数序列的统计如图2所示,从图2可以看出随机数序列符合一维正态分布的规律,达到系统所需的随机数要求。

上一页  1 2 3 4  下一页

Tags:使用 VC 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接