随机函数与随机化算法应用实例
来源: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 &&撤销本表单
完善程序
本文只给出了随机数产生的关键部分。有兴趣的读者可进一步完善,比如电话号码库的维护;幸运电话号码的输出等操作。 进入讨论组讨论。
相关图文阅读
频道图文推荐
相关专题
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容
友情互链 | 收藏本站 | 联系我们 | 在线留言 | 京ICP备08008424号|




