摘? 要:為了適應(yīng)學(xué)?!坝?jì)算機(jī)應(yīng)用基礎(chǔ)”課程的教學(xué)需要,學(xué)校要求對(duì)該課程采用分模塊教學(xué)、無紙化考試、評(píng)分自動(dòng)化的目標(biāo)。根據(jù)需求及教學(xué)經(jīng)驗(yàn),利用VB技術(shù)設(shè)計(jì)開發(fā)了計(jì)算機(jī)應(yīng)用基礎(chǔ)課程的自動(dòng)改卷程序。解決了任課老師手工批改試卷工作量大的難題,提高了教師的工作效率,同時(shí)認(rèn)為該辦公軟件無紙化考試系統(tǒng)可以進(jìn)行推廣。
關(guān)鍵詞:計(jì)算機(jī)應(yīng)用基礎(chǔ);無紙化考試;VB;自動(dòng)改卷
中圖分類號(hào):TP311.52? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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? 引? 言
隨著社會(huì)對(duì)人們的電腦操作水平要求越來越高,“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程已經(jīng)作為所有專業(yè)公需必修課程。學(xué)校將“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程教學(xué)分為若干個(gè)模塊學(xué)習(xí)任務(wù),并進(jìn)行上機(jī)實(shí)操,任課老師要求學(xué)生在上機(jī)操作學(xué)習(xí)中完成實(shí)操任務(wù)、課后及時(shí)提交作業(yè),為此需要任課老師手工批改課堂作業(yè)、期末考試改卷,工作量十分巨大、工作效率低下。面對(duì)這樣的教學(xué)需求,本文開發(fā)了一套以VB為平臺(tái)的辦公軟件無紙化考試自動(dòng)改卷系統(tǒng),可以更好地提高教師的工作效率。
1? 系統(tǒng)功能模塊分析
1.1? 系統(tǒng)功能分析
本系統(tǒng)的用戶是:教師、考生。
教師在該系統(tǒng)中可完成的操作:分模塊出題,系統(tǒng)自動(dòng)形成試題數(shù)據(jù)庫(kù);系統(tǒng)自動(dòng)查閱考生試卷進(jìn)行改卷評(píng)分,查詢考生各模塊的成績(jī)和總分。
考生在該系統(tǒng)中可完成的操作:領(lǐng)取試卷,錄入考生信息,操作完成試題模塊任務(wù),提交試卷,查詢各模塊的成績(jī)和總分。
1.2? 系統(tǒng)功能模塊設(shè)計(jì)
通過對(duì)系統(tǒng)功能的分析,借鑒了廣東省考試中心的Office辦公軟件考試系統(tǒng)的使用,本文設(shè)計(jì)的辦公軟件無紙化考試系統(tǒng)應(yīng)分為試題數(shù)據(jù)庫(kù)模塊、自動(dòng)改卷模塊兩個(gè)部分。
試題數(shù)據(jù)庫(kù)模塊:教師將理論、Windows、Word、Excel、PowerPoint、Internet六大模塊知識(shí)點(diǎn)進(jìn)行分類匯總、分模塊出題,并錄入到試題庫(kù)中,然后系統(tǒng)自動(dòng)形成試題庫(kù)模塊,生成考試試題內(nèi)容;考生登錄試題庫(kù)模塊領(lǐng)取試卷,錄入考生信息,瀏覽考試試題內(nèi)容并進(jìn)行操作,完成試題任務(wù),提交試卷。
自動(dòng)改卷模塊:系統(tǒng)自動(dòng)查閱考生試卷,完成試題改卷,匯總學(xué)生成績(jī),生成評(píng)分文件,教師、學(xué)生可查詢成績(jī)。
2? 系統(tǒng)的設(shè)計(jì)
2.1? 試題數(shù)據(jù)庫(kù)模塊設(shè)計(jì)
通過對(duì)計(jì)算機(jī)辦公軟件應(yīng)用考試大綱的分析,“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程的教學(xué)、考試主要分為理論、Windows、Word、Excel、PowerPoint、Internet這6大模塊,每個(gè)模塊都由相應(yīng)的知識(shí)點(diǎn)組成。如Windows操作主要涉及文件或文件夾的移動(dòng)、復(fù)制、重命名、刪除、屬性6個(gè)常用的知識(shí)點(diǎn);Word文檔的知識(shí)點(diǎn)較多,如對(duì)段落的文字設(shè)置字體、字號(hào)、顏色、下劃線、字符間距等,對(duì)段落設(shè)置首行縮進(jìn)、行距、段前段后間距、對(duì)齊方式等28個(gè)常用的知識(shí)點(diǎn),Excel有單元格格式、公式函數(shù)、合并計(jì)算、圖表等19個(gè)常用知識(shí)點(diǎn)。
試題數(shù)據(jù)庫(kù)模塊將“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程的知識(shí)點(diǎn)分為6大模塊出題,題型分2大類,理論題和操作題,操作題又分為12小類。模塊以O(shè)ffice辦公軟件中的Access作為試題數(shù)據(jù)庫(kù),建立理論題題庫(kù)、實(shí)操題題庫(kù)、考試?yán)碚擃},通過VB工具生成界面簡(jiǎn)潔、操作方便的試題數(shù)據(jù)模塊。
2.2? 自動(dòng)改卷模塊的設(shè)計(jì)
自動(dòng)改卷模塊針對(duì)試題數(shù)據(jù)庫(kù)模塊的12個(gè)題型,使用VB工具實(shí)現(xiàn)查閱考生試卷,改卷,生成評(píng)分?jǐn)?shù)據(jù)的功能。
3? 系統(tǒng)的算法與實(shí)現(xiàn)
3.1? 試題庫(kù)模塊的算法與實(shí)現(xiàn)
實(shí)操試題庫(kù)模塊的算法用VB打開Access試題題庫(kù),讀取單元格并將單元格內(nèi)容賦值到VB標(biāo)簽中,通過多按鈕生成實(shí)操試題庫(kù)模塊。
理論題題庫(kù)需要實(shí)現(xiàn)的功能是在理論題數(shù)據(jù)庫(kù)的300條記錄中,隨機(jī)抽取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數(shù)據(jù)庫(kù)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\key\class
\lilun1.mdb;Persist Security Info=False"? ?‘在300中隨機(jī)產(chǎn)生20個(gè)題目編號(hào)
sql1 = "select * from 考試?yán)碚擃}
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個(gè)題目編號(hào)對(duì)應(yīng)的試題寫入考試?yán)碚擃}表
For k = 0 To 19
sql = "select * from? 理論題題庫(kù) 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? 考試?yán)碚擃}
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? 自動(dòng)改卷模塊的算法與實(shí)現(xiàn)
自動(dòng)改卷系統(tǒng)的算法是用VB將考生提交試卷的記錄中相關(guān)數(shù)據(jù)的屬性內(nèi)容抽取出來,與試題答案要求的屬性內(nèi)容進(jìn)行比較,并將所得的分?jǐn)?shù)顯示到文件中,實(shí)現(xiàn)自動(dòng)改卷的目的。
現(xiàn)在以“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程的6大模塊中的Word、Excel兩個(gè)模塊為例說明實(shí)現(xiàn)自動(dòng)改卷的方法。
3.2.1? Word改卷系統(tǒng)的實(shí)現(xiàn)
Word的考點(diǎn)多,包括字體設(shè)置、段落設(shè)置、頁面設(shè)置、圖片設(shè)置、表格操作等內(nèi)容,為了實(shí)現(xiàn)改卷統(tǒng)分功能,需要打開Word文檔,對(duì)文檔屬性內(nèi)容抽取再進(jìn)行比較。
(1)Word文檔屬性內(nèi)容的抽取和比較的偽代碼為:
If? wdApp.ActiveDocument.Paragraphs(1).Range.Font的相應(yīng)屬性(字體、字號(hào)、顏色、加粗、字距加寬等)
Then計(jì)分
End If
If? wdApp.ActiveDocument.Paragraphs(1).Format的相應(yīng)屬性(對(duì)齊方式、間距、段前段后行距、特殊格式等)
Then 計(jì)分
End If
對(duì)于不同的考試題型,抽取出來的內(nèi)容是不一樣的,但編程思路是一樣的。
(2)案例:
段落格式題型:請(qǐng)打開[段落A.doc]文檔,完成以下操作:標(biāo)題格式,字體為黑體、小二號(hào)字,居中,字符間距加寬1磅,段后間距1行。(1分)
代碼為:
Dim wdApp As Word.Application? '定義word類
Dim wdoc As Word.Document
Private Sub Command1_Click()
Set wdApp = CreateObject("Word.Application")? '定義word應(yīng)用類
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? ?‘檢查文本的字號(hào)
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
‘檢查文字的對(duì)齊方式
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? ? ? ?‘關(guān)閉word文件
wdApp.Application.Quit? ?‘退出word
Set wdoc = Nothing
Set wdApp = Nothing
End Sub
3.2.2? Excel改卷系統(tǒng)的實(shí)現(xiàn)
Excel的考點(diǎn)復(fù)雜,包括單元格格式、公式函數(shù)、合并計(jì)算、圖表等內(nèi)容,為了實(shí)現(xiàn)改卷統(tǒng)分功能,需要打開Excel文檔,對(duì)文檔屬性內(nèi)容抽取再進(jìn)行比較。
(1)Excel文檔屬性內(nèi)容的抽取和比較的偽代碼為:
A類題目:?jiǎn)卧窀袷?/p>
If? xlApp.Range("單元格").Font的相應(yīng)屬性(字體、字號(hào)、顏色、加粗、字距加寬等)
Then計(jì)分
End If
B類題目:公式函數(shù)類
xlApp.Range("單元格").Select
If? xlApp.ActiveCell.FormulaR1C1 = “對(duì)應(yīng)函數(shù)”
Then計(jì)分
End If
C類題目:圖表類
xlApp.Charts.Select
If? xlApp.ActiveChart的相應(yīng)屬性(圖表的類型、標(biāo)題、圖例位置)
Then 計(jì)分
End If
(2)案例:
Excel合并計(jì)算題型:請(qǐng)打開[XLS-2.XLS]文件,在工作表Sheet1中完成以下操作,完成后以原文件名保存。在“收入等級(jí)”列,通過IF函數(shù)求出每個(gè)職員收入水平的評(píng)定:如果“基本工資”大于等于2 800,則為“較高”;如果“基本工資”大于等于2 000但小于2 800,則為“中等”;否則為“較低”。(2分)
代碼為:
Set xlApp = CreateObject("Excel.Application")? '創(chuàng)建EXCEL應(yīng)用類
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 函數(shù)求出每個(gè)職員收入水平的評(píng)定
E2 = E2 + 2
End If
Form1.Label4.Caption = "七、合并計(jì)算題得分是:"& E2
xlBook.Close
xlApp.Application.Quit
Set xlApp = Nothing
End Sub
4? 結(jié)? 論
系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)了辦公軟件無紙化考試和自動(dòng)改卷的功能,在實(shí)際應(yīng)用中表明該系統(tǒng)能夠滿足教學(xué)和考試需求,提高了教師的工作效率,為學(xué)校的“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程教學(xué)、考試提供了便利,介紹的算法也為教師在VB課程教學(xué)中提供了很好的實(shí)例參考。
本文介紹的辦公軟件無紙化考試系統(tǒng)適用于學(xué)?;虬嗉?jí)“計(jì)算機(jī)應(yīng)用基礎(chǔ)”課程的學(xué)習(xí)和考試,但面向大型的辦公軟件網(wǎng)絡(luò)考試需求,仍需要繼續(xù)努力完善系統(tǒng)設(shè)計(jì)。
參考文獻(xiàn):
[1] 蘇少禧.辦公軟件考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].大眾科技,2012,14(6):37-41.
[2] 朱克武.Office辦公軟件改卷系統(tǒng)的研究 [J].計(jì)算機(jī)與現(xiàn)代化,2011(4):145-148+152.
[3] 黎光環(huán).基于VBA的WORD考試自動(dòng)改卷系統(tǒng)的實(shí)現(xiàn) [J].科技風(fēng),2015(22):118.
作者簡(jiǎn)介:黃艷丹(1982.05-),女,漢族,廣東茂名人,講師,本科,主要研究方向:計(jì)算機(jī)有關(guān)教學(xué)和研究。