●試題4
閱讀下列說明和有關(guān)的圖表,回答問題1至問題3,將解答填人答題紙的對應(yīng)欄內(nèi)。
【說明】
A市車站有如下自動售票系統(tǒng):
(1)乘客能按以下三步操作購票:選定目的地;投人錢幣;獲得一張票;
(2)當(dāng)且僅當(dāng)乘客選定目的地后,系統(tǒng)才接收投錢,每次投入的錢只購買一張票;
(3)只要投入的錢不少于所需的票價,且票庫中有所要求的票,則應(yīng)盡快出票;
(4)如需找錢,則在出票的同時應(yīng)退還多余的錢;
(5)如果乘客投入的錢不夠票價,或者票庫中沒有所要求的票時,系統(tǒng)將全額退錢,并允許乘客另選目的地,繼續(xù)購票;
(6)出票前乘客可以按“取消”按鈕取消購票,系統(tǒng)將全額退出該乘客投入的錢,并允許乘客另選目的地,繼續(xù)購票;
(7)出票結(jié)束(包括退還多余的錢)后,系統(tǒng)應(yīng)保存銷售記錄,并等待乘客購票。
該系統(tǒng)還要求快速響應(yīng)和操作同步,所以它應(yīng)是一個實時系統(tǒng)。為此,該系統(tǒng)的數(shù)據(jù)流程圖中附加了過程控制部分,形成轉(zhuǎn)換圖。在該圖中,控制流(事件流)用較暗線表示,數(shù)據(jù)流用實線表示。圖中的數(shù)據(jù)流并沒有畫全,需要考生填補。轉(zhuǎn)換圖如6.10圖所示。
對售票全過程進行的控制可以用系統(tǒng)內(nèi)部各個狀態(tài)之間的遷移來描述,從而形成狀態(tài)遷移圖。在狀態(tài)遷移圖中,用雙線框表示狀態(tài),用有向邊表示狀態(tài)的遷移。引起狀態(tài)遷移的事件以及由該事件引起的動作,在有向邊旁用“事件/動作”形式注明。狀態(tài)遷移圖如6.11圖。
該系統(tǒng)還有一個過程啟動表,用以表明狀態(tài)遷移圖中的4個動作與轉(zhuǎn)換圖中的4個過程之間的“啟動”關(guān)系,即說明哪個動作將啟動哪個過程。用1表示啟動,用0表示不啟動。啟動的過程將根據(jù)獲得的輸人數(shù)據(jù)產(chǎn)生輸出數(shù)據(jù),未啟動的過程則不會產(chǎn)生輸出數(shù)據(jù)。該表中沒有列出的過程,其執(zhí)行與否與事件無關(guān)。過程啟動表如下:
表6.1
接收目的地 | 接收錢 | 出票 | 退還錢 | |
接收錢 | 0 | 1 | 0 | 0 |
出票 | 0 | 0 | 1 | 1 |
退錢 | D | |||
接收新目的地 | E |
轉(zhuǎn)換圖中缺少哪三條數(shù)據(jù)流?請指明每條數(shù)據(jù)流的名稱、起點和終點。
【問題2】
在狀態(tài)遷移圖中,a,b,c分別表示什么事件?請用轉(zhuǎn)換圖中給出的事件名解答。
【問題3】
在過程啟動表中,d,e處應(yīng)填什么?請分別用4位二進制碼表示。
【問題1】答案:
缺少的三條數(shù)據(jù)流是:
數(shù)據(jù)流1.目的地:起點:“接收目的地”;終點:“核查”
數(shù)據(jù)流2.投入的錢:起點:“接收錢”;終點:“核查”
數(shù)據(jù)流3.剩余的錢:起點:“核查”;終點:“退還錢”
解析:乘客選擇目的地需要經(jīng)過系統(tǒng)的驗證,以確定此目的地是否合法。因此缺少數(shù)據(jù)流1;轉(zhuǎn)換圖中只給出了全額退還乘客錢的情況,而沒有給出在其他情況下系統(tǒng)核查和退錢的數(shù)據(jù)流。因此缺少兩條數(shù)據(jù)流,即答案中 數(shù)據(jù)流2和數(shù)據(jù)流3。
[問題2]答案:
a:“取消”操作
b:核查正確
c:出票結(jié)束
解析:乘客按以下三步操作購票:選定目的地;投入錢幣;獲得一張票;因此b應(yīng)該是核查正確,c應(yīng)該是出票結(jié)束:從“正在接收投錢”狀態(tài)遷移到“正在等待選擇目的地”,應(yīng)該是乘客取消了購票活動,因此a是“取消”操作。
【問題3】答案:
d:1001
e:1000
解析:對手動作“退錢”,必須要啟動“退還錢”進程,根據(jù)狀態(tài)遷移圖!巴隋X”動作結(jié)束后,系統(tǒng)會回到狀態(tài)“正在等待選擇目的地”,因此還應(yīng)該啟動“接收目的地”進程,因此d應(yīng)該是1001。對于動作“接收新目的地”,必須要啟動“接收目的地”進程。因此e應(yīng)該1000。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |