第
1題: 假設(shè)某大型商業(yè)企業(yè)由商品配送中心和連鎖超市組成,其中商品配送中心包括采購、財務(wù)、配送等部門。為實現(xiàn)高效管理,設(shè)計了商品配送中心信息管理系統(tǒng),其主要功能描述如下:
1.系統(tǒng)接收由連鎖超市提出的供貨請求,并將其記錄到供貨請求記錄文件。
2.在接到供貨請求后,從商品庫存記錄文件中進行商品庫存信息查詢。如果庫存滿足供貨請求,則給配送處理發(fā)送配送通知:否則,向采購部門發(fā)出缺貨通知。
3.配送處理接到配送通知后,查詢供貨請求記錄文件,更新商品庫存記錄文件,并向配送部門發(fā)送配送單,在配送貨品的同時記錄配送信息至商品配送記錄文件。
4.采購部門接到缺貨通知后,與供貨商洽談,進行商品采購處理,合格商品入庫,并記錄采購清單至采購清單記錄文件、向配送處理發(fā)出配送通知,同時通知財務(wù)部門給供貨商支付貨款。
該系統(tǒng)采用結(jié)構(gòu)化方法進行開發(fā),得到待修改的數(shù)據(jù)流圖如下圖所示。

?【問題1】使用說明中的詞語,給出上圖中外部實體E1至E4的名稱和數(shù)據(jù)存儲D1至D4的名稱。
?【問題2】以上數(shù)據(jù)流圖中存在四處錯誤數(shù)據(jù)流,請指出各自的起點和終點;若將上述四條錯誤數(shù)據(jù)流刪除,為保證數(shù)據(jù)流圖的正確性,應(yīng)補充三條數(shù)據(jù)流,請給出所補充數(shù)據(jù)流的起點和終點。(起點和終點請采用上述數(shù)據(jù)流圖中的符號或名稱)
答案解析與討論:
m.xiexiliangjiufa.com/st/380776272.html第
3題: 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某銀行計劃開發(fā)一個自動存提款機模擬系統(tǒng)(ATM System)。系統(tǒng)通過讀卡器(CardReader)讀取 ATM 卡;系統(tǒng)與客戶(Customer)的交互由客戶控制臺(CustomerConsole)實現(xiàn);銀行操作員(Operator)可控制系統(tǒng)的啟動(System Startup)和停止(System Shutdown);系統(tǒng)通過網(wǎng)絡(luò)和銀行系統(tǒng)(Bank)實現(xiàn)通信。當讀卡器判斷用戶已將ATM卡插入后,創(chuàng)建會話(Session)。會話開始后,讀卡器進行讀卡,并要求客戶輸入個人驗證碼(PIN)。系統(tǒng)將卡號和個人驗證碼信息送到銀行系統(tǒng)進行驗證。驗證通過后,客戶可從菜單選擇如下事務(wù)(Transaction):
1. 從ATM卡賬戶取款(Withdraw);
2. 向ATM卡賬戶存款(Deposit);
3. 進行轉(zhuǎn)賬(Transfer);
4. 查詢(Inquire)ATM卡賬戶信息。
一次會話可以包含多個事務(wù),每個事務(wù)處理也會將卡號和個人驗證碼信息送到銀行系統(tǒng)進行驗證。若個人驗證碼錯誤,則轉(zhuǎn)個人驗證碼錯誤處理(Invalid PIN Process)。每個事務(wù)完成后,客戶可選擇繼續(xù)上述事務(wù)或退卡。選擇退卡時,系統(tǒng)彈出 ATM 卡,會話結(jié)束。系統(tǒng)采用面向?qū)ο蠓椒ㄩ_發(fā),使用 UML 進行建模。系統(tǒng)的頂層用例圖如圖 3-1 所示,一次會話的序列圖(不考慮驗證)如圖3-2所示。消息名稱參見表3-1。

【問題1】(7分)
根據(jù)【說明 】中的描述,給出圖 3-1 中 A1 和 A2 所對應(yīng)的參與者,U1 至 U3 所對應(yīng)的用例,以及該圖中空 (1) 所對應(yīng)的關(guān)系。(U1至U3的可選用例包括:Session、Transaction、Insert CarD.Invalid PIN Process和Transfer)
【問題2】(6分)
根據(jù)【說明 】中的描述,使用表3-1中的英文名稱,給出圖3-2中6~9對應(yīng)的消息。
【問題3】(2分)
解釋圖3-1中用例U3和用例Withdraw、Deposit等四個用例之間的關(guān)系及其內(nèi)涵。

答案解析與討論:
m.xiexiliangjiufa.com/st/380796383.html第
4題: 閱讀下列說明,回答問題1和問題2,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
現(xiàn)需在某城市中選擇一個社區(qū)建一個大型超市,使該城市的其它社區(qū)到該超市的距離總和最小。用圖模型表示該城市的地圖,其中頂點表示社區(qū),邊表示社區(qū)間的路線,邊上的權(quán)重表示該路線的長度?,F(xiàn)設(shè)計一個算法來找到該大型超市的最佳位置:即在給定圖中選擇一個頂點,使該頂點到其它各頂點的最短路徑之和最小。算法首先需要求出每個頂點到其它任一頂點的最短路徑,即需要計算任意兩個頂點之間的最短路徑;然后對每個頂點,計算其它各頂點到該頂點的最短路徑之和;最后,選擇最短路徑之和最小的頂點作為建大型超市的最佳位置。
【問題1】(12分)
本題采用Floyd-Warshall算法求解任意兩個頂點之間的最短路徑。 已知圖G 的頂點集合為V= {1,2,...,n } ,W= {Wij}n*n 為權(quán)重矩陣。設(shè) d (k)ij=為從頂點i到頂點 j的一條最短路徑的權(quán)重。當k = 0時,不存在中間頂點,因此d(0)ij=wij當k >0 時,該最短路徑上所有的中間頂點均屬于集合 {1,2, ..., k}若中間頂點包括頂點 k ,則d(k)ij=d(k-1)ik+d(k-1)kj若中間頂點不包括頂點則d(k-1)ij=d(k-1)i于是得到如下遞歸式

因為對于任意路徑,所有的中間頂點都在集合{1,2, ..., n} 內(nèi),因此矩陣D(n)={d(n)ij}n*n 給出了任意兩個頂點之間的最短路徑,即對所有i, j ∈V,d(n)ij表示頂點i到頂點 j的最短路徑。
下面是求解該問題的偽代碼,請?zhí)畛淦渲锌杖钡?(1)至(6)處。 偽代碼中的主要變量說明如下:
W:權(quán)重矩陣
n: 圖的頂點個數(shù)
SP:最短路徑權(quán)重之和數(shù)組,SP[i]表示頂點i到其它各頂點的最短路徑權(quán)重之和,i從1到n
min_SP:最小的最短路徑權(quán)重之和
min_v:具有最小的最短路徑權(quán)重之和的頂點
i:循環(huán)控制變量
j:循環(huán)控制變量
k:循環(huán)控制變量

【問題2】(3分)
【問題1】中偽代碼的時間復(fù)雜度為(7)用Ο 符號表示)。
答案解析與討論:
m.xiexiliangjiufa.com/st/380806315.html第
5題: 閱讀下列說明和C 函數(shù)代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
對二叉樹進行遍歷是二叉樹的一個基本運算。遍歷是指按某種策略訪問二叉樹的每個結(jié)點,且每個結(jié)點僅訪問一次的過程。函數(shù)InOrder()借助棧實現(xiàn)二叉樹的非遞歸中序遍歷運算。
設(shè)二叉樹采用二叉鏈表存儲,結(jié)點類型定義如下:
typedef struct BtNode{
ElemTypedata;/*結(jié)點的數(shù)據(jù)域,ElemType的具體定義省略*/
struct BtNode *lchild,*rchild;/*結(jié)點的左、右孩子指針域*/
}BtNode, *BTree;
在函數(shù)InOrder()中,用棧暫存二叉樹中各個結(jié)點的指針,并將棧表示為不含頭結(jié)點的單向鏈表(簡稱鏈棧),其結(jié)點類型定義如下:
typedef struct StNode{ /*鏈棧的結(jié)點類型*/
BTree elem; /*棧中的元素是指向二叉鏈表結(jié)點的指針*/
struct StNode *link;
}StNode;
假設(shè)從棧頂?shù)綏5椎脑貫?en、en-1、…、e1,則不含頭結(jié)點的鏈棧示意圖如圖 5-1所示。
【C函數(shù)】 
答案解析與討論:
m.xiexiliangjiufa.com/st/3808115165.html