高考录取系统的模拟(1)——成绩的模拟生成程序

 这两天干上高考出成绩,有不少亲戚家的孩子今年高考,和我询问关于报志愿的问题。老家河北今年是采用所谓的平行志愿。我看了很多的资料才明白什么叫所谓的“平行志愿”。

整个流程好像很是复杂。我突发奇想,心想何不自己编写一个程序来模拟一下这个所谓的录取过程呢。

 

考生成绩和志愿是机密类的数据,向我们这样的平头百姓向那倒是不太可能的事情,那么就只能自己写个程序生成一份模拟的成绩和志愿数据。

 

成绩比较好办,因为有个参考,那就是省教育考试院放出的“一分一段成绩统计表”。这个东西提供了我们模拟成绩数据的很多信息:一是考生的人数,每个分数下的人数都写得很清楚;二是成绩的分布情况,即在不同成绩段的考生人数都十分详细的列出。

 

但有一个缺陷是这个表格只列出了总成绩的分布,而没有单科成绩的分布,所以单科成绩分布只能自己想办法。不过还好高考是按总分录取的,所以不影响我们的仿真。

 

好了,废话少绪,直接上代码:

 

 

 

其中的样本数据直接复制于河北省的一分一段统计表。

 

程序用到的数据文件中的数据如下:

 

只需复制上面的数据保存为rate_stylebook.txt放在编译后的可执行程序相同目录下即可执行。

结果数据写入了score_record.txt文件中,总共有30多万条成绩数据。

处理的比较粗的是成绩低于199分时全部是按199分处理的,但这应该不会影响录取模拟,因为低于199基本也没有可能被录取。

 

高考成绩的统计和查询工作是非常重要的。高考成绩是面向的是全国范围内的考生,它涉及的面比较广、数据量大,如果在设计上出现什么问题,都会在社会上产生巨大的影响。在这里我们只是简单地做一个高考成绩查询和统计的一个小系统,并没有考虑安全性等方面的的问题,主要目的是通过这个课程设计的学习,对用JAVA开发数据库系统有更为深刻的认识。还有本次我们开发的是高考管理系统是以“3+2”为模型的。 高考成绩管理模块主要实现以下功能: (1高考成绩录入。高考成绩录入包括成绩的添加、修改、编辑和自动统计等功能。目前高考主要包括两个方面:文科和理科。文科成绩录入和理科成绩录入分别是两个不同的模块。 (2)高考成绩查询。成绩查询也分为理科查询和文科查询两个部分,成绩查询部分最好是应用准考证查询,这是因为准考证号是全国统一的,每个考生只有一个准考证号,这样就避免了同名同姓出现查询重复的。如图1所示,在这个系统中,包含4个模块:理科成绩录入、理科成绩查询、文科成绩录入和文科成绩查询。其中,理科成绩录入和文科成绩录入、理科成绩查询和文科成绩查询两个模块的设计思想基本一致。 (3)建立理(文)科成绩录入和查询界面。建立一个理科数据库表,用来记录准考证号(这个作为数据库表的主键,惟一标识)、学生考号和姓名。另外再建立一个理科数据库表,用来记录学生姓名、考号之外的其他信息,并记录各科的成绩。 ◆建立一个文科数据库表,用来记录准考证号(这个作为数据库表的主键,惟一标识)、学生考号和姓名。另外再建立一个文科数据库表,用来记录学生姓名、考号之外的其他信息,并记录各科的成绩。其中,理科文科的界面设计比较相似。 (4)本系统查询与成绩设计。系统设计要求在考生查询的同时自动进行统计工作,这是一种人性化的需求,统计和查询只需要一个事件代码和一个执行动作即可完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值