?

Visual Foxpro機考批量閱卷的研究

2014-11-19 00:25龔春亞
電腦知識與技術 2014年30期

龔春亞

摘要:交代評分細則及考生成績細目表的制定,給出批量自動閱卷算法流程。利用表單文件結構特性,給出批閱表單的代碼實現;運用正則表達式,給出批閱改錯部分程序的代碼實現。最后給出批卷應用的實例及分析,驗證了閱卷程序的有效性。

關鍵詞:自動閱卷;閱卷系統;VFP閱卷

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7065-04

Research on Automated Marking Technology for VFP Operation Tests

GONG Chun-Ya

(Department of Information Enginerring , Nanjing Normal University Taizhou College,Taizhou 225300, China)

Abstract:With VFP toolkit, the solution on automatic assessment of vfp operation tests is given. The standard for evaluation is designed as table,and the structrue of score table is given.The program flow chart is proposed.The codes for form and correction part are presented. Finally,example of automated assessment result is presented,which proves efficency of the system.

Key words:automatic marking; automatic assessment; assessment of vfp programs

近年來,采用計算機實現無紙化考試己成趨勢,相關技術涉及題庫的建立與維護,試卷的智能組卷以及智能批閱。其中試卷智能批閱技術的研究意義非凡。目前客觀題的自動閱卷技術己相對成熟,如選擇題和判斷題等利用計算機閱卷早己超越了人工閱卷,但主觀題的閱卷技術還在起步階段[1]。國外的相關研究始于對學生用自然語言書寫的文章進行自動評分,有的進入實用階段,如Project EssayGrade(PEG) a Page[2],LSA(Latent Semantic Analysis)[3]等。由于編程語言的詞法和語法的諸多限制,使編程題的分析易于自然語言,現有的自動評分方法有,動態分析方法和靜態分析方法兩種[4]。

目前針對VFP編程環境的自動閱卷技術,國內已有部分學術積累。周松[5]對VFP中表單、菜單、數據庫等文件的結構和記錄特征做了剖析,指明閱卷方向;白素蘭[6]提出要點匹配算法用于答案的判定,為降低誤差率做出參考。但是對于VFP機考整卷批閱系統的研究,國內文獻見諸較少,結合工作需求,提出機考整卷批量評閱解決方案并加以實現。經驗證,能對全班學生機考文件進行自動評分,直接產生機考得分細目表,用于學期成績的評定。

1 閱卷程序開發的準備

閱卷系統需要完成兩項準備工作:首先分析操作題結構和分值分布,制定自動閱卷評分細則;其次設計并創建得分明細表,以記錄考生得分信息。

1.1 評分細則的制定

參照江蘇省二級VFP考試,上機操作分五大模塊:項目,查詢,菜單,表單和改錯。由于題型的差異,有必要在細化分值標準的同時,給出針對不同題型該采取何種技術手段批閱。因篇幅限制,只列出數據庫表操作部分的評分細則及對應機器閱卷技術要點,見表1。

1.2 建立考生得分細目表

設計考生得分細目表結構如表2。

2 批量閱卷算法

閱卷對象是成批的考生操作題壓縮包,需事先將其解壓到指定的文件夾.閱卷程序遍歷考生文件夾,對考生成績進行判定,完畢將考生準考證號、分值等信息自動錄入得分細目表,方便日后查看及統計。給出算法思路,流程見圖1。

3 閱卷模塊核心代碼的實現

VFP操作題自動閱卷的順利進行,關鍵在于數據庫文件(*.DBC)、菜單文件(*.MNX)、表單文件(*.SCX)均以數據表文件的結構組織,通過use命令可讀至工作區[5]。而查詢部分(*.qpr)及改錯部分(*.Prg)文件均是文本文件格式,可以將其讀入內存變量,進而判斷相關特征是否滿足,以給分。

下面通過表單及改錯部分閱卷細節展示機器閱卷的實現:

3.1表單操作的批閱

考題要求:編寫新添加的命令按鈕的click事件代碼,其功能是釋放表單(按鈕名為command1,表單文件名為fx.scx)

閱卷代碼如下:

if file("fx.scx")

use "fx.scx"

biaodan=….. &&此刻略去部分代碼,biaodan變量記錄表單部分累計得分

SCAN FOR objname= 'Command1' &&搜索表單中的'Command1

if [thisform.release]$ lower(methods)

biaodan = biaodan + 2 &&若寫對退出腳本則全分

else

biaodan = biaodan + 1 &&若寫不出給一分,因為添加按鈕也要得分

endif

ENDSCAN

Endif

3.2改錯部分的批閱endprint

首先定義函數isMatch,供批閱程序調用,返回值.T.意味著某項改錯要求得到滿足。

Function isMatch(patrn, strng)

regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象

Matches = regEx.Execute(strng) &&執行搜索

RetStr=""

For Each Match in Matches &&遍歷匹配集合

RetStr=RetStr+Match.Value

Next

if len(RetStr)>0

return .T.

else

return .F.

endif

Return

當考題要求將一處代碼修改為目標串PARAMETERS cStr,給出如下閱卷代碼:

if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))

gaicuo = gaicuo +2.5 &&匹配成功給分

endif

其中變量stuAnswerContent存儲待批閱程序代碼;函數isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標識符而導致的識別出錯。

4 實驗分析

選取園藝系物理系本科學生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結果見圖2。

從考生操作題得分樣表看,成績分布與學生個體差異相符。部分學生有些項目幾乎未得分,手工進入該考生文件夾,發現數據庫DBC文件,數據庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現,可見代碼能對文件損毀情況進行自動識別。對優秀學生的答題,也進行手工核查,機器評分結果與手工評分結果相差無幾??梢姵绦虼a實現基本符合閱卷的要求。

進一步分析138名學生的得分信息,算得考生操作題得分率,見圖3。

從圖3可以看出,考生感到最難做的題型是數據庫查詢部分,其次是數據庫擴展屬性的設置及改錯。這些數據的及時取得為今后教學的改進指明了方向,使教師能投入更多的精力至教學思路的挑戰,方法的完善上。

5 結論

初步實現VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔。目前系統在下列方面還待完善:

1) 程序代碼與標準答案沒有實現分離,導致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術的研究。

2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應對VFP中四個字母縮寫的問題,以提高程序的適應能力,是下一步的研究方向。

參考文獻:

[1] 高思丹,袁春風.主觀試題的計算機自動批改技術研究[J].計算機應用研究,2004(2):181-185.

[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.

[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.

[4] 佘石泉.編程題自動閱卷技術的研究[D].長沙:中南大學,2007.

[5] 周松.Visual FoxPro上機操作考試自動閱卷系統的設計與實現[J].淮海工學院學報,2003,12(2):22-24,31.

[6] 白素蘭.Visual FoxPro程序設計題自動閱卷技術的研究與實現[D].沈陽:沈陽工業大學,2005.

[7] 田甜,張振國.主觀題自動閱卷技術研究[J]. 計算機工程與設計,2010,31(16):3697-3699,3704.

[8] 賈宗維,王曉芳.Visual FoxPro 程序設計主觀題自動閱卷系統設計思路[J].山西農業大學學報:自然科學版,2008,28(1):99-101.

[9] 彭作民.EXCEL文檔自動閱卷評分算法設計.南京師范大學學報:工程技術版,2007,7(3):70-73.

[10] 巨同升.C 語言程序自動閱卷系統的改進[J].山東理工大學學報:自然科學版,2010,24(5):52-54.endprint

首先定義函數isMatch,供批閱程序調用,返回值.T.意味著某項改錯要求得到滿足。

Function isMatch(patrn, strng)

regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象

Matches = regEx.Execute(strng) &&執行搜索

RetStr=""

For Each Match in Matches &&遍歷匹配集合

RetStr=RetStr+Match.Value

Next

if len(RetStr)>0

return .T.

else

return .F.

endif

Return

當考題要求將一處代碼修改為目標串PARAMETERS cStr,給出如下閱卷代碼:

if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))

gaicuo = gaicuo +2.5 &&匹配成功給分

endif

其中變量stuAnswerContent存儲待批閱程序代碼;函數isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標識符而導致的識別出錯。

4 實驗分析

選取園藝系物理系本科學生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結果見圖2。

從考生操作題得分樣表看,成績分布與學生個體差異相符。部分學生有些項目幾乎未得分,手工進入該考生文件夾,發現數據庫DBC文件,數據庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現,可見代碼能對文件損毀情況進行自動識別。對優秀學生的答題,也進行手工核查,機器評分結果與手工評分結果相差無幾??梢姵绦虼a實現基本符合閱卷的要求。

進一步分析138名學生的得分信息,算得考生操作題得分率,見圖3。

從圖3可以看出,考生感到最難做的題型是數據庫查詢部分,其次是數據庫擴展屬性的設置及改錯。這些數據的及時取得為今后教學的改進指明了方向,使教師能投入更多的精力至教學思路的挑戰,方法的完善上。

5 結論

初步實現VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔。目前系統在下列方面還待完善:

1) 程序代碼與標準答案沒有實現分離,導致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術的研究。

2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應對VFP中四個字母縮寫的問題,以提高程序的適應能力,是下一步的研究方向。

參考文獻:

[1] 高思丹,袁春風.主觀試題的計算機自動批改技術研究[J].計算機應用研究,2004(2):181-185.

[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.

[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.

[4] 佘石泉.編程題自動閱卷技術的研究[D].長沙:中南大學,2007.

[5] 周松.Visual FoxPro上機操作考試自動閱卷系統的設計與實現[J].淮海工學院學報,2003,12(2):22-24,31.

[6] 白素蘭.Visual FoxPro程序設計題自動閱卷技術的研究與實現[D].沈陽:沈陽工業大學,2005.

[7] 田甜,張振國.主觀題自動閱卷技術研究[J]. 計算機工程與設計,2010,31(16):3697-3699,3704.

[8] 賈宗維,王曉芳.Visual FoxPro 程序設計主觀題自動閱卷系統設計思路[J].山西農業大學學報:自然科學版,2008,28(1):99-101.

[9] 彭作民.EXCEL文檔自動閱卷評分算法設計.南京師范大學學報:工程技術版,2007,7(3):70-73.

[10] 巨同升.C 語言程序自動閱卷系統的改進[J].山東理工大學學報:自然科學版,2010,24(5):52-54.endprint

首先定義函數isMatch,供批閱程序調用,返回值.T.意味著某項改錯要求得到滿足。

Function isMatch(patrn, strng)

regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象

Matches = regEx.Execute(strng) &&執行搜索

RetStr=""

For Each Match in Matches &&遍歷匹配集合

RetStr=RetStr+Match.Value

Next

if len(RetStr)>0

return .T.

else

return .F.

endif

Return

當考題要求將一處代碼修改為目標串PARAMETERS cStr,給出如下閱卷代碼:

if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))

gaicuo = gaicuo +2.5 &&匹配成功給分

endif

其中變量stuAnswerContent存儲待批閱程序代碼;函數isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標識符而導致的識別出錯。

4 實驗分析

選取園藝系物理系本科學生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結果見圖2。

從考生操作題得分樣表看,成績分布與學生個體差異相符。部分學生有些項目幾乎未得分,手工進入該考生文件夾,發現數據庫DBC文件,數據庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現,可見代碼能對文件損毀情況進行自動識別。對優秀學生的答題,也進行手工核查,機器評分結果與手工評分結果相差無幾??梢姵绦虼a實現基本符合閱卷的要求。

進一步分析138名學生的得分信息,算得考生操作題得分率,見圖3。

從圖3可以看出,考生感到最難做的題型是數據庫查詢部分,其次是數據庫擴展屬性的設置及改錯。這些數據的及時取得為今后教學的改進指明了方向,使教師能投入更多的精力至教學思路的挑戰,方法的完善上。

5 結論

初步實現VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔。目前系統在下列方面還待完善:

1) 程序代碼與標準答案沒有實現分離,導致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術的研究。

2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應對VFP中四個字母縮寫的問題,以提高程序的適應能力,是下一步的研究方向。

參考文獻:

[1] 高思丹,袁春風.主觀試題的計算機自動批改技術研究[J].計算機應用研究,2004(2):181-185.

[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.

[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.

[4] 佘石泉.編程題自動閱卷技術的研究[D].長沙:中南大學,2007.

[5] 周松.Visual FoxPro上機操作考試自動閱卷系統的設計與實現[J].淮海工學院學報,2003,12(2):22-24,31.

[6] 白素蘭.Visual FoxPro程序設計題自動閱卷技術的研究與實現[D].沈陽:沈陽工業大學,2005.

[7] 田甜,張振國.主觀題自動閱卷技術研究[J]. 計算機工程與設計,2010,31(16):3697-3699,3704.

[8] 賈宗維,王曉芳.Visual FoxPro 程序設計主觀題自動閱卷系統設計思路[J].山西農業大學學報:自然科學版,2008,28(1):99-101.

[9] 彭作民.EXCEL文檔自動閱卷評分算法設計.南京師范大學學報:工程技術版,2007,7(3):70-73.

[10] 巨同升.C 語言程序自動閱卷系統的改進[J].山東理工大學學報:自然科學版,2010,24(5):52-54.endprint

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合