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

《C語言程序設計》課程自動評分系統綜述

2015-03-24 03:59:57韋立梅張淑榮
電腦與電信 2015年10期
關鍵詞:程序數據庫方法

韋立梅 張淑榮

(廣東白云學院電氣與信息工程學院,廣東 廣州 510450)

《C語言程序設計》課程自動評分系統綜述

韋立梅 張淑榮

(廣東白云學院電氣與信息工程學院,廣東 廣州 510450)

C語言是國際上廣泛流行的計算機高級程序設計語言,也是我校計算機、電子、自動化、機電等相關專業的一門必修課。開發一個合理的C語言程序設計課程自動評分系統,可以節省教師大量的改卷時間,實現無紙化考試,從而可以將自動評分系統推廣到其它課程中。

C語言程序設計;自動評分系統

1 C語言簡介

C語言是1972年由美國貝爾研究所的D.M.Ritchie提出的。它既具有高級語言的特點,又具有匯編語言的特點。因此可用它開發系統程序,也可以用來編寫應用軟件。C語言具備很強的數據處理能力,是世界上應用最廣泛的計算機語言之一。C語言一共有37個關鍵字、9種控制語句、34種運算符、豐富的數據類型,能用來實現各種復雜的數據結構的運算,尤其是指針類型數據,使用靈活,提高程序效率;用C語言較易實現程序的模塊化、結構化設計,生成的目標代碼質量高,程序執行效率高;可移植性好,幾乎在所有的計算機系統中都可以使用C語言。

2 系統開發工具

自動評分系統的開發工具是采用Visual Basic語言與C語言相結合,其中主體程序與界面均由Visual Basic語言實現,對編程題的評分算法(詞法分析、語法分析等)則采用C語言編寫。

3 關鍵技術簡介

3.1 Visual Basic數據庫編程技術

(1)Visual Basic的數據庫對象

Visual Basic訪問數據庫常用三種方法,它們分別是:數據訪問對象(DAO)、遠程數據對象(RDO)和ActiveX(ADO)。

DAO數據訪問對象。Visual Basic把DAO模型封裝在Data控件,分別設置相應的DatabaseName屬性和Recordsoucre屬性就可以將Data控件與數據庫中的記錄源連接起來,以后就可以使用Data控件來對數據庫進行操作。因此DAO最適用于單系統應用程序或在本地分布使用。RDO是Visual Basic訪問關系型ODBC數據源的最佳界面接口,這種方法也集成于Visual Basic中。Active Data Objects(ADO)作為另一種可供選擇的技術出現,正在逐漸代替其他數據訪問接口。ADO“擴展”了DAO和RDO所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法(和參數),以及事件。ADO是獨立于開發工具和開發語言的簡單而且容易使用的數據接口,所有的數據源都可以通過ADO來訪問。

(2)數據綁定控件

連接好數據庫后,還需要用數據綁定控件將數據源對象顯示出來,然后才能對后臺中的數據信息進行編輯和查詢等數據處理操作。常用的數據綁定控件有文本框、組合框等標準控件及數據列表(DataList)、數據網格(DataGrid)等ActiveX控件。數據綁定控件有兩個標準的屬性:Datasource和DataField屬性。Datasource屬性用于設置數據源,DataField屬性用來設置數據庫字段的名稱。

3.2 Visual Basic中調用API函數

Application Programming Interface,簡稱API函數,是Windows操作系統提供的函數,可以實現對應用程序的控制。要調用API函數,必須先在Visual Basic中用Declare語句聲明。可借助于Visual Basic提供的應用程序“API文本查看器”,正確地聲明與使用API函數。

3.3 TCC行編輯命令的使用

除了使用集成開發環境之外,也可以用傳統的命令行界面來運行Turbo C程序,TCC命令可以以命令行的方式編譯C源文件,將它們連接成可執行文件。可在其它程序中將TCC作為外部程序調用,實現以命令行方式編譯連接C源程序。

除以上幾點外,系統還涉及到了編譯原理中的詞法分析及語法分析方法。

4 編程題自動評分流程

對于編程題進行自動評卷,較復雜,因此本文重點介紹該題型自動評分功能的實現方法。

由于本文針對的是非計算機專業的C語言課程,學生普遍剛剛接觸程序設計,造成惡意代碼的概率較低,再結合C語言程序結構、語法特點,對編程題評分主要采用結果、靜態評分與動態評分相結合的方法,具體步驟如下:

(1)結果對比

檢查指定的結果文件是否存在,若存在則與標準答案文件進行對比,與標準答案文件內容完全相同,則說明結果正確,得滿分,否則轉去靜態評閱,若無結果文件,執行動態評分。

(2)基于可執行文件的動態評分

對考生源程序進行編譯連接,若生成可執行文件成功,則運行考生程序,用預先定義的測試數據集中的各組測試數據作為輸入值,進行測試,比較運行結果和期望結果,并通過比較結果評定學生程序的分數。若生成失敗,說明考生程序存在語法錯誤,轉入以下過程繼續處理:

1)對考生源程序進行詞法分析。掃描源程序,將其轉化為特定格式的TOKEN串,存入TOKEN文件;

2)根據詞法分析的結果,即TOKEN文件,進行語法分析,詳細指出程序中存在的語法錯誤,生成錯誤文件,在保證不對考生程序正確部分產生破壞的前提下,盡最大可能將考生程序修改正確,生成修改后的TOKEN文件;

3)調用轉換程序將修改后的TOKEN文件重新生成為C語言源程序,其與考生源程序的名字不同,稱其為新生成源程序;

4)調用TCC程序以命令行方式對新生成源程序進行編譯連接;

5)編譯連接成功,運行新源程序的執行文件,并調用API函數控制程序運行,以防由于死鎖的發生導致系統崩潰;編譯失敗則退出動態評閱過程,改用靜態評閱;

6)對新生成源程序的運行結果進行檢測,若有結果,則轉去進行結果比較,若無結果則轉去進行靜態評閱。

(3)基于程序代碼的靜態評分

與動態評分相比,代碼靜態評分不需要運行學生的程序,因此不用考慮對系統安全性的影響,作為編程題評分的必要環節,代碼靜態檢查對于可執行和不可執行的程序都適用。代碼靜態檢查分為軟件質量度量方法和源程序分析比較方法。軟件質量度量方法主要是對程序的常量、變量和關鍵字等內容進行分析后,根據匹配程度給出分數。源程序分析比較方法主要是通過將學生源程序和標準程序進行匹配,該方法依賴于標準答案的數據集,根據模板最為匹配的答案與學生源程序進行對比,根據匹配程度給出評分。源程序分析比較方法主要采用的是基于結構度量的技術。從程序設計題題庫文件中讀取該試題的關鍵語句,對考生程序進行檢測,根據檢測出的考生程序中的關鍵語句的條數,判斷程序的邏輯合理性,給出相應分值。

5 結束語

目前,利用計算機對學校各門課程考試試題庫進行管理、組卷、測試、評分系統的開發與使用,已成為各個院校教學改革的重點內容之一。限于篇幅,本文只重點介紹編程題目的自動評分方法的實現。

[1]赫伽寧.結合動態測試與靜態分析的編程題自動評分方法研究[D].哈爾濱工業大學,2008.

[2]譚浩強.C語言程序設計[M].北京:清華大學出版社,2004.

[3]王春霞.自動閱卷系統的開發[J].鹽城工學院學報,2002(15).

[4]郭琦.Visual Basic數據庫系統開發技術[M].北京:人民郵電出版社,2003.

Overview of the Automatic Scoring System of C Language Programming Design

Wei LiMeiZhang ShuRong
(College of Electrical and Information Engineering,Guangdong Baiyun University,Guangzhou 510450,Guangdong)

C programming language is the international popular advanced computer programming language.It is also a compulsory course for computer,electronics,automation,mechatronics and other related majors in our school.This paper develops a reasonable automatic scoring system for C language programming design,which can save a lot of time for teachers and realize the paperless examination,so that the automatic scoring system can be extended to other courses.

C language programming design;automatic scoring system

G434

A

1008-6609(2015)10-0072-02

韋立梅,女,遼寧凌源人,碩士,講師,研究方向:數據庫應用系統開發、多媒體技術。

猜你喜歡
程序數據庫方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 激情午夜婷婷| 国产综合另类小说色区色噜噜| 亚洲伦理一区二区| 久久人体视频| 经典三级久久| 五月天久久综合国产一区二区| 直接黄91麻豆网站| 爱色欧美亚洲综合图区| av色爱 天堂网| 人人澡人人爽欧美一区| 欧美精品v日韩精品v国产精品| 亚洲久悠悠色悠在线播放| 91网在线| 青青操视频在线| 精品午夜国产福利观看| 成人免费视频一区| 亚洲视屏在线观看| 免费午夜无码18禁无码影院| 亚洲av无码人妻| 国产一级α片| 国产精品自在在线午夜区app| 5388国产亚洲欧美在线观看| 国产国拍精品视频免费看| 国产激爽大片高清在线观看| 国产丝袜无码一区二区视频| 欧美亚洲一二三区| 麻豆AV网站免费进入| 欧美成人日韩| 波多野结衣二区| 农村乱人伦一区二区| 亚洲日韩精品无码专区97| 亚洲精品男人天堂| 亚洲无码日韩一区| 香蕉久人久人青草青草| 一本一道波多野结衣一区二区| 男人天堂亚洲天堂| 午夜欧美在线| 男人天堂亚洲天堂| 色色中文字幕| 一本大道东京热无码av| 亚洲AV无码精品无码久久蜜桃| 国产中文一区a级毛片视频| 无码电影在线观看| 日本午夜精品一本在线观看| 美女免费黄网站| 亚洲无线一二三四区男男| 精品国产一区二区三区在线观看| 国产不卡一级毛片视频| 国产精品网址你懂的| 情侣午夜国产在线一区无码| 国产网站在线看| 精品国产电影久久九九| 国产成人精品18| 国产精品一区在线观看你懂的| 91精品人妻互换| 亚洲欧美在线综合一区二区三区| 强奷白丝美女在线观看| 中文字幕欧美日韩| 精品国产黑色丝袜高跟鞋| 亚洲一区精品视频在线| 日韩成人高清无码| 成人免费一级片| 免费高清a毛片| 久久久久久久97| 青青青草国产| 国产成人久久综合一区| 精品国产免费第一区二区三区日韩| 久久午夜夜伦鲁鲁片无码免费| 91成人在线免费观看| 茄子视频毛片免费观看| 中文字幕亚洲精品2页| 青草精品视频| 思思热在线视频精品| 国产AV毛片| 欧美日韩亚洲国产主播第一区| 亚洲精品无码AⅤ片青青在线观看| 久草热视频在线| 在线观看欧美国产| 五月丁香在线视频| 一级香蕉视频在线观看| 国产美女91呻吟求| 欧美日韩v|