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

文档序号:8528067阅读:来源:国知局
系统将根据预先设定的分类规则,将目标代码分为测试信息和条件信息两部分。
[0062]需要说明的是,对于一道代码测试题而言,目标代码相当于题目的全部答案,系统根据考生类型对答案内容进行分解,若考生包括精细型和逻辑型,系统便将答案分为考察考生细致程度部分和逻辑能力的部分。
[0063]202、从目标代码中删除测试信息,并使用编辑框代替测试信息,对编辑框和条件信息进行整合得到框架代码,框架代码中的编辑框为人机交互操作的入口 ;
[0064]在本实施例中,系统从目标代码中删除测试信息,并使用编辑框代替该测试信息,逻辑框和条件信息整合得到框架代码,框架代码中的编辑框为人机交互操作入口。
[0065]203、接收用户根据框架代码向编辑框中录入的录入代码;
[0066]在本实施例中,当用户根据框架代码内容向编辑框录入若干录入代码时,系统能够接收上述录入代码。
[0067]204、对录入代码和条件信息进行编译得到代码程序;
[0068]在本实施例中,为了检测录入代码是否正确,系统将录入代码和条件信息进行编译形成代码程序。
[0069]205、采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;
[0070]在本实施例中,系统将上述代码程序带入若干测试用例进行运行,例如:题目是计算任意自然数的阶乘,则系统将编译好的代码程序带入3 !、14!、25 !,得到占用内存和处理时间。
[0071]206、根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;
[0072]在本实施例中,系统能够根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值。例如将处理时间作为横坐标,占用内存作为纵坐标,标出每件测试用例的坐标值,通过坐标值确定困难值。
[0073]207、根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值;
[0074]在本实施例中,系统能够根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值,例如第一测试用例难度为4S,第二测试用例难度为2S,题目总分6分,则第一测试用例的默认分值为4分,第二测试用例的默认分值为2分。
[0075]208、从运行结果中获取异常运行信息;
[0076]在本实施例中,系统能够从运行结果中获取异常运行信息,其中异常运行信息包括:编译错误、输入输出错误、执行超时、占用内存超过限制等等错误。
[0077]209、显示异常运行信息。
[0078]在本实施例中,系统能够通过显示屏显示上述异常运行信息,方便观测者查阅。
[0079]本实施例中,系统首先根据预定分类规则,将目标代码分为测试信息和条件信息;接着从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;然后接收用户根据框架代码录入的录入代码;再对录入代码和条件信息进行编译得到代码程序;最后采用预设的测试用例运行代码程序得出运行结果。由于用户只需要根据框架代码录入目标代码中的一部分,无需全部录入,降低了错误率的发生,解决了现有技术中测试结果不准确,不能客观反映使用者能力的问题,同时不方便定向筛选。
[0080]除此之外,通过编辑框代替测试信息,由编辑框和条件信息整合而得到的框架代码能够直接的作为人机交互媒介,通过接收用户向编辑框中录入的录入代码进行编译;采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值;另外,系统能够从运行结果中提取异常运行信息,并显示在屏幕上,方便查阅。
[0081]上面对本发明一种在线判题系统的前台处理方法的实施例进行了说明,下面请参阅图3,本发明还提供的一种在线判题系统的前台处理装置,具体包括:
[0082]分类单元301,用于根据预定分类规则,将目标代码分为测试信息和条件信息;
[0083]生成单元302,用于从目标代码中删除测试信息,并预留测试信息的位置,得到框架代码;
[0084]接收单元303,用于接收用户根据框架代码录入的录入代码;
[0085]编译单元304,用于对录入代码和条件信息进行编译得到代码程序;
[0086]运行单元305,用于采用预设的测试用例运行代码程序得出运行结果;
[0087]获取单元306,用于获取运行结果中获取异常运行信息;
[0088]显示单元307,用于显示异常运行信息。
[0089]其中,运行单元305包括:
[0090]运行子单元3051,用于采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;
[0091]第一计算子单元3052,用于根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;
[0092]第二计算子单元3053,用于根据所少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值。
[0093]下面以一个实际中的例子对上述单元之间的通信关系进行说明:
[0094]首先,分类单元301根据预先设定的分类规则,将目标代码分为测试信息和条件信息两部分。
[0095]需要说明的是,对于一道代码测试题而言,目标代码相当于题目的全部答案,系统根据考生类型对答案内容进行分解,若考生包括精细型和逻辑型,系统便将答案分为考察考生细致程度部分和逻辑能力的部分。
[0096]接着,生成单元302从目标代码中删除测试信息,并使用编辑框代替该测试信息,逻辑框和条件信息整合得到框架代码,框架代码中的编辑框为人机交互操作入口。
[0097]然后,接收单元303接收用户根据框架代码内容向编辑框录入若干录入代码时,系统能够接收上述录入代码;
[0098]再由编译单元304对录入代码和条件信息进行编译得到代码程序;
[0099]在本实施例中,为了检测录入代码是否正确,系统将录入代码和条件信息进行编译形成代码程序。
[0100]接着,运行单元305将中运行子单元3051采用预设的至少两个测试用例运行代码程序,得到预设的至少两个测试用例的占用内存值和处理时间;
[0101]在本实施例中,系统将上述代码程序带入若干测试用例进行运行,例如:题目是计算任意自然数的阶乘,则系统将编译好的代码程序带入3 !、14!、25 !,得到占用内存和处理时间。
[0102]接着,第一计算子单元3052根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值;
[0103]在本实施例中,系统能够根据预设的至少两个测试用例的占用内存值或处理时间,计算至少两个测试用例的困难值。例如将处理时间作为横坐标,占用内存作为纵坐标,标出每件测试用例的坐标值,通过坐标值确定困难值。
[0104]然后,第二计算子单元3053根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值;
[0105]在本实施例中,系统能够根据至少两个测试用例的困难值和题目总分值计算至少两个测试用例的默认分值,例如第一测试用例难度为4S,第二测试用例难度为2S,题目总分6分,则第一测试用例的默认分值为4分,第二测试用例的默认分值为2分。
[0106]再由,获取单元306能够从运行结果中获取异常运行信息,其中异常运行信息包括:编译错误、输入输出错误、执行超时、占用内存超过限制等等错误。
[0107]最后,显示单元307显示异常运行信息。
[0108]在本实施例中,系统能够通过显示屏显示上述异常运行信息,方便观测者查阅。
[0109]本市实施例中,首先,分类单元301根据预先设定的分类规则,将目标代码分为测试信息和条件信息两部分;接着,生成单元302从目标代码中删除测试信息,并使用编辑框代替该测试信息,逻辑框和条件信息整合得到框架代码,框架代码中的编辑框为人机交互操作入口
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1