《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 遗传算法在计算机基础考试系统中的应用研究
遗传算法在计算机基础考试系统中的应用研究
来源:微型机与应用2014年第1期
李 晶1,马建敏2
(1.河北化工医药职业技术学院 信息工程系,河北 石家庄 050026; 2.廊坊燕京职业技术学院
摘要: 通过分析现有无纸化考试系统的特点,采用遗传算法,设计了一套计算机应用基础考试系统。实现了自动组卷、评分、成绩回收等功能。将该系统应用于实际考试中,有效减少监考老师的工作强度。实践表明系统整体稳定、高效,具有较高的应用价值。
Abstract:
Key words :

摘  要: 通過分析現有無紙化考試系統的特點,采用遺傳算法,設計了一套計算機應用基礎考試系統。實現了自動組卷、評分、成績回收等功能。將該系統應用于實際考試中,有效減少監考老師的工作強度。實踐表明系統整體穩定、高效,具有較高的應用價值。
關鍵詞: 遺傳算法;考試系統;自動評分

1 研究現狀
 從工業化向信息化邁進過程中,IT技能成為當今人們能力素質的標志之一。計算機基礎普及教育的宣傳持續升溫,相關應用能力的考核形式多種多樣。從實際情況看,高校計算機基礎考試形式基本實現了無紙化[1]上機操作。但現行的無紙化考試系統暴露出一些缺陷,如:(1)雖然采用無紙化考試,但有些仍需人工方式閱卷評分;(2)有些考試系統雖能實現自動評分,但仍存在如下問題:首先,系統試題庫不能動態更新;其次,評分結果不能自動回收;再次,考試過程中出現的異常情況不能做到自動處理。現有的無紙化計算機基礎考試系統存在的上述問題,背離了無紙化考試的初衷。
2 計算機基礎考試系統的框架
 系統包括三部分:服務器端、教師客戶端和學生客戶端。
服務器端包括:(1)教師信息管理模塊,包括對教師信息的增加、修改、刪除和查詢操作;(2)回收考試成績模塊,負責從學生客戶端回收自動評分的成績;(3)數據備份模塊,完成數據庫數據的備份與恢復功能。
 教師客戶端包括:(1)考試信息管理模塊,包括設置考試班級、考試日期及時長、試卷組成及分值的分配等信息;(2)學生信息管理模塊,包括對學生基本信息的增加、修改、刪除和查詢操作;(3)試題維護模塊,包括對試題的增加、修改、刪除和查詢操作;(4)考試狀態管理,包括對學生未參加考試、正在考試和已經交卷三種狀態的管理,通過此模塊教師可以實時監控考生的考試狀態。
 學生客戶端包括:(1)試題下載模塊。當學生成功登錄考試系統,該模塊將相應的考試題下載到學生機;(2)自動評分模塊。當學生單擊“交卷”按鈕或當考試時間倒計時為零時,系統調用自動評分模塊對考生所做試題進行閱卷,并將最終評分結果發送到服務器端。
 系統結構圖如圖1所示。

3 關鍵技術
3.1 Office自動閱卷

 Microsoft office是微軟公司推出的辦公應用程序,目前被廣泛使用的版本是Microsoft office 2003和Microsoft office 2007。作為微軟公司推出的重量級開發語言,C#中提供了對大部分Office文件和應用的支持。下面以word 2003和excel 2003中對字體的設置為例介紹如何實現操作題的自動閱卷[2]功能。
 實例1:設置word文檔a.doc中第1段文字的字體為宋體。
 分析:從題目中提取有效信息。文檔:a.doc;段落:1;字體:宋體。
 首先,從考生目錄中打開a.doc,方法如下:
public static Microsoft.Office.Interop.Word.Application
start(string path)
{
 wapp=new Microsoft.Office.Interop.Word.Application();
 wapp.Visible=false;
 object filename=path;
 object isread=true;
 object isvisible=true;
 object miss=System.Reflection.Missing.Value;
 doc=wapp.Documents.Open(ref filename,ref miss,ref isread,ref miss,ref miss,ref miss,ref miss,ref miss,ref miss,ref miss,ref miss,ref isvisible,ref miss,ref miss, ref miss,ref miss);
  return wapp;
}
 其次,將考生設置的第1段的字體與“宋體”進行比較,成功給分,否則不給分。方法如下:
public static bool paragraphsValidataNameFarEast(int
paragraphs,string script)
{
  try
  {
   if (Doc.Paragraphs.Item(paragraphs).Range.Font.
NameFarEast==script)
 {
   return true;
 }
 else
 {
    return false;
  }
}
catch
{
    return false;
}
}
 實例2:設置excel工作簿b.xls中Sheet1工作表G3單元格的字體為楷體。
 分析:從題目中提取有效信息:文檔:b.xls;工作表:Sheet1;單元格:G3;字體:楷體。
 首先,從考生目錄中打開b.xls文檔,方法如下:
public static Microsoft.Office.Interop.Excel.Application
start(string path)
{
  try
  {
  xlApp=new Microsoft.Office.Interop.Excel.Application();
     xlApp.Visible=false;
     object filename=path;
     object isread=true;
     object isvisible=true;
     object Nothing=System.Reflection.Missing.Value;
     xlWorkBook=xlApp.Workbooks.Open(path,Nothing, Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing, Nothing,Nothing);
     return xlApp;
  }
  catch
  {
                
       eturn null;
  }
}
 其次,將考生設置的Sheet1工作表中G3單元格的字體與“楷體”進行比較,成功給分,否則不給分。方法如下:
public static bool judgeFontType(string fontType,int
rows,int column,string require)
{
  try
  {
     bool result=false;
   Microsoft.Office.Interop.Excel.Sheets sheets=xlApp.Worksheets;
    xlWorkSheet=(Worksheet)xlApp.Worksheets[require];
    Range rg=(Range)xlWorkSheet.Cells[rows,column];
    if(rg.Font.Name.ToString()==fontType)
    {
        result=true;

    }
    else
    {
       result=false;

     }
     return result;
   }
   catch
   {
                
        return false;
    }
 }
3.2 試題模板庫隨機組卷

 


 系統包含多套試題,每套試題包括Windows、Word和Excel 3個模塊的題目。生成試卷時可以按照成套試題進行選擇,這種方法優點是抽取速度快,缺點是不能控制試題選取,不夠靈活。
 為了靈活控制試題的選取也可以將試題打亂順序重新組卷。本系統的試題庫采用基于遺傳算法[3]的隨機組卷[4]方式。遺傳算法是一種模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型,通過模擬自然進化過程搜索最優解。其實現思路如下:從可能存在問題解集的一個種群開始,初始化種群后,按照優勝劣汰和適者生存的原理,逐代進化產生出越來越好的近似解。在每一代,根據問題域中個體的適應度大小選擇個體,并借助自然遺傳學的遺傳算子進行組合交叉和變異,產生出代表新的解集的種群。這個過程將產生更加適應于環境的后生代種群,末代種群中的最優個體經過解碼,作為問題近似最優解。
 基于遺傳算法的組卷流程圖如圖2所示。

 基于遺傳算法的試題組卷步驟如下:
 (1)隨機從試題庫中抽出一組試題,進行試題編碼;
 (2)生成初始群體;
 (3)判斷是否滿足終止條件,如果滿足則生成試卷并結束程序,否則轉(4);
 (4)采用輪盤選擇原理實現,并將個體復制到配對庫,以備配對繁殖;
 (5)按照一定的交換概率對配對庫中的個體進行隨機交叉配對形成新個體;
 (6)按照一定的變異概率對個體進行基因突變,產生新的個體;
 (7)完成以上選擇、交叉和變異步驟后,將配對庫中新產生的個體和原有的群體放在一起組合成新種群,轉(3)。
 在遺傳算法的實現過程中,編碼方法、適應度函數、遺傳算子、初始群體、群體大小和停止標準等都是影響算法效率的非常關鍵的因素。
4 系統實現
4.1 類依賴關系圖

 按照軟件復用原則和UML的設計思想,盡量使系統具有通用性和獨立性,降低類之間的耦合度和依賴性。采用面向對象的技術實現本系統,將各種問題細化為多個類,把系統設計原型分解為一系列類的對象。學生客戶端類之間的依賴關系如圖3所示。

4.2 場景實現
 考試系統設計了計算機基礎中3個常用模塊的基本操作,每個模塊的試題包含了該模塊的主要操作知識點。生成試卷的方式有兩種。一是按班級生成試卷,即考試時同一個班生成同一套試卷;二是按照考生學號生成試卷,即學號為單號的考生生成一套試卷,學號為雙號的考生生成另一套試卷。這保證相鄰考生所做的試題不同,有效防止考生在考試過程中相互商量抄襲。
 教師可以對試題進行修改。生成試卷的同時會在桌面上自動創建考試文件夾,考試過程中系統自動將操作結果保存在該文件夾。這樣既方便考生操作,又可有效避免因保存位置的錯誤導致零分的出現。
另外考試過程中,考生客戶端顯示考試剩余時間,考生可以靈活把握自己的時間。當時間倒計時為零時,系統提示考生時間到,考生不能繼續答題。此時,系統自動將考生的操作結果進行保存并進行后續的自動評分。
 本文對現有無紙化考試系統中存在的缺陷進行了分析,結合我校計算機基礎課程的教學現狀,設計了一套相對有效的計算機應用基礎考試系統。經過我校計算機基礎期末考試的實際應用,表明系統具有應用簡單、實用性強等特點,能夠節省大量時間和工作量。
參考文獻
[1] 郭新順,劉雪芬.無紙化考試系統研制[J].計算機應用與軟件,2005,22(8):131-133.
[2] 周艷麗.基于改進遺傳算法的自動組卷問題的研究[J].計算機仿真,2010(9):319-322.
[3] 孟朝霞.基于自適應免疫遺傳算法的智能組卷[J].計算機工程,2008,34(14):203-205.
[4] 朱劍冰,李戰懷,趙娜.基于混合遺傳算法的自動組卷問題的研究[J].計算機仿真,2009,26(5):328-331.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 伊人久久大香线蕉综合75| 国产精品午夜视频| 亚洲国产精品一区在线观看不卡| 国产欧美 在线欧美| 精品久久精品久久| 久久久久久艹| 国产一区高清视频| 一区二区三区在线视频看| 久久久亚洲国产| 色在人av网站天堂精品| 国产精品美女在线| 日韩美女在线观看一区| 欧美激情第三页| 日韩理论片在线观看| 国产日韩一区欧美| 欧美精品在线极品| 日韩av中文字幕第一页| wwwwww欧美| 欧美日韩精品在线一区二区| 久久精品亚洲精品| 久久久国产影院| 久久久神马电影| 国产在线精品日韩| 国产精品美女www| 一区中文字幕在线观看| 国产成人在线精品| 日韩在线观看精品| 韩国v欧美v日本v亚洲| 国产成人免费91av在线| 亚洲AV无码成人精品一区| 精品久久久久久无码中文野结衣 | 亚洲五码在线观看视频| 午夜精品久久久久久久久久久久久| 欧美日韩一区二区视频在线 | 欧美极品第一页| 国产精品九九久久久久久久| 国产成人a亚洲精品| 蜜桃视频成人在线观看| 99视频精品免费| 三级三级久久三级久久18| 国产精品久久久久久久久久久不卡|