999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML結構的C語言考試的自動評分系統

2010-04-12 00:00:00李富星,牛永潔
現代電子技術 2010年16期

摘 要:在C程序設計語言考試中為了解決定位難、一題多解和對于主觀題沒有統一的評價標準的情況,對考試系統中客觀題和程序題的評分方法進行了研究。在比較結果的評分基礎上,引入了XML結構的答案庫,以及使用了黑盒測試方法與抽取骨架的方法,成功地解決了上述問題。在設計系統的過程中,十分注重軟件的實用性。該系統設計成功后,通過在小范圍內使用,初步實驗結果證明自動評分模塊運行穩定,評分標準能夠統一。關鍵詞:定位;黑盒測試; 骨架法; 日志

中圖分類號:TN911-33;G420 文獻標識碼:B

文章編號:1004-373X(2010)16-0130-03

Auto-scoring System of C Language Exam Based on XML Structure

LI Fu-xing,NIU Yong-jie

(Computing Center, Yan’an University, Yan’an 716000,China)

Abstract: Along with the improvement of social information degree, computer training is developed rapidly, traditional hand-scoring in examination uses computer auto-scoring. In the C programming language examination, the objective questions are difficult to position and one problem with many solutions, the subjective questions have non-uniform evaluation standard. The scoring method of objective questions and program problems in test system is studied. The answer database of XML structure, the use of black-box test method and the skeleton extraction method are used on the basis of scoring of results comparison to solve the problems. The test results prove that the auto-scoring module runs stable, thescoring criteria can be unified.

Keywords: position; black box testing; skeleton method; log

0 引 言

目前,很多高校都開設了計算機語言程序設計課程,在考試中,使用人工進行閱卷既費時、費力且容易出錯。于是,針對計算機語言程序設計的自動評分系統就被應運而生。濟南大學計算機工程學院的喬善平等人在《基于智能移動Agent的C語言考試系統》中提出了從人工智能中可信度的角度引入執行可信度、程序最大相似性、代碼可信度、指數曲線衡量標準和輸出可信度等幾個新的概念,然后分析了實現的過程。并且將整個程序的設計分為幾個部分執行、代碼、輸出和其他因素。使之存在偏序和制約關系,以實現自動評分[1]。但是在實際的使用過程中,自動評分系統[2]也存在很多問題,不能客觀、真實地評價一個考生的真實答題情況。主要存在的問題主要如下:

C語言程序設計考試的題型主要分為改錯題、填空題、編程題等類型,在C語言的程序設計考試中,改錯題與填空題可以歸為客觀試題的范疇,而編程題可以歸為主觀題的范疇。

在C語言程序設計中,改錯題與填空題主要是在程序的某個位置出錯或者留出空白,讓考生在該位置做出解答,為了將對試題與答案進行比較,往往在該位置處進行標注,以往的自動評分系統中,為了對該位置進行定位,往往提示考生不能隨意改動試題,特別是不能添加空行等,這樣就嚴格的限制了考生,如果某個考生不小心在里面添加了一個回車換行,即使答案正確,也會得不到成績,主要原因是自動評分系統將不能找到該位置。而且,在填空題中一個空往往有很多不同類型的答案,如果考生寫出的答案與標準答案不相符,但是也能實現相同的功能,這樣,考生也不能得到相應的成績。比如,一個填空題應該填i++,其實,考生填寫i=i+1,++i。都應該是正確的,但是以往的評分系統往往不給分,這種一題多解的問題也不能客觀、真實地評價一個考生的成績。

程序編程題的評價更加困難,以往的評分系統往往強制考生使用某種算法去解答,這既違反了程序編程的初衷,也限制了考生的想象與發揮。即使考生采用了某種算法,也可能在算法的細節方面或可能與標準的答案不同,所以程序編程題不能采用簡單的比對的方法,文獻[3]采用了模糊的評價方法,但是這種方法會使一些抄襲的考生也能過關。

針對以上問題,本文采用了正則表達式[4]進行定位,使用XML結構的答案庫,并且使用黑盒測試方法[5]和抽取程序設計的骨架[6]等方法,成功的解決了上述問題。

1 系統設計思想

1.1 試題問題的定位

在C程序設計中,程序設計需要的源文件往往不止一個,所以首先是尋找問題所在的程序文件,這個程序文件的名稱被記錄在XML格式的答案庫中。如前所述,在C程序設計的改錯題與填空題中,往往在問題出現的地方添加標注,讓考生在添加標注的地方進行作答,為了有效的對問題所在位置進行定位,該系統利用了這些標注,采用正則表達式的匹配準確的定位到問題的所在位置,找到位置后,為了避免考生在問題位置添加空行等問題,接著在該位置的后面過濾掉空行,然后使用字符串前綴的方法準確的定位到問題所在的行,然后取出考生的答案與答案庫進行比對。

1.2 一題多解問題的解決

C程序設計的填空題中,一個問題的解答往往有很多種解答的方法,針對問題考慮所有可能出現的解答方法,將這些答案存放在答案庫中,根據答案庫中答案出現的次數采用循環與考生答案做比對,只要考生的答案符合其中之一的任何一個答案,終止循環,同時給學生成績。

1.3 程序編程題的評分

程序設計題的評分應該分為兩種情況:

(1) 考生編寫的程序通過的編譯、連接階段并且有結果輸出;

(2) 考生編寫的程序沒有通過編譯。

在第1種情況下,該系統借鑒了軟件工程中程序測試的方法,使用了黑盒測試法來評價考生的程序。在XML格式的答案庫中,針對該題給出一些測試數據,然后根據測試數據對比應該輸出的結果,根據考生輸出結果與標準的答案的異同給不同的分值。

第2種情況下,因為考生的程序沒有通過編譯,因此沒有輸出結果,但是可能考生已經寫了一部分程序,如果僅僅根據沒有輸出結果,直接給考生零分,顯然很不公平。于是,該系統采用抽取考生程序中骨架的方法來進行。比如一個排序程序應該有這樣的程序設計結構:

for(i=0;i

for(j=i+1;j

if(a>b)

{

}

根據C語言的關鍵字[7],可以抽取骨架為for()for()if(){}或者for(){for()if(){}}等,從考生文件抽取的骨架與標準的骨架[6]相對比,根據異同給予一定的分數。

為了避免考生互相抄襲,該系統采用了兩種預防措施。第一種措施,不同考生在考試期間隨機抽取試題庫中不同的試題,但是還可能出現相近考生試題相同的情況,該系統從實際出發,采用“記錄解答過程”的方法,利用Windows內部功能[8],或考核軟件(VC++)提供的“宏”功能[9],跟蹤記錄考生操作的每一步驟,形成獨立日志文件,通過特殊方法“固化”在當前位置,或者直接傳送到服務器上,作為評分的必需內容。評分時,如搜索不到指定日志文件,就可認定為“抄襲”[10]。

2 系統設計

該系統中,XML格式的答案文件是整個系統的核心,在其中幾乎記錄了所有的跟自動評分有關的信息,下面是該系統使用的答案文件的一部分。

第一種答案

第一種答案

第一種答案

第二種答案

第一種骨架

第n種骨架

其中:QSet表示試題的套數;First表示第一道題試題考察點在name屬性所指的文件名中,本題的分值在score中記錄,試題的類型由type來指明。指示在某一道答題中的第幾個小題。表明該小題的其中一個答案,如果存在一題多解,將所有的全部放在該小題中。在試題類型為Program的編程題中,給出了程序設計的骨架,給出了黑盒測試需要的輸入數據,給出該題黑盒測試的輸出結果。該系統設計的總體思路如圖1所示。

圖1 系統設計的總體思路

3 結 語

該系統經過多次實際的使用,有效地避免了上述出現的問題,能夠準確定位問題的位置,并且對于一題多解的問題也運行良好。在程序編程問題中,能夠基本體現公平、客觀的評價一個學生的編程思想,特別是操作日志的使用有效的監督了學生的“抄襲”現象。對程序編程時,不能通過編譯但已經編寫了一部分程序的考生,可使用提取骨架的方法,基本能夠給考生一個公平的評價,改善了過去很多系統給學生打零分的情況。

參考文獻

[1]喬善平.基于智能移動Agent的C語言考試系統[J].計算機工程與科學,2004(4):29-31.

[2]梁振球.填空題自動評分系統的研究與實現[J]. 計算機系統應用,2007(2):109-111.

[3]嵇敏.自動評分系統的設計與實現[J].遼寧師范大學學報,2006(2):193-194.

[4]趙興濤,王斌君,劉舒.正則表達式在文檔自動識別中的應用[J].中國人民公安大學學報,2005(4):33-35.

[5]陳浩,劉海濤.遺傳算法在黑盒測試中的應用[J].電子技術應用,2000(9):4-6.

[6]鐘旭,萬劍怡,萬紅艷.基于骨架的結構化網格編程模型[J].計算機工程,2010,36(2):266-268.

[7]閡光太.C語言程序設計與數據結構實踐[M].北京:高等教育出版社,2005.

[8]朱友芹.WindowsAPI 參考大全[M].北京:電子工業出版社,2000.

[9]劉曉華.基于語義的主觀題自動批改算法的設計[J].軟件導刊,2006(13):27-31.

[10]程華.計算機語言類課程主觀試題的自動評分方案設計 [J].電腦學習,2006(1):16-17.

主站蜘蛛池模板: 亚洲性日韩精品一区二区| 夜夜操国产| 好吊日免费视频| 久青草网站| 中文成人无码国产亚洲| 国产黄网永久免费| 国产69囗曝护士吞精在线视频| 亚洲成人在线免费观看| 亚洲精品久综合蜜| 黄色网页在线观看| 国产在线视频欧美亚综合| 一本大道东京热无码av| 国产精品美女免费视频大全| 亚欧成人无码AV在线播放| 亚洲综合久久成人AV| 四虎AV麻豆| 亚洲av无码人妻| 1024你懂的国产精品| 国产免费高清无需播放器| 久久综合色播五月男人的天堂| 欧美精品xx| 久久亚洲精少妇毛片午夜无码| 国产性精品| 精品久久久久无码| 国产精品黑色丝袜的老师| 国产欧美专区在线观看| 欧美国产日韩在线播放| 亚洲国产成人综合精品2020| 91小视频在线观看| 国产综合亚洲欧洲区精品无码| 亚洲中文字幕在线一区播放| 九九免费观看全部免费视频| 国产美女久久久久不卡| 人妻丰满熟妇AV无码区| 欧美成人手机在线观看网址| 亚洲日韩AV无码精品| 欧美一级一级做性视频| 伊人色在线视频| 欧美精品影院| 国产aⅴ无码专区亚洲av综合网| 成人免费一级片| 国产凹凸一区在线观看视频| 国产精品99久久久| 香蕉视频在线精品| 亚洲成人免费看| 亚洲国产精品一区二区高清无码久久 | 欧美国产中文| 午夜精品国产自在| 全色黄大色大片免费久久老太| 热久久这里是精品6免费观看| 婷婷综合色| 中文字幕人妻无码系列第三区| 99热这里只有精品免费国产| 一本视频精品中文字幕| 欧美三级不卡在线观看视频| 久久久久人妻一区精品色奶水 | 色噜噜中文网| 最新国产你懂的在线网址| 国语少妇高潮| 99视频精品在线观看| 国产毛片不卡| 亚洲有无码中文网| 99精品久久精品| 亚洲综合欧美在线一区在线播放| 狠狠久久综合伊人不卡| 国产真实乱子伦精品视手机观看| 亚洲码在线中文在线观看| 小说 亚洲 无码 精品| 久久特级毛片| 91久久精品国产| 亚洲一区色| 亚洲熟妇AV日韩熟妇在线| 91久久夜色精品国产网站| 免费高清毛片| 少妇被粗大的猛烈进出免费视频| 欧美精品成人| 国产97公开成人免费视频| 亚洲男人天堂2018| 99热亚洲精品6码| 99久久99视频| 国产9191精品免费观看| 亚洲天堂视频在线观看免费|