摘? 要:為了適應學校“計算機應用基礎”課程的教學需要,學校要求對該課程采用分模塊教學、無紙化考試、評分自動化的目標。根據需求及教學經驗,利用VB技術設計開發了計算機應用基礎課程的自動改卷程序。解決了任課老師手工批改試卷工作量大的難題,提高了教師的工作效率,同時認為該辦公軟件無紙化考試系統可以進行推廣。
關鍵詞:計算機應用基礎;無紙化考試;VB;自動改卷
中圖分類號:TP311.52? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)06-0104-03
Abstract:In order to meet the teaching needs of the “Computer Application Foundation” course,the school requires that the course be divided into module teaching,paperless examination and automatic scoring. According to the needs and teaching experience,the paper designs and develops the program of automatically changing the volume of the basic course of computer application by using VB technology. It solves the problem of teachersmanual marking and correcting papers,improves teachersworking efficiency,and thinks that the paperless examination system of the office software can be popularized.
Keywords:computer application foundation;paperless examination;VB;automatic rewinding
0? 引? 言
隨著社會對人們的電腦操作水平要求越來越高,“計算機應用基礎”課程已經作為所有專業公需必修課程。學校將“計算機應用基礎”課程教學分為若干個模塊學習任務,并進行上機實操,任課老師要求學生在上機操作學習中完成實操任務、課后及時提交作業,為此需要任課老師手工批改課堂作業、期末考試改卷,工作量十分巨大、工作效率低下。面對這樣的教學需求,本文開發了一套以VB為平臺的辦公軟件無紙化考試自動改卷系統,可以更好地提高教師的工作效率。
1? 系統功能模塊分析
1.1? 系統功能分析
本系統的用戶是:教師、考生。
教師在該系統中可完成的操作:分模塊出題,系統自動形成試題數據庫;系統自動查閱考生試卷進行改卷評分,查詢考生各模塊的成績和總分。
考生在該系統中可完成的操作:領取試卷,錄入考生信息,操作完成試題模塊任務,提交試卷,查詢各模塊的成績和總分。
1.2? 系統功能模塊設計
通過對系統功能的分析,借鑒了廣東省考試中心的Office辦公軟件考試系統的使用,本文設計的辦公軟件無紙化考試系統應分為試題數據庫模塊、自動改卷模塊兩個部分。
試題數據庫模塊:教師將理論、Windows、Word、Excel、PowerPoint、Internet六大模塊知識點進行分類匯總、分模塊出題,并錄入到試題庫中,然后系統自動形成試題庫模塊,生成考試試題內容;考生登錄試題庫模塊領取試卷,錄入考生信息,瀏覽考試試題內容并進行操作,完成試題任務,提交試卷。
自動改卷模塊:系統自動查閱考生試卷,完成試題改卷,匯總學生成績,生成評分文件,教師、學生可查詢成績。
2? 系統的設計
2.1? 試題數據庫模塊設計
通過對計算機辦公軟件應用考試大綱的分析,“計算機應用基礎”課程的教學、考試主要分為理論、Windows、Word、Excel、PowerPoint、Internet這6大模塊,每個模塊都由相應的知識點組成。如Windows操作主要涉及文件或文件夾的移動、復制、重命名、刪除、屬性6個常用的知識點;Word文檔的知識點較多,如對段落的文字設置字體、字號、顏色、下劃線、字符間距等,對段落設置首行縮進、行距、段前段后間距、對齊方式等28個常用的知識點,Excel有單元格格式、公式函數、合并計算、圖表等19個常用知識點。
試題數據庫模塊將“計算機應用基礎”課程的知識點分為6大模塊出題,題型分2大類,理論題和操作題,操作題又分為12小類。模塊以Office辦公軟件中的Access作為試題數據庫,建立理論題題庫、實操題題庫、考試理論題,通過VB工具生成界面簡潔、操作方便的試題數據模塊。
2.2? 自動改卷模塊的設計
自動改卷模塊針對試題數據庫模塊的12個題型,使用VB工具實現查閱考生試卷,改卷,生成評分數據的功能。
3? 系統的算法與實現
3.1? 試題庫模塊的算法與實現
實操試題庫模塊的算法用VB打開Access試題題庫,讀取單元格并將單元格內容賦值到VB標簽中,通過多按鈕生成實操試題庫模塊。
理論題題庫需要實現的功能是在理論題數據庫的300條記錄中,隨機抽取20條形成考試題題目。代碼為:
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs? As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim sql, sql1 As String
Dim b(20) As Integer
conn.Open? ‘連接Access數據庫
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\key\class
\lilun1.mdb;Persist Security Info=False"? ?‘在300中隨機產生20個題目編號
sql1 = "select * from 考試理論題
rs1.Open sql1, conn, 1, 3
If rs1.RecordCount < 10 Then
rs1.Close
Randomize
b(0) = Int(Rnd() * 300) + 1
i = 1
Do While i < 20
b(i) = Int(Rnd() * 300) + 1
For j = 0 To i - 1
If b(i) = b(j) Then i = i - 1
Next j
i = i + 1
Loop? ?‘把20個題目編號對應的試題寫入考試理論題表
For k = 0 To 19
sql = "select * from? 理論題題庫 where TMID="& b(k)
rs.Open sql, conn, 1, 3
a1 = rs.Fields(1)
a2 = rs.Fields(2)
a3 = rs.Fields(3)
rs.Close
sql1 = "select * from? 考試理論題
rs1.Open sql1, conn, 1, 3
rs1.AddNew
rs1.Fields(1) = a1
rs1.Fields(2) = a2
rs1.Fields(3) = a3
rs1.Update
rs1.Close
Next k
End If
End Sub
3.2? 自動改卷模塊的算法與實現
自動改卷系統的算法是用VB將考生提交試卷的記錄中相關數據的屬性內容抽取出來,與試題答案要求的屬性內容進行比較,并將所得的分數顯示到文件中,實現自動改卷的目的。
現在以“計算機應用基礎”課程的6大模塊中的Word、Excel兩個模塊為例說明實現自動改卷的方法。
3.2.1? Word改卷系統的實現
Word的考點多,包括字體設置、段落設置、頁面設置、圖片設置、表格操作等內容,為了實現改卷統分功能,需要打開Word文檔,對文檔屬性內容抽取再進行比較。
(1)Word文檔屬性內容的抽取和比較的偽代碼為:
If? wdApp.ActiveDocument.Paragraphs(1).Range.Font的相應屬性(字體、字號、顏色、加粗、字距加寬等)
Then計分
End If
If? wdApp.ActiveDocument.Paragraphs(1).Format的相應屬性(對齊方式、間距、段前段后行距、特殊格式等)
Then 計分
End If
對于不同的考試題型,抽取出來的內容是不一樣的,但編程思路是一樣的。
(2)案例:
段落格式題型:請打開[段落A.doc]文檔,完成以下操作:標題格式,字體為黑體、小二號字,居中,字符間距加寬1磅,段后間距1行。(1分)
代碼為:
Dim wdApp As Word.Application? '定義word類
Dim wdoc As Word.Document
Private Sub Command1_Click()
Set wdApp = CreateObject("Word.Application")? '定義word應用類
Set wdoc = wdApp.Documents.Open(App.Path &"\KEY\ 段落A.doc")? ? ?‘打開word文件
wdApp.Visible = True? ‘檢查word文件可見
t = 0
If wdApp.ActiveDocument.Paragraphs(1).Range.Font.Size = 18 Then? ?‘檢查文本的字號
t = t + 0.2
End If
If wdApp.ActiveDocument.Paragraphs(1).Range.Font.Name = "黑體" Then? ‘檢查文本的字體
t = t + 0.2
End If
If wdApp.ActiveDocument.Paragraphs(1).Range.Font.Spacing = 1 Then? ‘檢查文字的間距為1
t = t + 0.2
End If
If wdApp.ActiveDocument.Paragraphs(1).Format.Alignment = wdAlignParagraphCenter Then
‘檢查文字的對齊方式
t = t + 0.2
End If
If wdApp.ActiveDocument.Paragraphs(1).Format.LineUnitAfter = 1 Then? ?‘檢查段間距
t = t + 0.2
End If
Form1.Label1.Caption = "二、段落格式題得分是:"&t
wdoc.Close? ? ? ?‘關閉word文件
wdApp.Application.Quit? ?‘退出word
Set wdoc = Nothing
Set wdApp = Nothing
End Sub
3.2.2? Excel改卷系統的實現
Excel的考點復雜,包括單元格格式、公式函數、合并計算、圖表等內容,為了實現改卷統分功能,需要打開Excel文檔,對文檔屬性內容抽取再進行比較。
(1)Excel文檔屬性內容的抽取和比較的偽代碼為:
A類題目:單元格格式
If? xlApp.Range("單元格").Font的相應屬性(字體、字號、顏色、加粗、字距加寬等)
Then計分
End If
B類題目:公式函數類
xlApp.Range("單元格").Select
If? xlApp.ActiveCell.FormulaR1C1 = “對應函數”
Then計分
End If
C類題目:圖表類
xlApp.Charts.Select
If? xlApp.ActiveChart的相應屬性(圖表的類型、標題、圖例位置)
Then 計分
End If
(2)案例:
Excel合并計算題型:請打開[XLS-2.XLS]文件,在工作表Sheet1中完成以下操作,完成后以原文件名保存。在“收入等級”列,通過IF函數求出每個職員收入水平的評定:如果“基本工資”大于等于2 800,則為“較高”;如果“基本工資”大于等于2 000但小于2 800,則為“中等”;否則為“較低”。(2分)
代碼為:
Set xlApp = CreateObject("Excel.Application")? '創建EXCEL應用類
Set xlBook = xlApp.Workbooks.Open(App.Path &"\KEY\XLS-2.xls")? '打開EXCEL工作簿
Set xlsheet = xlBook.Worksheets(1)? '打開EXCEL工作表
xlsheet.Activate? '激活工作表
'xlApp.Visible = True
xlApp.Range("F2").Select
If xlApp.ActiveCell.FormulaR1C1 = "=IF(RC[-3]>= 2800,""較高"",
IF(RC[-3]>=2000,""中等"",""較低""))"
Then? '通過IF 函數求出每個職員收入水平的評定
E2 = E2 + 2
End If
Form1.Label4.Caption = "七、合并計算題得分是:"& E2
xlBook.Close
xlApp.Application.Quit
Set xlApp = Nothing
End Sub
4? 結? 論
系統的設計實現了辦公軟件無紙化考試和自動改卷的功能,在實際應用中表明該系統能夠滿足教學和考試需求,提高了教師的工作效率,為學校的“計算機應用基礎”課程教學、考試提供了便利,介紹的算法也為教師在VB課程教學中提供了很好的實例參考。
本文介紹的辦公軟件無紙化考試系統適用于學校或班級“計算機應用基礎”課程的學習和考試,但面向大型的辦公軟件網絡考試需求,仍需要繼續努力完善系統設計。
參考文獻:
[1] 蘇少禧.辦公軟件考試系統的設計與實現 [J].大眾科技,2012,14(6):37-41.
[2] 朱克武.Office辦公軟件改卷系統的研究 [J].計算機與現代化,2011(4):145-148+152.
[3] 黎光環.基于VBA的WORD考試自動改卷系統的實現 [J].科技風,2015(22):118.
作者簡介:黃艷丹(1982.05-),女,漢族,廣東茂名人,講師,本科,主要研究方向:計算機有關教學和研究。