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

?

在線題庫(kù)的一種便捷錄入方法及其實(shí)現(xiàn)

2014-09-26 20:09:02袁志
軟件工程 2014年9期

袁志

摘 要:研究一種在線題庫(kù)錄入問(wèn)題的便捷方法,讓教師通過(guò)復(fù)制粘貼加上簡(jiǎn)單編輯即可完成各類試題錄入,同時(shí)又能滿足答題習(xí)慣。關(guān)鍵途徑包括三個(gè)部分:一是利用正則表達(dá)式,根據(jù)文本內(nèi)容自動(dòng)判別題型;二是根據(jù)題型對(duì)原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換,生成包含表單的HTML段,為學(xué)生提供答題操作的接口;三是遠(yuǎn)程圖片的服務(wù)器端自動(dòng)存儲(chǔ)。用ASP.NET進(jìn)行了編程實(shí)現(xiàn),驗(yàn)證了可行性。

關(guān)鍵詞:在線題庫(kù);正則表達(dá)式;圖片本地化;ASP.NET

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言(Instruction)

Web題庫(kù)對(duì)教學(xué)的支撐作用是明顯的,對(duì)于在線題庫(kù)建設(shè)的技術(shù)討論,集中在數(shù)據(jù)庫(kù)設(shè)計(jì)與自動(dòng)組卷技術(shù)[1],試題錄入方法的討論沒(méi)有得到應(yīng)重視。然而題庫(kù)建設(shè)工作量很大,除了技術(shù)開(kāi)發(fā)之外,試題錄入也是繁重的工作。

題庫(kù)的主體用戶分為兩種角色:教師和學(xué)生。從學(xué)生的角度,有一些答題操作已經(jīng)形成習(xí)慣,比如:?jiǎn)芜x題使用單選按鈕,多選題使用復(fù)選按鈕,填空題在下劃線上方填寫字符,簡(jiǎn)答題在空白處填寫大段文本。為了滿足這些習(xí)慣,現(xiàn)有的做法是讓教師在錄入試題時(shí),對(duì)每一種題型進(jìn)行不同的錄入操作,比如為選擇題分若干步添加若干不同的選項(xiàng),為填空題插入表單控件等等,這些方法雖然從技術(shù)上是可行的,但教師的工作過(guò)程繁瑣,直接影響到了題庫(kù)建設(shè)的效率。

本文研究題庫(kù)的便捷錄入方法,使教師可以通過(guò)復(fù)制粘貼加簡(jiǎn)單的文本編輯即可完成題庫(kù)錄入,所有的題型錄入方法是一致的,不需要考慮題型之間的差異。為此要解決三個(gè)問(wèn)題關(guān)鍵問(wèn)題:

問(wèn)題一:題型的自動(dòng)判別問(wèn)題。對(duì)于一段文本,要從其內(nèi)容自動(dòng)判別其題型。

問(wèn)題二:答題樣式的自動(dòng)生成問(wèn)題。根據(jù)題型對(duì)文本進(jìn)行轉(zhuǎn)換,使之呈現(xiàn)為不同的答題操作視圖。

問(wèn)題三:圖片的服務(wù)器端自動(dòng)存儲(chǔ)問(wèn)題。復(fù)制粘貼的內(nèi)容可能包括遠(yuǎn)程圖片鏈接,鏈接的數(shù)據(jù)源要自動(dòng)存放到題庫(kù)服務(wù)器,使題庫(kù)系統(tǒng)離開(kāi)遠(yuǎn)程資源也可獨(dú)立運(yùn)行。

2 自動(dòng)判別題型(Automatic identification topic of

question)

正則表達(dá)式可用來(lái)處理有規(guī)律可循的字符串,在文獻(xiàn)元數(shù)據(jù)提取[2]、Web信息提取[3]等方面得到廣泛應(yīng)用,本文用正則表達(dá)式來(lái)進(jìn)行題型自動(dòng)識(shí)別。

本文只討論單選題和單項(xiàng)填空題,其余題型完全可以在此基礎(chǔ)上擴(kuò)展。不妨約定,在教師錄入試題時(shí),單選題必然存在A、B、C、D等四個(gè)選項(xiàng),填空題的待填部分用任意長(zhǎng)度的下劃線作為占位符。試題存放在數(shù)據(jù)庫(kù)中,為了避開(kāi)不同DBMS的技術(shù)細(xì)節(jié)差異,采用XML文件描述存儲(chǔ)格式:

<?xml version="1.0" encoding="gb2312"?>

計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于( )。

A.物理層 B.數(shù)據(jù)鏈路層 C.網(wǎng)絡(luò)層 D.傳輸層

在計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于_______層。

以上XML文件中,Lesson元素對(duì)應(yīng)課程,Category元素對(duì)應(yīng)知識(shí)點(diǎn),Problem元素對(duì)應(yīng)試題,Question元素對(duì)應(yīng)試題中的問(wèn)題,依次呈包含關(guān)系。Problem元素中除了Question元素之外,還可以包括難度系數(shù)、參考答案和問(wèn)題解析等等,本文只關(guān)注Question元素??梢钥吹?,題型是問(wèn)題文本隱式包含的,可以通過(guò)文本的規(guī)則來(lái)自動(dòng)判斷題型。

簡(jiǎn)單起見(jiàn),可以將上述兩種題型的正則表達(dá)式描述如下,這兩個(gè)表達(dá)式當(dāng)然可以寫的更為精確。

單選題的正則式:(.*)(A.*)(B.*)(C.*)(D.*)

填空題的正則式:(.*)(_{3,})(.*)

3 自動(dòng)生成答題界面(Automatic generation the UI

for answering)

根據(jù)自動(dòng)判斷所得的題型,在答題界面對(duì)Question部分生成HTML片段,其中包含的HTML表單控件用于提供答題操作接口。具體地說(shuō):?jiǎn)芜x題生成單選按鈕組,供學(xué)生選擇;填空題生成輸入框,供學(xué)生填寫答案。每個(gè)表單控件用ProblemID來(lái)標(biāo)記,使得提交答案與題號(hào)建立聯(lián)系,為后續(xù)技術(shù)處理提供方便。

兩種轉(zhuǎn)換分別由下面的兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)。

//選擇題文本轉(zhuǎn)換

string transfer2SelectionHtml(int problemID)

{

string question = ""; //取出question……略

string pattern = @"(.*)(A.*)(B.*)(C.*)(D.*)"; //正則表達(dá)式模式

//文本替換模式,生成一段問(wèn)題和一個(gè)單選按鈕組,其Name屬性等于ProblemID

//$1,$2,$3,$4,$5分別表示匹配的組

string replacement = string.Format(@"

$1

$2

$3endprint

$4

$5", problemID);

Regex regex = new Regex(pattern); //生成正則表達(dá)式

Match match= regex.Matches(question); //匹配

String result = match.Result(replacement); //轉(zhuǎn)換

return result;

}

//填空題文本轉(zhuǎn)換

string transfer2BlankHtml(int problemID)

{

string question = "";

string result = "";

string pattern = @"(.*)(_{3,})(.*)";

string replacement1 = string.Format(@"$1$3",probelmID);

Regex regex = new Regex(pattern);

MatchCollection matches = regex.Matches(question);

foreach (Match match in matches)

{

result = match.Result(replacement1);

}

return result;

}

4 遠(yuǎn)程圖片的自動(dòng)本地化(Automatic locationize

remote images)

在錄入試題時(shí),用戶經(jīng)常從其他網(wǎng)站中復(fù)制一段內(nèi)容粘貼,從HTML的角度來(lái)講,復(fù)制的內(nèi)容包括純文本和圖片鏈接地址。純文本保存到題庫(kù)服務(wù)器是沒(méi)有問(wèn)題的,而圖片鏈接地址保存到題庫(kù)服務(wù)器可能造成問(wèn)題,這是因?yàn)殒溄釉纯赡軙?huì)消失。因此,遠(yuǎn)程圖片應(yīng)該保存到題庫(kù)服務(wù)器。

人工操作方法是先將遠(yuǎn)程圖片下載到用戶主機(jī),然后再上傳到服務(wù)器,然后利用在線編輯工具編輯試題,在試題中加入服務(wù)器端的圖片鏈接,這種方法頗為費(fèi)時(shí)費(fèi)力。這里討論的是自動(dòng)存儲(chǔ)技術(shù)。

當(dāng)試題中包含了遠(yuǎn)程網(wǎng)站上的一個(gè)圖片鏈接時(shí),其Question元素必然包含類似以下的HTML段落,可以用正則表達(dá)式來(lái)捕獲。

我們所需要做的工作是:錄入的數(shù)據(jù)提交時(shí),由服務(wù)器端程序向鏈接源發(fā)送請(qǐng)求,將獲取的圖片數(shù)據(jù)保存到服務(wù)器的文件系統(tǒng)中,并對(duì)應(yīng)修改鏈接地址。核心函數(shù)如下:

void saveImage(string uri)

{

int index = uri.LastIndexOf("/");

string filename = Server.MapPath("/Files/") + uri.Substring(index + 1);

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);

req.Method = "GET";

using (WebResponse res = req.GetResponse())

{

byte[] buff = new byte[1024];

Stream r = res.GetResponseStream();

FileStream w = new FileStream(filename, FileMode.Create);

int byteCount = 0;

while ((byteCount = r.Read(buff, 0, buff.Length)) > 0)

{

w.Write(buff, 0, byteCount);

}

r.Close();

w.Close();

}

}

5 示例(Example)

我們開(kāi)發(fā)了一個(gè)“計(jì)算機(jī)軟件水平(資格)考試在線練習(xí)網(wǎng)站”,該網(wǎng)站的主要功能是題庫(kù)維護(hù)和在線練習(xí),在該網(wǎng)站中采用本文所述的方法,大大減小了題庫(kù)錄入的工作量。舉一個(gè)選擇題為例,從某網(wǎng)站復(fù)制2013年的網(wǎng)絡(luò)工程師考試的一道選擇題,錄入操作界面和答題界面如圖1和圖2。

圖1 試題錄入界面

Fig.1 The test question input interface

由圖1可以看出,對(duì)于一道單選題,在錄入的時(shí)候直接復(fù)制粘貼即可完成錄入操作,不必分項(xiàng)填寫待選項(xiàng)。

圖2 單選題的答題界面

Fig.2 The answer interface

由圖2可以看出,該選擇題的問(wèn)題文本自動(dòng)轉(zhuǎn)換為用戶的習(xí)慣答題方式,用單選按鈕來(lái)答題,其中的圖片源地址指向題庫(kù)服務(wù)器上圖片文件,不會(huì)因?yàn)樵季W(wǎng)站的變化而丟失。

6 結(jié)論(Conclusion)

本文敘述的題庫(kù)快捷錄入方法,使教師可以采用一致性的方法完成大多數(shù)類型的試題錄入,教師的操作只有復(fù)制粘貼加上簡(jiǎn)單的文本編輯,省去復(fù)雜的操作流程,大大提高了試題錄入效率。該方法所依賴的技術(shù),一是利用正則表達(dá)式對(duì)試題進(jìn)行匹配和轉(zhuǎn)換,將其轉(zhuǎn)換為HTML片段輸出到頁(yè)面,二是采用后臺(tái)自動(dòng)運(yùn)行的持久化技術(shù)實(shí)現(xiàn)圖片的服務(wù)器端存儲(chǔ)。

下一步要做的工作:試題錄入時(shí)常常有重復(fù)錄入的可能性,依靠人工檢索是比較困難的,計(jì)劃采用以編輯距離為度量的試題相似度檢查機(jī)制,進(jìn)一步提高題庫(kù)錄入的便利度。

參考文獻(xiàn)(References)

[1] 董園.在線考試系統(tǒng)中的題庫(kù)建設(shè)相關(guān)技術(shù)的研究[J].電子世

界,2013,17:112-115.

[2] 曹俊,萬(wàn)曉云,廖順保.基于正則表達(dá)式批量提取CNKI文獻(xiàn)元

數(shù)據(jù)技術(shù)探究[J].圖書(shū)情報(bào)工作,2010,10(19):111-114.

[3] 胡軍偉,秦奕青,張偉.正則表達(dá)式在Web信息抽取中的應(yīng)用

[J].北京信息科技大學(xué)學(xué)報(bào),2011,12(6):86-89.

作者簡(jiǎn)介:

袁 志(1971-),男,碩士,副教授.研究領(lǐng)域:網(wǎng)絡(luò)與信息

系統(tǒng).endprint

摘 要:研究一種在線題庫(kù)錄入問(wèn)題的便捷方法,讓教師通過(guò)復(fù)制粘貼加上簡(jiǎn)單編輯即可完成各類試題錄入,同時(shí)又能滿足答題習(xí)慣。關(guān)鍵途徑包括三個(gè)部分:一是利用正則表達(dá)式,根據(jù)文本內(nèi)容自動(dòng)判別題型;二是根據(jù)題型對(duì)原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換,生成包含表單的HTML段,為學(xué)生提供答題操作的接口;三是遠(yuǎn)程圖片的服務(wù)器端自動(dòng)存儲(chǔ)。用ASP.NET進(jìn)行了編程實(shí)現(xiàn),驗(yàn)證了可行性。

關(guān)鍵詞:在線題庫(kù);正則表達(dá)式;圖片本地化;ASP.NET

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言(Instruction)

Web題庫(kù)對(duì)教學(xué)的支撐作用是明顯的,對(duì)于在線題庫(kù)建設(shè)的技術(shù)討論,集中在數(shù)據(jù)庫(kù)設(shè)計(jì)與自動(dòng)組卷技術(shù)[1],試題錄入方法的討論沒(méi)有得到應(yīng)重視。然而題庫(kù)建設(shè)工作量很大,除了技術(shù)開(kāi)發(fā)之外,試題錄入也是繁重的工作。

題庫(kù)的主體用戶分為兩種角色:教師和學(xué)生。從學(xué)生的角度,有一些答題操作已經(jīng)形成習(xí)慣,比如:?jiǎn)芜x題使用單選按鈕,多選題使用復(fù)選按鈕,填空題在下劃線上方填寫字符,簡(jiǎn)答題在空白處填寫大段文本。為了滿足這些習(xí)慣,現(xiàn)有的做法是讓教師在錄入試題時(shí),對(duì)每一種題型進(jìn)行不同的錄入操作,比如為選擇題分若干步添加若干不同的選項(xiàng),為填空題插入表單控件等等,這些方法雖然從技術(shù)上是可行的,但教師的工作過(guò)程繁瑣,直接影響到了題庫(kù)建設(shè)的效率。

本文研究題庫(kù)的便捷錄入方法,使教師可以通過(guò)復(fù)制粘貼加簡(jiǎn)單的文本編輯即可完成題庫(kù)錄入,所有的題型錄入方法是一致的,不需要考慮題型之間的差異。為此要解決三個(gè)問(wèn)題關(guān)鍵問(wèn)題:

問(wèn)題一:題型的自動(dòng)判別問(wèn)題。對(duì)于一段文本,要從其內(nèi)容自動(dòng)判別其題型。

問(wèn)題二:答題樣式的自動(dòng)生成問(wèn)題。根據(jù)題型對(duì)文本進(jìn)行轉(zhuǎn)換,使之呈現(xiàn)為不同的答題操作視圖。

問(wèn)題三:圖片的服務(wù)器端自動(dòng)存儲(chǔ)問(wèn)題。復(fù)制粘貼的內(nèi)容可能包括遠(yuǎn)程圖片鏈接,鏈接的數(shù)據(jù)源要自動(dòng)存放到題庫(kù)服務(wù)器,使題庫(kù)系統(tǒng)離開(kāi)遠(yuǎn)程資源也可獨(dú)立運(yùn)行。

2 自動(dòng)判別題型(Automatic identification topic of

question)

正則表達(dá)式可用來(lái)處理有規(guī)律可循的字符串,在文獻(xiàn)元數(shù)據(jù)提取[2]、Web信息提取[3]等方面得到廣泛應(yīng)用,本文用正則表達(dá)式來(lái)進(jìn)行題型自動(dòng)識(shí)別。

本文只討論單選題和單項(xiàng)填空題,其余題型完全可以在此基礎(chǔ)上擴(kuò)展。不妨約定,在教師錄入試題時(shí),單選題必然存在A、B、C、D等四個(gè)選項(xiàng),填空題的待填部分用任意長(zhǎng)度的下劃線作為占位符。試題存放在數(shù)據(jù)庫(kù)中,為了避開(kāi)不同DBMS的技術(shù)細(xì)節(jié)差異,采用XML文件描述存儲(chǔ)格式:

<?xml version="1.0" encoding="gb2312"?>

計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于( )。

A.物理層 B.數(shù)據(jù)鏈路層 C.網(wǎng)絡(luò)層 D.傳輸層

在計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于_______層。

以上XML文件中,Lesson元素對(duì)應(yīng)課程,Category元素對(duì)應(yīng)知識(shí)點(diǎn),Problem元素對(duì)應(yīng)試題,Question元素對(duì)應(yīng)試題中的問(wèn)題,依次呈包含關(guān)系。Problem元素中除了Question元素之外,還可以包括難度系數(shù)、參考答案和問(wèn)題解析等等,本文只關(guān)注Question元素??梢钥吹?,題型是問(wèn)題文本隱式包含的,可以通過(guò)文本的規(guī)則來(lái)自動(dòng)判斷題型。

簡(jiǎn)單起見(jiàn),可以將上述兩種題型的正則表達(dá)式描述如下,這兩個(gè)表達(dá)式當(dāng)然可以寫的更為精確。

單選題的正則式:(.*)(A.*)(B.*)(C.*)(D.*)

填空題的正則式:(.*)(_{3,})(.*)

3 自動(dòng)生成答題界面(Automatic generation the UI

for answering)

根據(jù)自動(dòng)判斷所得的題型,在答題界面對(duì)Question部分生成HTML片段,其中包含的HTML表單控件用于提供答題操作接口。具體地說(shuō):?jiǎn)芜x題生成單選按鈕組,供學(xué)生選擇;填空題生成輸入框,供學(xué)生填寫答案。每個(gè)表單控件用ProblemID來(lái)標(biāo)記,使得提交答案與題號(hào)建立聯(lián)系,為后續(xù)技術(shù)處理提供方便。

兩種轉(zhuǎn)換分別由下面的兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)。

//選擇題文本轉(zhuǎn)換

string transfer2SelectionHtml(int problemID)

{

string question = ""; //取出question……略

string pattern = @"(.*)(A.*)(B.*)(C.*)(D.*)"; //正則表達(dá)式模式

//文本替換模式,生成一段問(wèn)題和一個(gè)單選按鈕組,其Name屬性等于ProblemID

//$1,$2,$3,$4,$5分別表示匹配的組

string replacement = string.Format(@"

$1

$2

$3endprint

摘 要:研究一種在線題庫(kù)錄入問(wèn)題的便捷方法,讓教師通過(guò)復(fù)制粘貼加上簡(jiǎn)單編輯即可完成各類試題錄入,同時(shí)又能滿足答題習(xí)慣。關(guān)鍵途徑包括三個(gè)部分:一是利用正則表達(dá)式,根據(jù)文本內(nèi)容自動(dòng)判別題型;二是根據(jù)題型對(duì)原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換,生成包含表單的HTML段,為學(xué)生提供答題操作的接口;三是遠(yuǎn)程圖片的服務(wù)器端自動(dòng)存儲(chǔ)。用ASP.NET進(jìn)行了編程實(shí)現(xiàn),驗(yàn)證了可行性。

關(guān)鍵詞:在線題庫(kù);正則表達(dá)式;圖片本地化;ASP.NET

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言(Instruction)

Web題庫(kù)對(duì)教學(xué)的支撐作用是明顯的,對(duì)于在線題庫(kù)建設(shè)的技術(shù)討論,集中在數(shù)據(jù)庫(kù)設(shè)計(jì)與自動(dòng)組卷技術(shù)[1],試題錄入方法的討論沒(méi)有得到應(yīng)重視。然而題庫(kù)建設(shè)工作量很大,除了技術(shù)開(kāi)發(fā)之外,試題錄入也是繁重的工作。

題庫(kù)的主體用戶分為兩種角色:教師和學(xué)生。從學(xué)生的角度,有一些答題操作已經(jīng)形成習(xí)慣,比如:?jiǎn)芜x題使用單選按鈕,多選題使用復(fù)選按鈕,填空題在下劃線上方填寫字符,簡(jiǎn)答題在空白處填寫大段文本。為了滿足這些習(xí)慣,現(xiàn)有的做法是讓教師在錄入試題時(shí),對(duì)每一種題型進(jìn)行不同的錄入操作,比如為選擇題分若干步添加若干不同的選項(xiàng),為填空題插入表單控件等等,這些方法雖然從技術(shù)上是可行的,但教師的工作過(guò)程繁瑣,直接影響到了題庫(kù)建設(shè)的效率。

本文研究題庫(kù)的便捷錄入方法,使教師可以通過(guò)復(fù)制粘貼加簡(jiǎn)單的文本編輯即可完成題庫(kù)錄入,所有的題型錄入方法是一致的,不需要考慮題型之間的差異。為此要解決三個(gè)問(wèn)題關(guān)鍵問(wèn)題:

問(wèn)題一:題型的自動(dòng)判別問(wèn)題。對(duì)于一段文本,要從其內(nèi)容自動(dòng)判別其題型。

問(wèn)題二:答題樣式的自動(dòng)生成問(wèn)題。根據(jù)題型對(duì)文本進(jìn)行轉(zhuǎn)換,使之呈現(xiàn)為不同的答題操作視圖。

問(wèn)題三:圖片的服務(wù)器端自動(dòng)存儲(chǔ)問(wèn)題。復(fù)制粘貼的內(nèi)容可能包括遠(yuǎn)程圖片鏈接,鏈接的數(shù)據(jù)源要自動(dòng)存放到題庫(kù)服務(wù)器,使題庫(kù)系統(tǒng)離開(kāi)遠(yuǎn)程資源也可獨(dú)立運(yùn)行。

2 自動(dòng)判別題型(Automatic identification topic of

question)

正則表達(dá)式可用來(lái)處理有規(guī)律可循的字符串,在文獻(xiàn)元數(shù)據(jù)提取[2]、Web信息提取[3]等方面得到廣泛應(yīng)用,本文用正則表達(dá)式來(lái)進(jìn)行題型自動(dòng)識(shí)別。

本文只討論單選題和單項(xiàng)填空題,其余題型完全可以在此基礎(chǔ)上擴(kuò)展。不妨約定,在教師錄入試題時(shí),單選題必然存在A、B、C、D等四個(gè)選項(xiàng),填空題的待填部分用任意長(zhǎng)度的下劃線作為占位符。試題存放在數(shù)據(jù)庫(kù)中,為了避開(kāi)不同DBMS的技術(shù)細(xì)節(jié)差異,采用XML文件描述存儲(chǔ)格式:

<?xml version="1.0" encoding="gb2312"?>

計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于( )。

A.物理層 B.數(shù)據(jù)鏈路層 C.網(wǎng)絡(luò)層 D.傳輸層

在計(jì)算機(jī)網(wǎng)絡(luò)的OSI參考模型中,負(fù)責(zé)端到端的數(shù)據(jù)傳輸控制的功能位于_______層。

以上XML文件中,Lesson元素對(duì)應(yīng)課程,Category元素對(duì)應(yīng)知識(shí)點(diǎn),Problem元素對(duì)應(yīng)試題,Question元素對(duì)應(yīng)試題中的問(wèn)題,依次呈包含關(guān)系。Problem元素中除了Question元素之外,還可以包括難度系數(shù)、參考答案和問(wèn)題解析等等,本文只關(guān)注Question元素??梢钥吹?,題型是問(wèn)題文本隱式包含的,可以通過(guò)文本的規(guī)則來(lái)自動(dòng)判斷題型。

簡(jiǎn)單起見(jiàn),可以將上述兩種題型的正則表達(dá)式描述如下,這兩個(gè)表達(dá)式當(dāng)然可以寫的更為精確。

單選題的正則式:(.*)(A.*)(B.*)(C.*)(D.*)

填空題的正則式:(.*)(_{3,})(.*)

3 自動(dòng)生成答題界面(Automatic generation the UI

for answering)

根據(jù)自動(dòng)判斷所得的題型,在答題界面對(duì)Question部分生成HTML片段,其中包含的HTML表單控件用于提供答題操作接口。具體地說(shuō):?jiǎn)芜x題生成單選按鈕組,供學(xué)生選擇;填空題生成輸入框,供學(xué)生填寫答案。每個(gè)表單控件用ProblemID來(lái)標(biāo)記,使得提交答案與題號(hào)建立聯(lián)系,為后續(xù)技術(shù)處理提供方便。

兩種轉(zhuǎn)換分別由下面的兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)。

//選擇題文本轉(zhuǎn)換

string transfer2SelectionHtml(int problemID)

{

string question = ""; //取出question……略

string pattern = @"(.*)(A.*)(B.*)(C.*)(D.*)"; //正則表達(dá)式模式

//文本替換模式,生成一段問(wèn)題和一個(gè)單選按鈕組,其Name屬性等于ProblemID

//$1,$2,$3,$4,$5分別表示匹配的組

string replacement = string.Format(@"

$1

$2

$3endprint

谢通门县| 兴安县| 康平县| 广昌县| 屏山县| 大石桥市| 湟源县| 平武县| 东台市| 米林县| 富阳市| 高要市| 寻甸| 蓝山县| 军事| 芜湖县| 定边县| 且末县| 南涧| 贡觉县| 民乐县| 都安| 门头沟区| 汉沽区| 咸阳市| 蓝山县| 邹平县| 逊克县| 孝义市| 甘洛县| 寻乌县| 天水市| 防城港市| 闵行区| 云安县| 融水| 嵊州市| 贵州省| 吐鲁番市| 葫芦岛市| 闽侯县|