一种在线判题系统的前台处理方法及系统的制作方法

文档序号:8528067阅读:552来源:国知局
一种在线判题系统的前台处理方法及系统的制作方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种在线判题系统的前台处理方法及系统。
【背景技术】
[0002]代码判题系统是基于开源的在线判题系统来实现的,代码判题系统可以作为公司招聘软件工程师替代传统笔试的系统、老师给学生出考卷的机试系统等。该系统通过将答题者提交的代码编译成可运行的程序,并用系统预设好的多组测试用例来检测程序的输入输出是否跟预设好的结果符合,如果完全符合,则判定该题目通过,反之,则判断题目不通过。
[0003]然而,目前的代码判题系统要求使用者正确输入全部的代码内容,稍微因为一个标点或者一个格式不对就被判定为不通过,不能客观反映使用者能力,不便于用人筛选或者学生能力考核。

【发明内容】

[0004]本发明实施例提供了一种线判题系统的前台处理方法及系统,通过提供一种框架代码,解决了现有技术中测试结果不准确,不能客观反映使用者能力,不便于用人筛选或者学生能力考核的问题。
[0005]本发明提供的一种在线判题系统的前台处理方法,包括:
[0006]根据预定分类规则,将目标代码分为测试信息和条件信息;
[0007]从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;
[0008]接收用户根据框架代码录入的录入代码;
[0009]对录入代码和条件信息进行编译得到代码程序;
[0010]采用预设的测试用例运行代码程序得出运行结果。
[0011]可选的,得到框架代码具体为:
[0012]从目标代码中删除测试信息,并使用编辑框代替测试信息,编辑框和条件信息整合得到框架代码;框架代码中的编辑框为人机交互操作的入口。
[0013]可选的,接收用户根据框架代码录入的录入代码具体为:
[0014]接收用户根据框架代码向编辑框中录入的录入代码。
[0015]可选的,采用预设的测试用例运行所述代码程序得出运行结果具体为:
[0016]采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;
[0017]根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;
[0018]根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值。
[0019]可选的,采用预设的测试用例运行代码程序得出运行结果之后还包括:
[0020]从运行结果中获取异常运行信息;
[0021]显示异常运行信息。
[0022]可选的,
[0023]分类规则包括:根据应试者类型进行分类,其中应试者类型包括精细型和逻辑型。
[0024]本发明还提供了一种在线判题系统的前台处理装置,包括:
[0025]分类单元,用于根据预定分类规则,将目标代码分为测试信息和条件信息;
[0026]生成单元,用于从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;
[0027]接收单元,用于接收用户根据框架代码录入的录入代码;
[0028]编译单元,用于对录入代码和条件信息进行编译得到代码程序;
[0029]运行单元,用于采用预设的测试用例运行代码程序得出运行结果。
[0030]可选的,运行单元包括:
[0031]运行子单元,用于采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;
[0032]第一计算子单元,用于根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;
[0033]第二计算子单元,用于根据所少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值。
[0034]可选的,该装置还包括:
[0035]获取单元,用于获取运行结果中获取异常运行信息;
[0036]显示单元,用于显示异常运行信息。
[0037]可选的,分类规则包括:
[0038]根据应试者类型进行分类,其中应试者类型包括精细型和逻辑型。
[0039]从以上技术方案可以看出,本发明实施例具有以下优点:
[0040]本发明中的,系统首先根据预定分类规则,将目标代码分为测试信息和条件信息;接着从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;然后接收用户根据框架代码录入的录入代码;再对录入代码和条件信息进行编译得到代码程序;最后采用预设的测试用例运行代码程序得出运行结果。由于用户只需要根据框架代码录入目标代码中的一部分,无需全部录入,降低了错误率的发生,解决了现有技术中测试结果不准确,不能客观反映使用者能力的问题,同时方便定向筛选。
【附图说明】
[0041]图1为本发明中一种在线判题系统的前台处理方法一个实施例流程图;
[0042]图2为本发明中一种在线判题系统的前台处理方法另一个实施例流程图;
[0043]图3为本发明中一种在线判题系统的前台处理系统实施例结构示意图。
【具体实施方式】
[0044]本发明实施例提供了一种线判题系统的前台处理方法及系统,通过提供一种框架代码,解决了现有技术中测试结果不准确,不能客观反映使用者能力,不便于用人筛选或者学生能力考核的问题。
[0045]请参阅图1,本发明提供的一种在线判题系统的前台处理方法实施例,包括:
[0046]101、根据预定分类规则,将目标代码分为测试信息和条件信息;
[0047]在本实施例中,系统将根据预先设定的分类规则,将目标代码分为测试信息和条件信息两部分。
[0048]需要说明的是,对于一道代码测试题而言,目标代码相当于题目的全部答案,系统根据考生类型对答案内容进行分解,若考生包括精细型和逻辑型,系统便将答案分为考察考生细致程度部分和逻辑能力的部分。
[0049]102、从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;
[0050]在本实施例中,系统从目标代码中删除测试信息,并预留测试信息在目标代码中的位置,得到框架代码。
[0051]需要说明的是,系统将测试信息部分从目标代码中剥离,留下的内容为框架代码。该框架代码能够用于调用到编辑器中编译。
[0052]103、接收用户根据框架代码录入的录入代码;
[0053]在本实施例中,当用户根据框架代码内容录入若干录入代码时,系统能够接收上述录入代码。
[0054]104、对录入代码和条件信息进行编译得到代码程序;
[0055]在本实施例中,为了检测录入代码是否正确,系统将录入代码和条件信息进行编译形成代码程序。
[0056]105、采用预设的测试用例运行代码程序得出运行结果。
[0057]在本实施例中,系统将上述代码程序带入若干测试用例进行运行,例如:题目是计算任意自然数的阶乘,则系统将编译好的代码程序带入3 !、14!、25!,得到测试结果。在后台处理的整个过程中,如果任何一步出现问题,则系统抛出相应的问题点,如编译错误、输入输出错误、执行超时、占用内存超过限制等等错误,如果代码这次编译、输入输出都正确、执行时间、占用内存也在要求的范围内,则判定该题目通过。
[0058]本实施例中,系统首先根据预定分类规则,将目标代码分为测试信息和条件信息;接着从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;然后接收用户根据框架代码录入的录入代码;再对录入代码和条件信息进行编译得到代码程序;最后采用预设的测试用例运行代码程序得出运行结果。由于用户只需要根据框架代码录入目标代码中的一部分,无需全部录入,降低了错误率的发生,解决了现有技术中测试结果不准确,不能客观反映使用者能力的问题,同时方便定向筛选。
[0059]请参阅图2,本发明提供的一种在线判题系统的前台处理方法另一实施例,具体包括:
[0060]201、根据预定分类规则,将目标代码分为测试信息和条件信息;
[0061 ] 在本实施例中,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1