-----“大风车”幸运电话号码的产生摘要:本文讨论了随机函数与随机算法在抽奖过程中的具体应用,使用vfp6.0写出了关键的部分控件与事件代码。本文提供的方法不但在抽奖过程中使用,而且也可以在动态规划中应用。比如,使用随机数判断素数等。应用背景中央电视台的儿童节目“大风车”,是深受广大儿童和家长喜爱的电视节目,“大风车”热线电话,更是儿童积极参加的栏目,每周幸运电话号码的产生是这一栏目的高潮。那么幸运电话号码是怎样产生的呢?这实际上是一个随机数产生与应用的问题。解决方案使用系统软件提供的随机函数,在确定随机数的范围中寻找一个随机数,利用这个随机数与所有参与栏目的电话记录相关联。即可确定一个幸运号码。vfp6.0的实现过程创建一数据表 telephone.dbf两个字段telecode c 20 &&存放电话号码flag l 1 &&幸运电话号码的标志建立表单,增加控件 大风车.scx表单包括三个标签、一个文本框、两个按钮控件。其属性设置分别是:label1.caption=“电话号码”label1.fontsize=18label1.forecolor =0,0,0 &&黑色label2.caption=“幸运号码”label2.fontsize=18label2.forecolor =0,0,0 &&黑色label3.caption=’’ &&显示幸运号码label3.fontsize=18label3.forecolor =255,0,0 &&红色thisform.text1.value=telephone.telecodethisform.text1.fontsize=18command1.caption=”开始”command1.fontsize=15command2.caption=”结束”command1.fontsize=15设置控件事件代码在命令按钮1的click事件的代码如下set dele ondo while .t.count to acount &&确定参加抽奖的范围,已成为幸&&运的电话号码不再参与抽奖jj=mod(int(rand()*1000),acount+1) && 使用随机函数&&确定随机数的范围if jj=0jj=1endif go jjthisform.text1.value=telecode &&随机显示电话? &&不按数据库的顺序显示a=inkey(hm) &&监测键盘或鼠标if a<>0repl flag with .t.thisform.label3.caption=alltrim(telecode)deleexitendif thisform.label3.caption=thisform.refreshenddo 在命令按钮2的click事件的代码如下thisform.release &&撤销本表单完善程序本文只给出了随机数产生的关键部分。有兴趣的读者可进一步完善,比如电话号码库的维护;幸运电话号码的输出等操作。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18