电脑派位录取程序的原理及其编写.doc

上传人:M****1 文档编号:543585865 上传时间:2023-04-02 格式:DOC 页数:5 大小:26.50KB
返回 下载 相关 举报
电脑派位录取程序的原理及其编写.doc_第1页
第1页 / 共5页
电脑派位录取程序的原理及其编写.doc_第2页
第2页 / 共5页
电脑派位录取程序的原理及其编写.doc_第3页
第3页 / 共5页
电脑派位录取程序的原理及其编写.doc_第4页
第4页 / 共5页
电脑派位录取程序的原理及其编写.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《电脑派位录取程序的原理及其编写.doc》由会员分享,可在线阅读,更多相关《电脑派位录取程序的原理及其编写.doc(5页珍藏版)》请在金锄头文库上搜索。

1、电脑派位录取程序的原理及其编写江苏省如皋市教育局张小刚关键字:电脑派位 随机 程序 源代码鉴于当前部分民办学校拥有较优质资源和教学实绩,往往出现报名人数多于录取人数的情况。这时,采用微机软件进行随机派位录取是普遍为学校和社会接受的解决问题的方法。鉴于社会关注度高等因素,决定了本程序设计必须做到选择公平公正、选择随机、源代码可以当场展示讲解且程序代码百分之百正确,因此,虽然程序原理及运行流程比较简单,导致许多学校虽然有具备一定知识水平的人员,却很少有敢于承担此项编程工作的。为此,本文就程序原理、代码编写及其在某校实际运行过程中的操作方法进行简要论述,并附全部源代码,以供参考。、编程语言的选择由于

2、关注度高,因此程序和运行环节的公正性要求能接受社会公开监督。有些学校为了保证其公正性不受置疑,除了请公证处全程公证,甚至采取电视直播的方法进行。这就要求我们的程序能以最简洁的代码来实现所需功能,以便能在运行前当场展示并讲解程序代码及原理。基于此,综合考虑当前流行的主要编程语言,我们优先选择了Visual Foxpro:代码简洁、便于讲解、源代码无需编译即可直接运行,同时其DBF文件格式与学校一般采用的Excel录入的报名学生名册文件可以自由转换。、程序原理以在江苏省南通市有影响的某实验初中为例,要求在报名的1500多生中随机选择516人录取,分6个批次进行,前5批次每次取100人,最后取16人

3、。程序运行时,先对原始数据文件进行备份,根据在屏幕上显示“第x批”按钮及当前待选库人数、本批选择进度条等组成程序运行界面。每按动“第x批”按键一次,电脑计算本批次应产生的选中人数(如果总的待选择数大于100则为100,否则为剩余数),随机对当前待选择库进行派位,直到选中本批次待选人数,显示选择结果,将选中名单导出到 批次.dbf和 批次.xls 文件,并显示报告,将已选出名单从待选择库中删除,打印本批名单交公证处及相关人员签字,如果还有待选择名单,则屏幕界面上显示 “第x+1批”按钮,以供下一批次的选择,否则选择按钮显示为“选择结束”。、数据准备及代码编写数据准备:将学校提供的经公证处检查认可

4、的报名Excel文件保留其中的“姓名”、“身份证号”或登记号(需唯一)并另存生成bmk.DBF文件。打开该DBF文件,运行modi stru命令,添加“原始记录号”、“选中”、“选中顺序”三个数值型字段,运行命令repl all原始记录号 with recno(),数据准备完毕。在新窗体添加四个标签,分别为Label1、Label2、Label3、Progress1,将Label2的Caption设置为“进度”且与Progress1水平对齐,将Progress1的BackColor设置为“0,0,255” 即蓝色,添加两个命令按钮,名称分别为Command1、Command2,将Command

5、1的Caption设置为“第1批”,将Command2的Caption设置为“退出”。对窗体的Init即初始化部分添加代码:*行前带*号的为注解set esca offset talk offthis.visible=.t.this.autocenter=.t.this.Command1.Caption=第1批public 批次,需选人数,已选出数,oldwidthclos allsele 1use bmk*将标志清0,防止被事先设置repl all 选中 with 0,选中顺序 with 0copy to bmk原始备份批次=1需选人数=516this.label1.Caption=待选出总

6、人数+ltrim(str(需选人数)+,已选出0已选出数=0*随机数初始化rand(-100)oldwidth=thisform.Progress1.widthcoun to totalnowthis.label3.Caption=待选库现有总人数+ltrim(str(totalnow)*界面显示完成,等待进行选择对Command1的Click即点击事件添加代码:rand(-100)if 需选人数-已选出数100 then本批数=100else本批数=需选人数-已选出数endigo bott库中还有总人数=recno()本批已选=0*当本批已选本批数时 循环选择,考虑了防止被事先设置选中标记的

7、情况do whil 本批已选=1,就去判断选择该行,if 随机数=1 thengo 随机数*如果该行的选中标记不是1,那么 本批已选 变量加1,该行的 选中 为1,选择顺序放置在 选中顺序if 选中1 then本批已选=本批已选+1repl 选中 with 1,选中顺序 with 本批已选thisform.Progress1.width=本批已选*oldwidth/本批数thisform.refreshendiendi*空循环,产生延时效果delay1=1do whil delay110000kk=round(123456789/456789.8,8)delay1=delay1+1endden

8、dd*将本批选中的行拷贝到 批次.dbf 例如 1.dbfcopy to ltrim(str(批次) for 选中=1*将本批选中的行拷贝到 批次.xlscopy to ltrim(str(批次) xls for 选中=1*将本批选中的行从当前待选择表删除dele all for 选中=1pack已选出数=已选出数+本批已选thisform.Progress1.width=oldwidththisform.Label1.Caption=待选出总人数+ltrim(str(需选人数)+,已选出+ltrim(str(已选出数)coun to totalnowthisform.label3.Capti

9、on=待选库现有总人数+ltrim(str(totalnow)=MESSAGEBOX(第+ltrim(str(批次)+批+ltrim(str(本批已选)+已选出,48,提示)=MESSAGEBOX(本批名单已导出到文件+ltrim(str(批次)+.xls及+ltrim(str(批次)+.dbf,48,提示)批次=批次+1if 已选出数需选人数thisform.Command1.Caption=第+ltrim(str(批次)+批else=MESSAGEBOX(选择全部完成!,48,提示)thisform.Command1.Caption=选择结束thisform.Command1.Enable

10、d=.f.thisform.Command2.Enabled=.T.endiretuCLOS all、程序运行程序运行前,先将经公证处检验密封的派位运行专用电脑启封,查看派位程序运行的硬盘分区如E内容应为空白。将经公证处事先检验并密封的数据和程序U盘插上,将数据和程序从U盘拷贝到E盘,打开 Bmk.dbf文件当众展示,打开程序文件展示源代码并讲解其原理,即可准备运行。在每一批次(一般由嘉宾点击按钮)录取名单生成后,根据指示当场将运行文件夹下的例如 2.xls文件打开,展示并打印交签字。本软件通过简洁有效的代码实现了电脑随机派位录取,结合相应的操作流程,保证了整个选择的随机性、公平公正性,在实际应用中取得良好的社会效果。(申明:如有引用本文源代码,需事先征得作者书面同意,否则即视为侵权。ZXGBM126.COM)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号