一種在線判題系統(tǒng)的后臺(tái)處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種在線判題系統(tǒng)的后臺(tái)處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]代碼判題系統(tǒng)是基于開(kāi)源的在線判題系統(tǒng)來(lái)實(shí)現(xiàn)的,可以作為公司招聘軟件工程師替代傳統(tǒng)筆試的系統(tǒng)、老師給學(xué)生出考卷的機(jī)試系統(tǒng)。該系統(tǒng)通過(guò)將答題者提交的代碼編譯成可運(yùn)行的程序,并用系統(tǒng)預(yù)設(shè)好的多組測(cè)試用例來(lái)檢測(cè)程序的輸入輸出是否跟預(yù)設(shè)好的結(jié)果符合,如果完全符合,則判定該題目通過(guò),反之,則判斷題目不通過(guò)并給出不通過(guò)的原因。
[0003]然而,一道題有多個(gè)測(cè)試用例,只要有一個(gè)測(cè)試用例執(zhí)行出錯(cuò),該題不得分,很可能答題者的整套試卷的總分會(huì)非常低,從而無(wú)法體現(xiàn)出答題者的真實(shí)水平。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種在線判題系統(tǒng)的后臺(tái)處理方法及系統(tǒng),解決了只要有一個(gè)測(cè)試用例執(zhí)行出錯(cuò),該題不得分,測(cè)試結(jié)果準(zhǔn)確性低,從而無(wú)法體現(xiàn)出答題者的真實(shí)水平的問(wèn)題。
[0005]本發(fā)明一種在線判題系統(tǒng)的后臺(tái)處理方法,包括:
[0006]接收用戶錄入的題目答案信息;
[0007]根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值;
[0008]根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。
[0009]可選的,根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值之后還包括:
[0010]生成分值分配操作界面,分值分配操作界面包括至少兩個(gè)測(cè)試用例的分值分配比例、默認(rèn)分值及分值錄入對(duì)話框;
[0011]判斷用戶是否在分值錄入對(duì)話框中錄入新分值,若是,則為至少兩個(gè)測(cè)試用例分配新分值,若否,則保持默認(rèn)分值。
[0012]可選的,
[0013]根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值具體包括:
[0014]把答案信息和預(yù)設(shè)的題目條件信息進(jìn)行編譯得到代碼程序;
[0015]采用預(yù)設(shè)的至少兩個(gè)測(cè)試用例運(yùn)行代碼程序,得到預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值和處理時(shí)間;
[0016]根據(jù)預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值或處理時(shí)間,計(jì)算至少兩個(gè)測(cè)試用例的困難值。
[0017]可選的,
[0018]至少兩個(gè)測(cè)試用例的分值分配比例表現(xiàn)形式包括餅狀圖、柱狀圖或折線圖。
[0019]可選的,
[0020]餅狀圖、柱狀圖或折線圖由內(nèi)嵌統(tǒng)計(jì)軟件生成。
[0021]本發(fā)明還提供了一種在線判題系統(tǒng)的后臺(tái)處理系統(tǒng),包括:
[0022]接收單元,用于接收用戶錄入的題目答案信息;
[0023]第一計(jì)算單元,用于根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值;
[0024]第二計(jì)算單元,用于根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。
[0025]可選的,
[0026]生成單元,用于生成分值分配操作界面,分值分配操作界面包括至少兩個(gè)測(cè)試用例的分值分配比例、默認(rèn)分值及分值錄入對(duì)話框;
[0027]判斷單元,用于判斷用戶是否在分值錄入對(duì)話框中錄入新分值;
[0028]分配新值單元,用于若用戶在分值錄入對(duì)話框中錄入新分值,則為至少兩個(gè)測(cè)試用例分配新分值。
[0029]可選的,
[0030]第一計(jì)算單元包括:
[0031]編譯子單元,用于把答案信息和預(yù)設(shè)的題目條件信息進(jìn)行編譯得到代碼程序;
[0032]運(yùn)行子單元,用于采用預(yù)設(shè)的至少兩個(gè)測(cè)試用例運(yùn)行代碼程序,得到預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值和處理時(shí)間;
[0033]計(jì)算子單元,用于根據(jù)所述預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值或處理時(shí)間,計(jì)算至少兩個(gè)測(cè)試用例的困難值。
[0034]可選的,
[0035]所述至少兩個(gè)測(cè)試用例的分值分配比例表現(xiàn)形式包括餅狀圖、柱狀圖或折線圖。
[0036]可選的,
[0037]餅狀圖、柱狀圖或折線圖由內(nèi)嵌統(tǒng)計(jì)軟件生成。
[0038]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0039]本發(fā)明中的,系統(tǒng)首先接收用戶錄入的題目答案信息;根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值;根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。從而在原有系統(tǒng)的基礎(chǔ)上增加了依據(jù)測(cè)試用例屬性合理得出分值的功能。
【附圖說(shuō)明】
[0040]圖1為本發(fā)明中一種在線判題系統(tǒng)的后臺(tái)處理方法一個(gè)實(shí)施例流程圖;
[0041]圖2為本發(fā)明中一種在線判題系統(tǒng)的后臺(tái)處理方法另一個(gè)實(shí)施例流程圖;
[0042]圖3為本發(fā)明中一種在線判題系統(tǒng)的后臺(tái)處理系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043]本發(fā)明實(shí)施例提供了一種在線判題系統(tǒng)的后臺(tái)處理方法及系統(tǒng),能夠提供在題目?jī)?nèi)依據(jù)測(cè)試用例屬性合理得出分值的功能。
[0044]請(qǐng)參閱圖1,本發(fā)明中一種在線判題系統(tǒng)的后臺(tái)處理方法,包括:
[0045]101、接收用戶錄入的題目答案信息;
[0046]在本實(shí)施例中,系統(tǒng)首先接收用戶錄入的一道題目中多個(gè)測(cè)試用例的答案信息,例如:一道題可以包括4測(cè)試用例,題目是計(jì)算一個(gè)數(shù)字的階乘,其中第I至4測(cè)試用例為分別計(jì)算3!、14!、25!、36 !;其中,答案信息包括可運(yùn)行的輸入代碼和邏輯運(yùn)算內(nèi)容。
[0047]102、根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值;
[0048]在本實(shí)施例中,系統(tǒng)根據(jù)前面接收的測(cè)試用例的答案信息,計(jì)算至少兩個(gè)測(cè)試用例的困難值,具體計(jì)算規(guī)則將在后續(xù)實(shí)施例中進(jìn)行說(shuō)明。
[0049]103、根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。
[0050]在本實(shí)施例中,系統(tǒng)能夠根據(jù)上述多個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。
[0051]系統(tǒng)首先接收用戶錄入的題目答案信息;根據(jù)答案信息和預(yù)設(shè)的至少兩個(gè)測(cè)試用例,計(jì)算至少兩個(gè)測(cè)試用例的困難值;根據(jù)至少兩個(gè)測(cè)試用例的困難值和題目總分值計(jì)算至少兩個(gè)測(cè)試用例的默認(rèn)分值。從而在原有系統(tǒng)的基礎(chǔ)上增加了測(cè)試用例分值分配的功會(huì)K。
[0052]請(qǐng)參閱圖2,本發(fā)明中一種在線判題系統(tǒng)的后臺(tái)處理方法另一個(gè)實(shí)施例,包括:
[0053]201、接收用戶錄入的題目答案信息;
[0054]在本實(shí)施例中,系統(tǒng)首先接收用戶錄入的一道題目中多個(gè)測(cè)試用例的答案信息,例如:一道題可以包括4測(cè)試用例,題目是計(jì)算一個(gè)數(shù)字的階乘,其中第I至4測(cè)試用例為分別計(jì)算3 !、14 !、25 !、36 !;其中,答案信息包括可運(yùn)行的輸入代碼和邏輯運(yùn)算內(nèi)容。
[0055]202、把答案信息和預(yù)設(shè)的題目條件信息進(jìn)行編譯得到代碼程序;
[0056]203、采用預(yù)設(shè)的至少兩個(gè)測(cè)試用例運(yùn)行代碼程序,得到預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值和處理時(shí)間;
[0057]204、根據(jù)預(yù)設(shè)的至少兩個(gè)測(cè)試用例的占用內(nèi)存值或處理時(shí)間,計(jì)算至少兩個(gè)測(cè)試用例的困難值;
[0058]需要說(shuō)明的是本技術(shù)方案中使用占用內(nèi)存值和處理時(shí)間來(lái)表征