下午的系统编程设计比赛,就难得多了,总共有3道系统设计与实现题,总分阈值是600分。
考试内容前面两道题考察用高级语言(C、C++、Java等)进行程序设计的能力,最后一道题考察用汇编语言进行程序设计的能力。
系统设计与实现题着重考察参赛者在Linux操作系统下,运用多线程编程解决系统问题的能力以及灵活运用命令执行的能力。
系统设计与实现题的得分,每道题最高可得200分,分值由三部的得分组成:正确性得分、附加奖励分、性能指标得分。
针对每道题,竞赛主办方都设置十余组测试用例进行白盒、黑盒测试,样例难度由易变难,按照通过的测试用例数获得对应的分数,这部分最高120分。
全部测试用例正确将额外获得正确性附加奖励分,为30分。
系统设计与实现题还设置了程序运行稳定性的性能指标得分,主要考核依据是程序稳定运行时长。
稳定运行的时间越长,视为稳定性越高,相应的加分项越高,这部分最高可得50分。
以运行时间最长的那一个参赛者为基准时间,往后类推,后面参赛者每少一分钟就扣一分,如果运行时间差距在50分钟以上,这就代表着这一项一分没有。
举个简单的例子:参赛者A在15点整第一个完成程序编写,只要A编写的程序坚持到18点结束,还是能够正常运行。
那么,这道题的基准时间就是180分钟,A在这题可以获得最高50分的性能指标得分。
如果参赛者B的稳定运行时间只有172分钟,那么B的得分就是50-(180-172)=42分。
如果参赛者B的稳定运行时间小于等于130分钟,那么B的这一项得分为0。
假设出现某一个高手,编程的速度普遍比别人快50分钟以上,那么,这就意味着,很多人的这一项是0分。
所以,从这里就可以看出,下午的竞赛题就是扩大分值差距的,基本上强者恒强,弱者越弱。
听完彭晔老师讲解完比赛规则后,其他人都目露难色,只有江飞宇心里乐开花了,这种考编程实操能力的题目,简直就是为他量身定做的。
楼言歆忽然想起来许晨鎏是参加过上一届的比赛,赶紧向他问道:“晨鎏,你去年参加比赛,得分多少?获得了什么名次?”
许晨鎏难得露出一丝苦笑,说道:“说来惭愧,我去年笔试只得了186分,系统编程设计的得分是237分,总分才423分,这个成绩都没有进前一百名,我记得我的排名好像是109名。”
戴建涛向彭晔问道:“彭老师,总共有多少所高校参加这次的竞赛?”
彭晔解释道:“这个比赛不是报名就能参加的,只有收到竞赛主办方的邀请才能参加,去年是31所高校收到邀请,今年扩大到了43所高校。”
众人心里估算了一下,31所高校,一个学校5个参赛者,总共就是155名参赛者,许晨鎏109名,排名算是比较靠后了。
今年扩大到43所高校,参赛总人数将扩大到215人,这个竞争的压力还是非常大的。
彭晔看到大家有些泄气,鼓励道:“大家也别灰心,许晨鎏同学去年是以大二的身份破格入选计算机竞赛队的,他去年取得的总分在我们学校的参赛人员中只排第四,像我们学校得分最高的陈敏政同学,就以总分592分,位列第17名。”