国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Excel操作題自動(dòng)閱卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2011-08-06 12:18:48賁黎明
關(guān)鍵詞:題庫單元格公式

賁黎明

(常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)

Excel是計(jì)算機(jī)教學(xué)中最基本的也是必須熟練掌握的軟件之一.此類課程的教學(xué)過程中,實(shí)踐是相當(dāng)重要的一個(gè)環(huán)節(jié).每次考核后,教師都要花大量的時(shí)間和精力對(duì)學(xué)生提交的Excel文檔進(jìn)行評(píng)閱,因此必須有一套對(duì)Excel操作進(jìn)行正確評(píng)價(jià)的軟件,以減輕教師閱卷的工作量.

在現(xiàn)有的文獻(xiàn)中,關(guān)于Excel自動(dòng)閱卷方面的文獻(xiàn)并不多,即使有也只是粗略、簡(jiǎn)單地介紹了實(shí)現(xiàn)的思路,并沒有完整的實(shí)現(xiàn)方法[1-4].本文就現(xiàn)在考試系統(tǒng)中通用的Excel 2003操作題自動(dòng)閱卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行詳細(xì)分析,提出了完整有效的實(shí)現(xiàn)方案,并給出了其中的關(guān)鍵代碼.

1 關(guān)鍵技術(shù)

1.1 VBA

Visual Basic for Applications(VBA)是一種Visual Basic的一種宏語言,主要用來擴(kuò)展Windows的應(yīng)用程序功能,特別是Microsoft Office軟件,也可說是一種應(yīng)用程序視覺化的Basic Script.

1.2 Excel對(duì)象模型

(1)Application對(duì)象:Application對(duì)象是Excel對(duì)象模型中的頂級(jí)對(duì)象.使用Application對(duì)象可以確定或指定應(yīng)用程序級(jí)屬性或執(zhí)行應(yīng)用程序級(jí)方法.Application對(duì)象也是訪問Excel對(duì)象模型其它部分的基礎(chǔ).

(2)Workbooks對(duì)象和Workbook對(duì)象:Workbooks對(duì)象包含Microsoft Excel中所有當(dāng)前打開的Workbook對(duì)象,是Workbook對(duì)象的集合.Workbook對(duì)象是Workbooks集合的成員,對(duì)象代表Microsoft Excel工作簿.

(3)Worksheets對(duì)象和Worksheet對(duì)象:Worksheets對(duì)象包含工作簿中所有的Worksheet對(duì)象,是Worksheet對(duì)象的集合.Worksheet對(duì)象是Worksheets集合的成員,代表一張工作表.

(4)Range對(duì)象:Range對(duì)象代表某一單元格、某一行、某一列、某一選定區(qū)域(該區(qū)域可包含一個(gè)或若干連續(xù)單元格區(qū)域),或者某一三維區(qū)域.

(5)ChartObjects對(duì)象和ChartObject對(duì)象:ChartObjects對(duì)象為指定的圖表工作表或工作表上所有ChartObject對(duì)象的集合.每個(gè)ChartObject對(duì)象代表一個(gè)嵌入圖表.ChartObject對(duì)象的作用是作為Chart對(duì)象的容器.ChartObject對(duì)象的屬性和方法控制工作表上嵌入圖表的外觀和尺寸.

2 設(shè)計(jì)思路

本系統(tǒng)采用Microsoft Visual Basic 6.0作為開發(fā)工具,為了在VB中能訪問Excel文檔,必須在工程中引用“Microsoft Excel 11.0 Object Library”[5].

(1)定義應(yīng)用程序?qū)ο笞兞亢臀臋n對(duì)象:

由于Excel中各種對(duì)象的屬性很多,每個(gè)屬性有各種各樣的值,如設(shè)置單元格的前景色,其屬性名為Font.ColorIndex,其顏色設(shè)置多達(dá)幾十種,即其屬性值有幾十個(gè),而現(xiàn)有的自動(dòng)閱卷系統(tǒng)主要采用與標(biāo)準(zhǔn)屬性值進(jìn)行比較[1,2],這樣在設(shè)置評(píng)分標(biāo)準(zhǔn)前就要先獲取所有設(shè)置的屬性值,工作量很大,而且極易出錯(cuò).因此本文采用的方法是先按題目要求做好一份標(biāo)準(zhǔn)答案,在自動(dòng)閱卷時(shí)只要分別將學(xué)生提交的Excel文檔和標(biāo)準(zhǔn)答案中對(duì)象的屬性值分別提取出來進(jìn)行比較,根據(jù)比較結(jié)果判斷是否正確.這樣在設(shè)置標(biāo)準(zhǔn)答案時(shí)就只要按要求做好一份樣卷,而不必關(guān)心具體對(duì)象的屬性值是多少,極大地降低了工作量,而且不易出錯(cuò).

操作過程中,有時(shí)學(xué)生在對(duì)一個(gè)范圍內(nèi)的單元格進(jìn)行某些設(shè)置時(shí)可能只做對(duì)了一部分,現(xiàn)有的自動(dòng)閱卷系統(tǒng)往往是把這個(gè)范圍作為一個(gè)對(duì)象[3],再將該對(duì)象的屬性值進(jìn)行提取,而由于學(xué)生只做對(duì)了一部分,所以此對(duì)象的同一屬性的值不止一個(gè),也就無法提取出對(duì)象的屬性值,自動(dòng)閱卷系統(tǒng)就會(huì)將此題判斷為錯(cuò)而不得分.本系統(tǒng)為了避免這種情況的發(fā)生,提出了按單元格進(jìn)行逐一評(píng)閱的方法,根據(jù)做對(duì)的比例給出相應(yīng)得分,增加了評(píng)閱結(jié)果的公平公正性.流程圖如圖1所示.

圖1 自動(dòng)閱卷系統(tǒng)流程圖

對(duì)于公式編輯,由于公式的寫法有多種多樣,如對(duì)A1、A2、A3、A4四個(gè)單元格進(jìn)行求和,其公式可以是“=SUM(A1:A4)”,也可以是“=SUM(A1,A2,A3,A4)”,還可以是“=A1+A2+A3+A4”等等[4]. 現(xiàn)有的自動(dòng)評(píng)閱系統(tǒng)一般是在標(biāo)準(zhǔn)答案中列出幾個(gè)常見的公式,將學(xué)生所寫出的公式與標(biāo)準(zhǔn)答案中的公式進(jìn)行比較,如果學(xué)生所寫的公式正確但又在標(biāo)準(zhǔn)答案中不存在,自動(dòng)閱卷系統(tǒng)也會(huì)將此題判斷為錯(cuò)誤.為了避免這種情況的發(fā)生,本系統(tǒng)采用的方法是:首先判斷其是否有公式,如沒有,則不得分;如有,再判斷公式的正確性,即將單元格中的數(shù)據(jù)代入此公式進(jìn)行計(jì)算,如計(jì)算出來的值正確也就說明公式正確,則得分.

本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分成兩個(gè)部分:題庫設(shè)置和自動(dòng)閱卷系統(tǒng).

2.1 題庫的設(shè)置

分析Excel操作題的情況,將Excel操作題分為五大類:獲取外部數(shù)據(jù);單元格格式的設(shè)置;公式編輯;圖表制作;工作表操作.通過題庫設(shè)置將每一小題的操作類型、操作對(duì)象(包括工作表和單元格地址)、操作屬性名稱以及分值存入數(shù)據(jù)庫中.

2.2 自動(dòng)閱卷系統(tǒng)

先打開樣卷以及考生文檔,根據(jù)題庫中每一小題的操作類型,分別提取樣卷和考生文檔中操作對(duì)象的對(duì)應(yīng)屬性值,然后進(jìn)行比對(duì),根據(jù)比對(duì)結(jié)果,給出每一小題的得分.

3 數(shù)據(jù)庫設(shè)計(jì)

本系統(tǒng)采用的是Access2003數(shù)據(jù)庫.試題庫(stk)表用以存儲(chǔ)每小題的操作類型、操作對(duì)象(包括工作表和單元格地址)、操作屬性名稱以及分值,其表結(jié)構(gòu)如表1所示.

如“設(shè)置sheet1工作表A2:E2單元格水平居中,1分”,則在試題庫中存儲(chǔ)其各字段值分別為:?jiǎn)卧窀袷皆O(shè)置、1、$A$2:$E$2、HorizontalAlignment、1.

由于在題庫中要求存儲(chǔ)的是操作對(duì)象的屬性名稱,因此,為了在設(shè)置題庫時(shí)方便直觀,根據(jù)不同的操作對(duì)象,分別建立了單元格(dyg)、圖表(tb)和工作表(gzb)三張表,用以存貯操作內(nèi)容所對(duì)應(yīng)的屬性名稱,其表結(jié)構(gòu)如表2所示(三張表結(jié)構(gòu)相同).學(xué)生(student)表中存儲(chǔ)每個(gè)學(xué)生的信息(學(xué)號(hào)和姓名)及考試成績(jī),結(jié)構(gòu)如表3所示.

表1 試題庫表(stk)

4 題庫設(shè)置的實(shí)現(xiàn)

運(yùn)行題庫設(shè)置,首先出現(xiàn)“打開”對(duì)話框,要求選擇并打開樣卷文件,如不選擇,則結(jié)束程序運(yùn)行,否則出現(xiàn)如圖2所示界面.

由于Excel操作題主要分為五大類,因此在窗體上增加了一個(gè)選項(xiàng)卡控件,并設(shè)置其有五個(gè)選項(xiàng)卡,分別對(duì)應(yīng)一類操作.“題型設(shè)置”下拉列表框中列出了五種操作的名稱,當(dāng)對(duì)其進(jìn)行選擇后,選項(xiàng)卡控件會(huì)自動(dòng)切換到相應(yīng)的選項(xiàng)卡上.“工作表名稱”下拉列表框中列出了當(dāng)前打開的樣卷中所有工作表的名稱,用以選擇操作的工作表.“獲取地址”命令按鈕用以自動(dòng)獲取樣卷當(dāng)前工作表中選中的單元格地址.設(shè)置好操作類型及操作對(duì)象后,再在相應(yīng)的選項(xiàng)卡中設(shè)置操作內(nèi)容及分值.設(shè)置完后點(diǎn)擊“確定”,根據(jù)相應(yīng)的屬性名稱對(duì)照表自動(dòng)將操作內(nèi)容轉(zhuǎn)換成屬性名稱存入下面的列表框中.由于可能會(huì)對(duì)相同的對(duì)象進(jìn)行多種操作,為了防止反復(fù)設(shè)置操作對(duì)象,所以當(dāng)設(shè)置好一個(gè)操作后,并不將其直接存儲(chǔ)到“試題信息”列表框中,而是先存入選項(xiàng)卡中的列表框,當(dāng)同一對(duì)象的所有操作設(shè)置好后點(diǎn)擊“保存”,再將該列表框中的所有信息全部存入試題信息中,并清空該列表框中的內(nèi)容.最后點(diǎn)擊“存入題庫”,將試題信息中的內(nèi)容存入試題庫表中,并清空試題信息中的所有內(nèi)容.

表2 屬性名稱對(duì)照表(dyg、tb、gzb)

表3 學(xué)生成績(jī)表(student)

5 自動(dòng)閱卷系統(tǒng)的實(shí)現(xiàn)

運(yùn)行自動(dòng)閱卷系統(tǒng),界面如圖3所示,首先設(shè)置好樣卷信息以及考生文件存儲(chǔ)位置和文件名,然后按“評(píng)分”按鈕進(jìn)行評(píng)分.

如考生文件不存在,則通過打開對(duì)話框由閱卷老師手工查找考生文件,如找不到,則直接給零分,否則按照題庫中的要求進(jìn)行詳細(xì)評(píng)分,具體步驟如下:

(1)定義變量cj,并賦初值0;

(2)將題庫指針指向第一條記錄;

(3)獲取題庫中操作工作表名稱,并分別將樣卷和考生文檔中對(duì)應(yīng)工作表激活,同時(shí)地址存入字符型變量dz中,該題的分值存入變量fz中;

(4)分解地址字符串;

(5)獲取操作屬性名稱,按照操作類型對(duì)該題進(jìn)行評(píng)分,計(jì)算出該題的得分并累加到cj變量中;

(6)題庫指針向下移動(dòng)一條記錄,重復(fù)(3)—(6)的操作,直到題庫指針指向文件尾,得到學(xué)生的成績(jī)cj并存入學(xué)生成績(jī)表中.

分解地址字符串過程代碼如下:

圖2 設(shè)置題庫界面

圖3 自動(dòng)閱卷系統(tǒng)界面

在評(píng)分過程中,許多操作的評(píng)分具有相似性,因此采用以下過程進(jìn)行評(píng)分.

對(duì)于公式編輯的評(píng)閱方法是:首先通過HasFormula屬性判斷其是否有公式,如沒有,則得0分;如有,再將其單元格中計(jì)算出來的值與樣卷中相應(yīng)單元格的值進(jìn)行比較,如相等,則得分.其主要代碼如下:

圖表數(shù)據(jù)源評(píng)分的代碼如下:

6 系統(tǒng)測(cè)試及評(píng)估

為了測(cè)試系統(tǒng)的效果,由學(xué)生做了3套試卷(滿分16分),然后分別進(jìn)行手工和自動(dòng)閱卷,得到數(shù)據(jù)如表4所示.

從測(cè)試結(jié)果可以看出,自動(dòng)閱卷所花的時(shí)間要遠(yuǎn)遠(yuǎn)少于手工閱卷,而得分略高于手工閱卷,這是因?yàn)樽詣?dòng)閱卷系統(tǒng)會(huì)對(duì)每項(xiàng)進(jìn)行逐個(gè)比較,不會(huì)造成手工閱卷過程中因做錯(cuò)一部分而全部不得分的后果.因此該系統(tǒng)具有實(shí)際應(yīng)用價(jià)值,極大地提高了教師的工作效率,評(píng)出的分?jǐn)?shù)也是真實(shí)可靠的.

表4 兩種閱卷方法比較

7 結(jié)束語

本文所設(shè)計(jì)的Excel操作自動(dòng)閱卷系統(tǒng),在實(shí)際考試系統(tǒng)中實(shí)現(xiàn)了快速、準(zhǔn)確的自動(dòng)評(píng)分,減少了人為因素的影響.由于圖表的復(fù)雜性,有些屬性的獲取比較困難,因此在圖表的評(píng)分上還有些不足,需要在實(shí)踐中不斷完善.

[1]陳志堅(jiān).VBA技術(shù)在計(jì)算機(jī)基礎(chǔ)考試系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2009,5(17):4461-4463.

[2]李菲.考試系統(tǒng)中Excel操作題自動(dòng)閱卷的實(shí)現(xiàn)[J].遼寧師專學(xué)報(bào),2009,11(1):46,97.

[3]唐洪彬.Word、Excel自動(dòng)閱卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].宿州教育學(xué)院學(xué)報(bào),2004,7(2):55-57.

[4]彭作民.Excel文檔自動(dòng)閱卷評(píng)分算法設(shè)計(jì)[J].南京師范大學(xué)學(xué)報(bào)(工程技術(shù)版),2007,7(3):70-73.

[5]賁黎明,施梅芳.自動(dòng)閱卷系統(tǒng)中Word插入對(duì)象的識(shí)別與評(píng)分[J].電腦知識(shí)與技術(shù),2011,7(15):3644-3645.

猜你喜歡
題庫單元格公式
排列數(shù)與排列數(shù)公式
組合數(shù)與組合數(shù)公式
“勾股定理”優(yōu)題庫
等差數(shù)列前2n-1及2n項(xiàng)和公式與應(yīng)用
“軸對(duì)稱”優(yōu)題庫
玩轉(zhuǎn)方格
玩轉(zhuǎn)方格
“軸對(duì)稱”優(yōu)題庫
“整式的乘法與因式分解”優(yōu)題庫
例說:二倍角公式的巧用
沙坪坝区| 福海县| 绿春县| 南部县| 福泉市| 瑞金市| 房产| 通化市| 惠来县| 兰州市| 富锦市| 衡阳市| 钟祥市| 错那县| 泊头市| 延吉市| 株洲市| 沙洋县| 沂南县| 凯里市| 黔西县| 娄底市| 连云港市| 中阳县| 黔东| 海淀区| 贵港市| 连州市| 锡林郭勒盟| 江阴市| 泽州县| 富顺县| 和林格尔县| 岢岚县| 寿光市| 都匀市| 中超| 西青区| 错那县| 昌宁县| 梅州市|