网站首页  词典首页

请输入您要查询的论文:

 

标题 巧用VFP实现中考招生投档
范文

    王晓龙

    摘要:中等学校招生录取工作分批次投档录取,同一批次志愿为平行志愿。该文在VFP中运用循环和分支选择结构巧妙的实现了中考志愿的投档工作。提高了工作效率,节省了时间,保证了各项数据的正确性,为中考志愿投档提供了有力的保障。

    关键词:VFP;中考招生投档;平行志愿

    中图分类号:TP311 ? ? ? ?文献标识码:A

    文章编号:1009-3044(2019)13-0079-02

    每年中考成绩出来之后,分数线的划分都是领导关心、万人瞩目的。而中考成绩数据量大,投档复杂。单靠手工管理已经显得力不从心,而且极容易出错。鉴于这种情况,设计一个基于数据库技术的中考投档系统是很有意义的。通過使用计算机系统,由计算机代替人工处理一些诸如数据查询、数据排序、数据更新以及自动投档等功能,这样就使中考投档工作更轻松、更高效、更准确。

    1 投档前期准备

    在投档前,我们有成绩库、志愿库、照顾生等dbf文件,还有从各招生学校发来的推荐生、特长生等xls文件。为了能够统一在VFP中操作,首先得把xls文件转换成dbf文件。

    中等学校招生录取工作坚持“公平、公正、公开、择优”的原则,按照公布的招生计划,根据考生中考成绩、考生填报志愿,分批次投档录取,同一批次志愿为平行志愿,平行志愿投档原则是“分数优先、遵循志愿”。

    在符合普通高中招生基本条件的前提下,按照中考总分高低和志愿顺序,按招生计划数的1:1投档录取。在普通高中录取中,如出现尾数同分,则根据考生语文、数学和英语三门学科总分,从高分到低分依次录取;若语文、数学和英语三门学科总分仍然相同,则根据语文和数学两门学科总分,从高分到低分依次录取;若语文和数学两门学科总分仍然相同,则根据数学成绩,从高分到低分依次录取。

    志愿库(zyk.dbf)中有ksh,pcdm,xxdm,zysx,lqxx等,成绩库(cjk.dbf)中有ksh,xm,yw,sx,yy,ywsxyy,ywsx,zf等。根据平行志愿投档原则和普通高中录取办法,在VFP中,用zyk.dbf和cjk.dbf建立关联进行多表查询,并保存到zyk1.dbf中。代码如下:

    SELECT zyk.ksh,pcdm,xxdm,zysx,lqxx,xm,yw,sx,yy,ywsxyy,ywsx,zf FROM zyk zyk LEFT JOIN cjk ON zyk.ksh=cjk.ksh ORDER BY zf DESC,ywsxyy DESC,ywsx DESC ,sx DESC INTO TABLE zyk1

    其中 ORDER BY zf DESC,ywsxyy DESC,ywsx DESC ,sx DESC是按zf(总分)、ywsxyy(语文、数学和英语三门学科总分)、ywsx 、sx依次降序排列。

    这样,zyk1.dbf中就有了ksh,pcdm,xxdm,zysx,xm,yw,sx,yy,ywsxyy,ywsx,zf等信息,并且是按照成绩从高到低降序排列的。

    2 按批次投档

    2.1 第一批次录取

    第一批次中只有一个学校,招生计划数是880,把报考了该批次且名次在前880的学生标记为被海中录取并提取出来就可以了。未被第一批录取的学生也用select查询语句提取出来,并保存为zyk2p.dbf。

    2.2 第二批次录取

    第二批次中有两个四星级学校,按平行志愿投档,即“分数优先、遵循志愿”。

    这个部分需要用到VFP的程序设计功能。程序代码如下:

    ***************************************************************************

    *程序功能:把报考第二批次的学生,按平行志愿在两个学校中投档。

    *******************************************************************************

    SET TALK off

    CLEAR

    lnQzzsjh=730 &&创建内存变量lnQzzsjh,并赋初值730(曲塘中学录取计划)

    lnQzzsrs=0

    lnSzzsjh=680 &&创建内存变量lnSzzsjh,并赋初值680(实验中学录取计划)

    lnSzzsrs=0

    i=0

    USE zyk2p

    SELECT * FROM zyk2p WHERE pcdm="12" ORDER BY zf DESC,ywsxyy DESC,ywsx DESC ,sx DESC INTO TABLE zyk2p1 &&从zyk2p.dbf表中查询出报考第二批次的学生,并保存到zyk2p1.dbf中。 UPDATE zyk2p1 SET zyk2p1.lqxx="null" &&更新lqxx字段值为“null”。

    GO top &&将记录指针放置在表中的第一条记录上。

    DO WHILE .not.eof() ?&&循环语句:只要不是记录尾,就一直循环。

    Scatter Name oRec ?&&创建一个带有基于表中字段的属性的对象。

    DO CASE &&多分支选择结构语句。

    CASE oRec.xxdm="2103" And lnQzzsrs

    oRec.lqxx="曲塘中学"

    GATHER NAME oRec && 把oRec.lqxx的值"曲塘中学"写入相应记录的lqxx字段中。

    lnQzzsrs = lnQzzsrs+1 && 录取人数变量加1 。

    kaoshihao=oRec.ksh ?&& 定义一个变量kaoshihao,记录下当前记录的ksh(考试号)。

    jilu1=RECNO() ?&& 把当前表中的当前记录号保存到变量jilu1中。

    SKIP && 在表中向后移动记录指针。

    DO WHILE .not.eof() ?&& 分支一内嵌套循环,把ksh=kaoshihao的学生标注为"曲塘中学"。

    Scatter Name oRec1

    IF oRec1.ksh=kaoshihao && 条件判断

    oRec1.lqxx="曲塘中学"

    GATHER NAME orec1 && 把ksh=kaoshihao的学生lqxx字段赋值为"曲塘中学"。

    SKIP

    ELSE

    SKIP

    endif ?&& 结束条件判断

    ENDDO ?&& 嵌套循环结束。

    GO jilu1+1 && 指针从jilu1向后移一个记录。

    CASE ?oRec.xxdm="2109" AND ?lnSzzsrs

    oRec.lqxx="实验中学"

    GATHER NAME orec ?&& 把oRec.lqxx的值"实验中学"写入相应记录的lqxx字段中。

    lnSzzsrs = lnSzzsrs+1

    kaoshihao=oRec.ksh

    jilu2=RECNO()

    SKIP

    DO WHILE .not.eof() && 分支二內嵌套循环,把ksh=kaoshihao的学生标注为"实验中学"。

    Scatter Name oRec2

    IF oRec2.ksh=kaoshihao

    oRec2.lqxx="实验中学"

    GATHER NAME orec2 && 把ksh=kaoshihao的学生lqxx字段赋值为"实验中学"。

    skip

    ELSE

    SKIP

    endif

    enddo

    GO jilu2+1 && 指针从jilu2向后移一个记录。

    OTHERWISE && 已被录取的记录,直接跳过。

    skip

    ENDCASE && 结束多分支选择语句。

    ENDDO ?&& 结束循环语句。

    USE

    SET TALK ON

    以上这段程序运行之后,表zyk2p1中,第二批平行志愿投档已经基本完成。

    运行以下代码,从zyk2p1中提取出被“曲塘中学”和“实验中学”录取的学生,分别存入“曲塘中学.dbf”和“实验中学.dbf”。

    SELECT * FROM zyk2p1 WHERE lqxx="曲塘中学" AND xxdm="2103" INTO TABLE 曲塘中学

    SELECT * FROM zyk2p1 WHERE lqxx="实验中学" AND xxdm="2109" INTO TABLE 实验中学

    2.3第三批次录取

    第三批次中有三个学校,也是按平行志愿投档。这个部分需要用到的程序代码可参照第二批次的代码稍作修改即可,这里就不赘述。

    3 结束语

    以上数据处理方法解决了中考志愿自动投档问题,提高了工作效率,节省了时间,保证了各项数据的正确性,为中考志愿投档提供了有力的保障,更好,更快地完成了招生投档工作。

    参考文献:

    [1] 海安县2018年普通高中招生录取办法[Z].

    [2] 金勤.Visual FoxPro9.0程序设计教程[M].杭州:浙江大学出版社,2011.

    [3] Visual FoxPro9.0帮助文档[Z].

    【通联编辑:唐一东】

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/10 13:07:56