




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于Java的考試系統(tǒng)對C語言程序題的考核及自動判卷功能的設計與實現(xiàn)邵新慧李響等【論文摘要】在考試系統(tǒng)中,實現(xiàn)自動判卷是程序題考核設計的核心。圍繞該核心,開發(fā)設計“教師端程序題模板生成工具”、“學生端答題界面”、“服務端自動判卷邏輯業(yè)務”三個子模塊,以確保每一個程序題都有一個全面而準確的判卷模板與之對應,學生可以方便快捷地在可編輯區(qū)域編寫代碼并進行測試和提交,判卷模板和學生代碼自動組合并編譯成一個可執(zhí)行程序,從而得到判卷得分臨時數(shù)據(jù)文件,考試系統(tǒng)通過讀取該臨時數(shù)據(jù)得到判卷結果。【論文關鍵詞】考試系統(tǒng)程序題自動判卷 C語言 Java語言隨著計算機技術的發(fā)展,越來越多的考試采用上機考試的形式。對選
2、擇題、判斷題這類有固定答案的考試題型的判卷是很簡單的;然而,對程序題這種表述形式多樣化的題型,很難通過自動判卷給出合理的分數(shù),多數(shù)是針對某一個運行結果進行判斷,未能滿足根據(jù)得分點進行判卷的需求。本文通過詳細介紹“教師端程序題模板生成工具”、“學生端答題界面”、“服務端自動判卷邏輯業(yè)務”三個模塊的設計,闡述了程序題自動判卷、以及合理評分的解決方案,在一定程度上提升了程序題考試的可行性、以及程序題判卷的合理性。1 自動判卷功能的設計方案1.1 設計思路由于考試系統(tǒng)的開發(fā)語言是面向對象語言Java;程序題考核所用的語言為是C語言。所以很難通過代理模式實現(xiàn)對C語言程序的處理。因此,可將程序題判卷從系統(tǒng)
3、整體設計中獨立出來,兩者之間通過某個簡單的數(shù)據(jù)存儲建立聯(lián)系。其中,judgeMain.cpp文件是可以實現(xiàn)自動判卷、并將得分紀錄寫入記事本的源代碼文件。因此,只要獲得judgeMain.cpp文件,自動判卷問題就可以得到解決。1.2 設計方案獲取judgeMain.cpp文件,使考試系統(tǒng)整體設計和程序題自動判卷業(yè)務邏輯相對獨立,通過exec(String command方法編譯、鏈接、運行判卷程序。假設A:每個用于學生考試的考試模板都有一個與之對應的判卷模板,該判卷模板通過輸出流生成一個記事本文件,并且學生在考試模板里填寫的內容可以自動而正確地填寫到判卷模板里。假設B、有一個簡單可用的程序題模
4、板生成工具,通過該工具,結合某個欲要考核算法或知識點的源代碼文件,能夠簡單快速的生成一一對應的考試模板和判卷模板。假設C、有一個嚴格規(guī)范而且靈活簡潔的程序題答題編譯界面,既方便學生填寫、編譯、運行程序,而且可以準確地將學生填寫區(qū)域的代碼上傳到服務器??梢?假設B和C成立時,A成立,從而可獲得judgeMain.cpp文件。(1教師端程序題模板生成工具;(2嚴格而便捷的學生斷答題界面。2 教師端程序題模板生成工具2.1 功能實現(xiàn)為實現(xiàn)程序題自動判卷功能,設計程序題模板生成工具,并讓其實現(xiàn)以下功能:導入一個源文件,生成一一對應的考試模板、判卷模板,并為生成的考試、判卷模板提供瀏覽、測試功能,以便及
5、時修改和調整。2.2 設計方法對源文件以注釋的形式添加一些特殊標記,通過識別這些特殊標記對源代碼自動修改或增添。例如:/code_fosOpen 開文件流標記,在判卷模板中自動增加定義記事本文件的輸出流代碼;/code_fosClose 關文件流標記,在判卷模板中自動增加關閉文件流和釋放內存代碼;/code_judge 判卷變量標記,設置得分點;/code_delete 挖空行標記,所設置行變?yōu)橄聞澗€;/edit_function 編輯函數(shù)標記,設置函數(shù),由學生編寫函數(shù)體;/code_resetInstance 修改用例標記,為判卷模板和考試模板設置不同的測試用例。功能:在判卷模板中將考生答案
6、和正確答案進行對比。文件描述:(1頭文件(compare.h,文件內容如右圖。(2靜態(tài)庫文件(compare.lib,為compare.h中聲明的方法提供具體實現(xiàn)。文件引用:#include"compare.h"#pragma comment(lib,"compare.lib"針對1中的不同標記,該工具會自動生成相應的按鈕,通過點擊按鈕和簡單的設置生成判卷、考試模板:(1判卷模板。點擊按鈕實現(xiàn)函數(shù)體編寫、代碼段填空、判卷變量的選擇,通過對判卷變量正確值的設置、以及判卷代碼插入位置的設置,可預覽、測試、生成判卷模板。(2考試模板。在判卷模板設置的基礎上,通
7、過對測試用例進行修改,可預覽、測試、生成考試模板,并具有相應題目說明文件的編寫功能。2.3 原理解釋與圖解現(xiàn)結合一個簡單的例子對模板生成工具的原理進行解釋,并用圖解展示:第一步:選擇載入用于生成考試、判卷模板的.cpp源文件,然后根據(jù)按鈕提示,選擇挖空行、編輯函數(shù)、判卷變量等,并根據(jù)提示進行必要的設置(見圖3。附:為便于說明問題,此處以一個求取平方數(shù)的簡單程序為例,本例中只有一個判卷變量(對應一個得分點的設置,對于較復雜的程序,可以設置多個得分點。第二步:點擊“預覽”菜單對將要生成的判卷模板進行預覽,初步查看是否正確,然后點擊“測試”菜單選擇對判模板進行自動編譯運行,若正常運行,轉步驟三;若失
8、敗,根據(jù)編譯運行的錯誤提示,返回步驟一進行修改設置。第三步:點擊“生成”菜單,選擇保存位置,即可生成判卷模板(見圖4。第四步:進行用例修改,修改后的用例用于生成學生考試模板(見圖5。第五步:預覽、測試運行,最終生成考試模板,并根據(jù)運行結果編寫題意說明文件(見圖6,圖7。3 學生端答題界面3.1 功能要求為嚴格保證自動判卷的實現(xiàn),同時滿足學生方便答題需求,學生端答題界面須滿足如下功能要求:(1無需啟動客戶端編譯器,學生直接在答題界面的可編輯區(qū)域編寫代碼,其他區(qū)域的代碼無法修改;(2具有便捷的編譯運行程序的功能,并提示編譯或運行錯誤;(3學生編寫的函數(shù)體和填寫的代碼段可準確無誤上傳至服務端。3.2
9、 實現(xiàn)方法要點(1將題意說明和不可修改的源代碼部分顯示為只讀;(2識別考試源代碼中的“/添加函數(shù)實現(xiàn)代碼”字段,以及填空標記下劃線“_”,將對應區(qū)域設置為可編輯;(3在可編輯區(qū)域對應的控制程序中添加鍵盤監(jiān)聽:實現(xiàn)對括號、引號的自動配對,以及換行時提供自動縮進,為學生快速編寫格式規(guī)范的代碼提供方便。由于僅提取學生編寫的函數(shù)題代碼和學生填空代碼段,只需提取可編譯區(qū)域的文本記錄即可,而且信息量小,因此可采用一般socket通信的形式(不用文件上傳等形式將代碼段上傳至服務端。3.3 例子與圖解(1將2中得到的考試模板和題意說明文件用于學生考試端程序題考試(如圖8;(2在函數(shù)編寫區(qū)域編寫代碼,將填空橫線
10、刪除并填寫代碼,然后直接點擊編譯運行(圖9。(3根據(jù)錯誤提示修改代碼,重新編譯運行(圖10。(4點擊交卷后,學生編寫的函數(shù)體和填空代碼行上傳至服務器(圖11。4 服務端自動判卷邏輯業(yè)務4.1 自動判卷業(yè)務設計基于模板生成工具、學生答題客戶端的設計和實現(xiàn),自動判卷邏輯業(yè)務設計如下:(1一般情況下:只需把學生上傳的答題信息寫入相應的判卷模板中,然后生成臨時判卷源文件,針對這個臨時文件編譯運行即可得到判卷結果。(2異常情況:如果學生提交的程序沒來得及調試正常而存在死循環(huán),需要在A的基礎上進行如下改進:通過倒計時線程啟動判卷程序,倒計時線程結束后,若判卷程序還在運行,則殺死,并將異常記錄寫入數(shù)據(jù)庫。邏
11、輯圖如下(圖12。4.2 評分過程在考試、判卷模板制作過程中,可以根據(jù)每個題目的實際情況設計判卷(得分變量,并針對每一個判卷變量考核知識點難度設置得分權重(學生不知道具體的得分變量和權重。然后,將學生上傳的代碼插入到判卷模板中,生成judgeMain.cpp,針對每個得分點都會調用compare函數(shù)比較學生答案和標準答案,得到一個布爾型返回值,然后根據(jù)這個返回值在記事本文件(grade.txt里寫入1(得分或0(不得分。該自動判卷程序可滿足對一個程序題進行細節(jié)得分點的判斷,而不是籠統(tǒng)的僅僅判斷最終答案,在一定程度上保證了給分的合理性。中國論文榜-中國權威論文發(fā)表平臺,我們?yōu)槟峁I(yè)的論文發(fā)表咨詢和論文發(fā)表輔導! 5 結語 通過上述方案設計的程序題考核與判卷模塊, 是東北大學數(shù)值分析考試系統(tǒng) (可通過程序題考核學生對數(shù)值算法的理解與應用能力)的重要組成部分, 該 考試系統(tǒng)的測試結果和初期使用情況證明:對于程序題考核和自動判卷,這樣的 設計方案是可行的、對判卷過程中的常處理是可行的,最終判卷結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024北京九中高二4月月考數(shù)學試題及答案
- 2025年公共財務管理與稅收政策測試考試試題及答案
- 2025年公共衛(wèi)生執(zhí)業(yè)考試試卷及答案
- 早教活動教案設計與實施流程
- 志愿消防隊員的消防培訓
- TIA病情觀察及護理
- 2025年審計師從業(yè)資格考試試卷及答案收集
- 2025年家庭經(jīng)濟咨詢師考試試卷及答案
- 河南省平頂山市寶豐縣觀音堂初級中學2025年英語八年級第二學期期中調研試題含答案
- 山東省德州市武城二中學2025年七年級英語第二學期期末檢測試題含答案
- 2025年統(tǒng)計學期末考試題庫:數(shù)據(jù)分析基礎計算與應用試題
- 【北京市人社局】2025年北京市人力資源市場薪酬數(shù)據(jù)報告(一季度)
- 工藝管道氣壓實驗方案
- 20噸雙梁行車標準尺寸
- 過敏性皮炎個案護理
- 人教版(2024)七年級下冊英語UNIT 5 Here and Now 綜合素質評價測試卷(含答案)
- 第7課《誰是最可愛的人》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 宮頸癌的早期癥狀:及時發(fā)現(xiàn)早期宮頸癌的線索
- DB11-T 896-2020 蘋果生產(chǎn)技術規(guī)程
- 臺球助教培訓流程
- 國家開放大學《社會保障基礎》期末考試題庫
評論
0/150
提交評論