摘要:簡(jiǎn)要介紹了authorware、數(shù)據(jù)庫(kù)的設(shè)計(jì)及authorware通過(guò)odbc與數(shù)據(jù)庫(kù)的連接。通過(guò)authorware程序文件中的一些圖標(biāo)和sql命令,較詳細(xì)地介紹了題庫(kù)功能:系統(tǒng)自動(dòng)判斷新老用戶、隨機(jī)抽題、即時(shí)判對(duì)、保存用戶做題信息。
0 引 言
多媒體應(yīng)用程序設(shè)計(jì)軟件authorware提供了讓用戶將各種圖標(biāo)拖至主流線上釋放的可視化編程方式,它具有加載聲音、插入圖片的強(qiáng)大功能。與用戶靈活多變的交互作用是它最大的特點(diǎn)。它非常適于設(shè)計(jì)cai軟件。
用authorware設(shè)計(jì)的cai軟件系統(tǒng)如果包含有一個(gè)多媒體題庫(kù),以用于及時(shí)檢查學(xué)生利用cai軟件學(xué)習(xí)的效果,則系統(tǒng)功能更加完善。
用authorware設(shè)計(jì)多媒體題庫(kù)有兩種途徑。一是用txt文本文件,讓每一題成為一個(gè)txt文件,二是使用數(shù)據(jù)庫(kù),authorware通過(guò)microsoft odbc及標(biāo)準(zhǔn)的sql(structured query language)語(yǔ)言共同存取題庫(kù)。用后一種方法設(shè)計(jì)的多媒體題庫(kù),既有多媒體控制功能,又有數(shù)據(jù)庫(kù)管理功能。這正是本文介紹的方法。
1 設(shè)計(jì)數(shù)據(jù)庫(kù)
題目類型可以是選擇題、判斷題、填空題等。本文以選擇題為例。
使用visual foxpro設(shè)計(jì)數(shù)據(jù)庫(kù)ba。ba有四個(gè)表,表名分別為1、2、3、用戶。表1、表2、表3分別存放難度不同的初級(jí)選擇題、中級(jí)選擇題、高級(jí)選擇題。它們都有8個(gè)字段,分別為題號(hào)(整型、主碼)、題目(字符型)、選中標(biāo)志(整型)、選項(xiàng)a(以下均為字符型)、選項(xiàng)b、選項(xiàng)c、選項(xiàng)d、答案。當(dāng)然,加入一個(gè)題目級(jí)別字段,可將表1、表2、表3合為一個(gè)表,但系統(tǒng)抽題的時(shí)間延長(zhǎng)。用戶表有五個(gè)字段,分別為編號(hào)(整型、主碼)、姓名(字符型)、題目級(jí)別(整型)、分?jǐn)?shù)(整型)、日期(字符型)。
2 通過(guò)odbc與數(shù)據(jù)庫(kù)連接
odbc(open database connectivity)即開放式數(shù)據(jù)庫(kù)連結(jié)性。
authorware與數(shù)據(jù)庫(kù)連接需要odbc用戶代碼文件(odbc ucd)與所連數(shù)據(jù)庫(kù)的odbc驅(qū)動(dòng)程序(odbc driver)。odbc ucd包含三個(gè)函數(shù),即odbcopen、odbcexecute、odbcclose。在計(jì)算圖標(biāo)中使用這三個(gè)函數(shù)。odbcopen打開使用的數(shù)據(jù)庫(kù),odbcexecute完成對(duì)數(shù)據(jù)庫(kù)的操作,odbcclose將數(shù)據(jù)庫(kù)關(guān)閉。
先雙擊我的電腦,再雙擊控制面板,接著雙擊32位odbc,則打開了odbc數(shù)據(jù)源管理器窗口。單擊添加按鈕,選擇microsoft visual foxpro driver,單擊完成按鈕,在出現(xiàn)的odbc visual foxpro setup窗口(如圖1中),在data source name后輸入數(shù)據(jù)源名字wwx,單擊browse,找到數(shù)據(jù)庫(kù)ba(c:\wwx\ba.dbc),單擊ok。
圖1 odbc visual foxpro setup窗口圖
3 介紹多媒體題庫(kù)功能
3.1 系統(tǒng)自動(dòng)判斷新老用戶
系統(tǒng)先讓用戶輸入自己的姓名,保存在name中。系統(tǒng)再?gòu)挠脩舯碇凶x信息,存放在no、person、string中。變量name為字符型,它寫在sql語(yǔ)句中時(shí),應(yīng)在其左右對(duì)稱地加單引號(hào)(’)、雙引號(hào)(")、連接運(yùn)算符(^)。
若person=0,是新用戶,將用戶表中的記錄條數(shù)加1,作為新用戶的編號(hào)。并選擇初級(jí)選擇題(level:=1)給新用戶做。
圖2 多媒體題庫(kù)功能框圖
若person≠0,就顯示no給用戶看,并詢問(wèn)用戶有無(wú)屬于自己的記錄。若用戶回答無(wú),就再問(wèn)一次,以避免用戶的誤操作。若用戶回答有,就讓用戶輸入從no中選擇的編號(hào),并存放在number中,接著判斷number是否包含在string中。
若用戶輸入的編號(hào)確實(shí)在string中,是老用戶。系統(tǒng)從用戶表中讀出該老用戶上次做題的有關(guān)信息,并由此決定這次該使用的選擇題表(level值)。計(jì)算圖標(biāo)“老用戶”中,出現(xiàn)了“number”,因?yàn)閚umber是一個(gè)數(shù)值型的變量。
3.2 隨機(jī)抽題
先讀出level表中的記錄條數(shù),賦給n,并將level表中各記錄的選中標(biāo)志置0。產(chǎn)生的隨機(jī)數(shù)r是1,2,3,…,n中的任一個(gè)。
接著檢查題號(hào)為r的記錄的選中標(biāo)志是否為0。其mark=1,說(shuō)明用戶已做過(guò)此題,需重新產(chǎn)生隨機(jī)數(shù)。若mark=0,則從level表中讀出題號(hào)為r的記錄的各字段,分別賦給problem、a、b、c、d、k。
圖3 判斷新老用戶框圖
圖4 新用戶窗口
圖5 老用戶1窗口
圖6 老用戶窗口
圖7 準(zhǔn)備工作窗口
圖8 隨機(jī)抽題窗口
圖9 做選擇題窗口
3.3 即時(shí)判對(duì)
在交互圖標(biāo)?中顯示problem、a、b、c、d,讓用戶選擇a、b、c、d四個(gè)按鈕中的一個(gè),映射圖標(biāo)a、b、c、d的內(nèi)容相似。若用戶按了按鈕c,則比較c與k(答案),并在“顯示對(duì)錯(cuò)”圖標(biāo)中即時(shí)顯示出比較的結(jié)果。
做某一題時(shí),用戶可多次更改自己的選擇答案。做題過(guò)程中,用戶還可隨時(shí)查看自己做對(duì)的題目總數(shù)等信息。
3.4 保存用戶做題信息
如果用戶不想做題,可按退出按鈕。在退出之前,系統(tǒng)將保存用戶此次做題的題目級(jí)別、分?jǐn)?shù)、日期。對(duì)新用戶,需插入一條新記錄到用戶表中,對(duì)老用戶,只需更改編號(hào)為number的記錄。
4 結(jié)束語(yǔ)
可以較容易地?cái)U(kuò)充上述多媒體題庫(kù)的功能。如讓學(xué)生選擇不同章節(jié)、不同內(nèi)容的題做,讓教師按自己的要求組卷等。
當(dāng)然,還可充分利用authorware的強(qiáng)大功能,設(shè)計(jì)出各具特色的多媒體題庫(kù)。例如,在多媒體外語(yǔ)類題庫(kù)中,可多加載聲音。
圖10 記載做題情況窗口
參考文獻(xiàn):
[1]馬驍,王兢. 精通authorware 4.0[m]. 北京:宇航出版社,1998.
新聞熱點(diǎn)
疑難解答