【技术实现步骤摘要】
一种试题自动测评方法和相关装置
[0001]本申请涉及数据处理
,特别是涉及一种试题自动测评方法和相关装置。
技术介绍
[0002]在线测评系统(Online Judge,OJ)是一种在编程竞赛中用来评测参赛程序的在线系统,其目的在于考察解题用户的编程能力。
[0003]针对每个题目,在线测评系统将以测试用例的形式提供,解题用户通过编写解题代码并提交解题程序进行解题,在线测评系统运行解题程序编译解题用户提交的解题代码,获取解题程序的输出结果,并将输出结果与标准结果进行比对以完成测评,得到测评结果,该测评结果用于指示解题用户的测评是否通过。
[0004]目前的在线测评系统将测试用例以文本数据的形式提供,在解题时,解题用户需要对文本数据进行解析处理之后才能进行编程解题。由于不同用户所掌握、所擅长的计算机编程语言有所不同,这就导致用户可能理解错误文本数据的格式,进而基于错误的数据进行解题,解题效率低。
技术实现思路
[0005]为了解决上述技术问题,本申请提供了一种试题自动测评方法和相关装置, ...
【技术保护点】
【技术特征摘要】
1.一种试题自动测评方法,其特征在于,所述方法包括:获取测试用例数据;通过判题程序对所述测试用例数据进行反序列化处理,得到测试用例变量和期望结果变量;通过所述判题程序将所述测试用例变量推送至解题程序;所述判题程序和所述解题程序具有相同的编程语言;通过所述判题程序接收目标用户通过所述解题程序提交的解题代码;通过所述判题程序对所述解题代码进行编译,得到所述解题代码对应的解题结果变量;通过所述判题程序根据所述期望结果变量对所述解题结果变量进行测评,得到测评结果;所述测评结果用于指示所述目标用户是否通过测评。2.根据权利要求1所述的方法,其特征在于,所述通过所述判题程序接收目标用户通过所述解题程序提交的解题代码,包括:响应于所述目标用户通过所述解题程序触发的解题方法调用操作,通过所述解题程序显示所述测试用例变量对应的解题模板;响应于所述目标用户通过所述解题模板进行的代码编写操作,接收所述解题代码;通过所述解题程序向所述判题程序发送所述解题代码。3.根据权利要求1所述的方法,其特征在于,所述通过所述判题程序对所述解题代码进行编译,得到所述解题代码对应的解题结果变量,包括:通过所述判题程序调用所述测试用例数据对应的解题方法;通过所述判题程序利用所述解题方法对所述解题代码进行编译,得到所述解题结果变量。4.根据权利要求1所述的方法,其特征在于,所述判题程序通过如下方式生成:编写反序列化代码和对象比较代码;所述反序列化代码用于对所述测试用例数据进行反序列化处理,得到所述测试用例变量和所述期望结果变量,所述对象比较代码用于根据所述期望结果变量对所述解题结果变量进行测评,得到测评结果;编写判题模板;所述判题模板用于对所述解题代码进行编译,得到所述解题代码对应的解题结果变量;根据所述反序列化代码、所述判题模板和所述对象比较代码生成所述判题程序。5....
【专利技术属性】
技术研发人员:张宇,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。