同城约会| 杂志期刊| 小说| 两性论坛| 军事电影| 两性知识| 电脑知识| 汽车| 旅游| 收藏

随机函数与随机化算法应用实例

来源:CPCW 作者:李红卫 出处:综艺读书 2005-12-02 
关 键 词:系统软件  数据库  解决方案  

-----“大风车”幸运电话号码的产生
摘要:本文讨论了随机函数与随机算法在抽奖过程中的具体应用,使用vfp6.0写出了关键的部分控件与事件代码。本文提供的方法不但在抽奖过程中使用,而且也可以在动态规划中应用。比如,使用随机数判断素数等。


应用背景


中央电视台的儿童节目“大风车”,是深受广大儿童和家长喜爱的电视节目,“大风车”热线电话,更是儿童积极参加的栏目,每周幸运电话号码的产生是这一栏目的高潮。那么幸运电话号码是怎样产生的呢?这实际上是一个随机数产生与应用的问题。


解决方案

使用系统软件提供的随机函数,在确定随机数的范围中寻找一个随机数,利用这个随机数与所有参与栏目的电话记录相关联。即可确定一个幸运号码。


vfp6.0的实现过程


创建一数据表 telephone.dbf

两个字段

telecode c 20 &&存放电话号码

flag l 1 &&幸运电话号码的标志


建立表单,增加控件 大风车.scx

表单包括三个标签、一个文本框、两个按钮控件。其属性设置分别是:

label1.caption=“电话号码”

label1.fontsize=18

label1.forecolor =0,0,0 &&黑色


label2.caption=“幸运号码”

label2.fontsize=18

label2.forecolor =0,0,0 &&黑色


label3.caption=’’ &&显示幸运号码

label3.fontsize=18

label3.forecolor =255,0,0 &&红色


thisform.text1.value=telephone.telecode

thisform.text1.fontsize=18


command1.caption=”开始”

command1.fontsize=15


command2.caption=”结束”

command1.fontsize=15


设置控件事件代码

在命令按钮1的click事件的代码如下

set dele on

do while .t.

count to acount &&确定参加抽奖的范围,已成为幸

&&运的电话号码不再参与抽奖

jj=mod(int(rand()*1000),acount+1) && 使用随机函数

&&确定随机数的范围

if jj=0

jj=1

endif

go jj

thisform.text1.value=telecode &&随机显示电话?

&&不按数据库的顺序显示

a=inkey(hm) &&监测键盘或鼠标

if a<>0

repl flag with .t.

thisform.label3.caption=alltrim(telecode)

dele

exit

endif

thisform.label3.caption=

thisform.refresh

enddo


在命令按钮2的click事件的代码如下

thisform.release &&撤销本表单


完善程序

本文只给出了随机数产生的关键部分。有兴趣的读者可进一步完善,比如电话号码库的维护;幸运电话号码的输出等操作。

进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
综艺读书宗旨
相关专题
热点标签: 系统软件  数据库  解决方案  
最新技术文档
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容
Web 全站

Google

友情互链 | 收藏本站 | 联系我们 | 在线留言 | 京ICP备08008424号|