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

自動閱卷系統中編程題的解決方法

2017-01-03 22:26:39周松
中國信息技術教育 2016年23期

周松

摘要:本文對當前自動閱卷系統中編程題的現狀進行了分析,并提出了使用代入法解決完善程序題和使用文件輸出法解決編程題兩種解決方法,同時給出了一些實現細節。

關鍵詞:自動閱卷;編程題;VBA

中圖分類號:TP311 文獻標識碼:A 論文編號:1674-2117(2016)23-0071-03

現狀和問題

在現代教學中,計算機課程的閱卷系統越來越多,從Office應用到各種高級編程語言都有,不過計算機本身的智能化程度不高,主要是按照事先設定好的程序運行的,所以在批改選擇題時非常有優勢,速度快,準確率高,但對主觀程度比較高的,如完善程序,特別是編寫程序,很多閱卷系統還解決得不夠好,而編程題恰恰又是計算機編程語言課程考試的常見題型。

選擇題的實現已經非常成熟,本文不再討論。填空、簡答、論述等題型也有了各種解決方法,雖然效果還不是很理想,但技術也是在不斷進步的,這部分也不是本文要討論的。本文以VBA為例,主要討論主觀性很強且會有多種不同答案但結果又都正確的完善程序和編寫程序兩種題型的閱卷方法。

完善程序題

1.一般的解決方法

完善程序題其實是填空題的一種,但里面填寫的是程序的代碼,下面就是一個完善程序的例子。

題目:從大到小輸入3個數,如不符合要求則顯示“輸入不符合要求”,在空白處填入程序代碼完善程序(如圖1)。

一般的閱卷程序都在用枚舉答案的方法,如將可以想到的x > y And y > z和y < x And z < x等答案和學生的答案進行比較,如果相符則判對,否則扣分。但其實這道題目還有很多其他答案也是正確的,如y < x And x > z和x > y And z < x,甚至也會有學生寫成Not x <= y And Not y <= z和Not (x <= y Or y <= z)等答案。枚舉是一種方法,但只適應于答案非常單一的題目,因此建議盡量不使用。下面筆者將介紹一種代入法,將學生的答案代入到閱卷系統中,根據生成的表達式結果來判定答案是否正確。

2.代入法

代入法就是將學生寫的答案代入到事先編寫好的程序中進行驗證,圖2中的函數t15就是為上題編寫的驗證函數,其中的參數x、y、z為輸入的三個數,sExpression為獲得的學生編寫的答案。在t15函數中的第三行,就是On Error和Exit Function之間是一個空行,學生的代碼將代入到這里。

那么如何在一個程序中動態地插入一行代碼并運行呢?這里要用到module對象中的ProcStartLine屬性和ReplaceLine方法。ProcStartLine屬性是指返回一個值,該值標識指定的過程的起始行。ReplaceLine方法是指在標準模塊中替換指定行。下面給出代入法的代碼,如圖3。

其中:①score是模塊的名稱。②sExpression = "t15 = " & "Not x <= y And Not x <= y"是將學生的答案存儲在sExpression中。最終sExpression中存放的是“t15 = Not x <= y And Not y <= z”,這樣如果“Not x <= y And Not y <= z”計算正確,則函數t15返回值為true,否則返回false。③lineNum = md.ProcStartLine("t15", vbext_pk_Proc)+3得到要將sExpression代入到t15函數的位置。④md.ReplaceLine lineNum, sExpression的功能是進行替換。將sExpression代入到t15函數中。⑤MsgBox(IIf(t15(5, 4, 3, sExpression), "得分", "不得分"))調用代入了學生答案的t15函數,得到結果。

3.注意事項

上述代碼中給出的making()過程是一個演示程序,其中的"Not x <= y And Not y<= z"為學生編寫的答案,應該是從學生的答案中提取,而不是像本例中這樣直接寫出來。另外對答案的處理使用了代碼MsgBox(IIf(t15(5, 4, 3, sExpression), "得分", "不得分")),對于結果只是進行了顯示,在實際應用中應該是將結果寫入到學生的成績表中。而且在函數t15(5, 4, 3, sExpression)中使了5, 4, 3為測試參數,應該按照軟件測試的方法給出測試數據,多次調用t15函數進行驗證。

編程題

編程題是主觀性非常強的題目,每位學生的答案都有可能不一樣,如果根據學生每句代碼是怎么編寫的給分是不現實的,所以好的解決方法是根據結果給分。具體方法是將學生的答案寫入到一個文件中,然后閱卷系統讀取該文件中的內容,判斷答案是否正確。

將答案寫入文件的代碼如圖4所示,其中"answer.dat"為答案文件名,tAnwser是學生的答案。

在具體實現時可以采用兩種方法,一種是事先為學生搭建好程序的框架,上面的文件輸出代碼寫在最后,要求學生不能修改已有的代碼,完成編碼后需運行代碼。還有一種方法就是利用Module.InsertLines(Line, String)方法將文件輸出代碼插入到學生編寫的代碼的后面來輸出答案。

結論

本文提出了準確評判學生編寫的程序的方法,解決了程序設計上機考試中主觀題評判不夠準確的問題。提供的方法簡單、容易實現,大大提高了判卷的準確性。這里還需要特別說明的是,學生編寫的表達式或代碼會有錯誤,所以在代碼中一定要使用on error代碼來對可能的錯誤進行處理,以保證閱卷的順利進行。

主站蜘蛛池模板: 青草国产在线视频| 国产欧美亚洲精品第3页在线| 日韩精品一区二区三区免费在线观看| 亚洲成a人片在线观看88| 日韩国产黄色网站| 欧美69视频在线| 99热免费在线| 成人欧美在线观看| 狠狠干综合| 五月激激激综合网色播免费| av大片在线无码免费| 国产全黄a一级毛片| 国产欧美日韩在线在线不卡视频| 熟妇人妻无乱码中文字幕真矢织江 | 国产成人综合亚洲欧美在| 中文字幕天无码久久精品视频免费 | 香蕉在线视频网站| 久久特级毛片| 欧美三級片黃色三級片黃色1| 欧美一级黄片一区2区| 国模极品一区二区三区| 色屁屁一区二区三区视频国产| 日韩精品一区二区三区免费在线观看| 无码高潮喷水专区久久| 综合天天色| 欧美成人午夜视频免看| 一本大道视频精品人妻| 国产成人1024精品| 亚洲欧洲日韩综合色天使| 精品亚洲国产成人AV| 美女视频黄又黄又免费高清| 国产欧美在线| 91美女视频在线| 国产麻豆va精品视频| 亚洲av无码牛牛影视在线二区| 国产一级毛片高清完整视频版| 色妺妺在线视频喷水| 国产欧美视频一区二区三区| 久久久久人妻精品一区三寸蜜桃| 国产成人精品视频一区视频二区| 免费无码又爽又刺激高| 天堂在线视频精品| 国产精品精品视频| 亚洲人成影院午夜网站| 国产一在线观看| 国产精品免费p区| 自慰网址在线观看| 囯产av无码片毛片一级| 亚洲二区视频| 好吊色妇女免费视频免费| 日韩国产欧美精品在线| 成人年鲁鲁在线观看视频| 欧美国产日本高清不卡| 丁香婷婷综合激情| 天天综合网亚洲网站| 国产精品青青| 亚洲久悠悠色悠在线播放| 欧美日韩午夜视频在线观看| 大香伊人久久| 日韩欧美中文字幕在线韩免费| 亚洲无码视频图片| 女人18毛片一级毛片在线| 人妻一区二区三区无码精品一区| 日本国产精品| 毛片网站在线播放| 99久久性生片| 尤物国产在线| 91九色视频网| 亚洲区一区| 91娇喘视频| 孕妇高潮太爽了在线观看免费| 久久国产毛片| 国产啪在线91| 亚洲最大福利网站| aa级毛片毛片免费观看久| 欧美一级大片在线观看| 亚洲欧美另类视频| 国产日本欧美在线观看| 精品一区二区三区无码视频无码| 伊人色综合久久天天| 国产成人av一区二区三区| 又粗又大又爽又紧免费视频|