第
2題:
閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某醫(yī)院擬開發(fā)一套住院病人信息管理系統(tǒng),以方便對住院病人、醫(yī)生、護(hù)士和手術(shù)等信息進(jìn)行管理。
【需求分析】
(1)系統(tǒng)登記每個(gè)病人的住院信息,包括:病案號、病人的姓名、性別、地址、身份證號、電話號碼、入院時(shí)問及病床等信息,每個(gè)病床有唯一所屬的病區(qū)及病房,如表2-1所示。其中病案號唯一標(biāo)識(shí)病人本次住院的信息。
表2-1 住院登記表
病案號 | 071002286 | 姓名 | 張三 | 性別 | 男 |
省份證號 | 0102196701011234 | 入院時(shí)間 | 2011-03-03 | 病床號 | 052401 |
病房 | 0524室 | 病房類型 | 三人間 | 所屬病區(qū) | 05II區(qū) |
(2)在一個(gè)病人的一次住院期間,由一名醫(yī)生對該病人的病情進(jìn)行診斷,并填寫一份診斷書,如表2-2所示。對于需要進(jìn)行一次或多次手術(shù)的病人,系統(tǒng)記錄手術(shù)名稱、手術(shù)室、手術(shù)日期、手術(shù)時(shí)間、主刀醫(yī)生及多名協(xié)助醫(yī)生,每名醫(yī)生在手術(shù)中的責(zé)任不同,如表2-3所示,其中手術(shù)室包含手術(shù)室號、樓層、地點(diǎn)和類型等信息。
表2-2 診斷書
表2-3 手術(shù)安排表
(3)護(hù)士分為兩類:病床護(hù)士和手術(shù)室護(hù)士。每個(gè)病床護(hù)士負(fù)責(zé)護(hù)理一個(gè)病區(qū)內(nèi)的所有病人,每個(gè)病區(qū)由多名護(hù)士負(fù)責(zé)護(hù)理。手術(shù)室護(hù)士負(fù)責(zé)手術(shù)室的護(hù)理工作。每個(gè)手術(shù)室護(hù)士負(fù)責(zé)多個(gè)手術(shù)室,每個(gè)手術(shù)室由多名護(hù)士負(fù)責(zé),每個(gè)護(hù)士在手術(shù)室中有不同的責(zé)任,并由系統(tǒng)記錄其責(zé)任。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。
【邏輯結(jié)構(gòu)設(shè)計(jì)】
根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):
病床(病床號,病房,病房類型,所屬病區(qū))
護(hù)士(護(hù)士編號,姓名,類型,性別,級別)
病房護(hù)士( (1) )
手術(shù)室(手術(shù)室號,樓層,地點(diǎn),類型)
手術(shù)室護(hù)士( (2) )
病人( (3),姓名,性別,地址,身份證號,電話號碼,入院時(shí)間)
醫(yī)生(醫(yī)生編號,姓名,性別,職稱,所屬科室)
診斷書( (4),診斷,診斷時(shí)間)
手術(shù)安排(病案號,手術(shù)室號,手術(shù)時(shí)間,手術(shù)名稱)
手術(shù)醫(yī)生安排( (5) ,醫(yī)生責(zé)任)
【問題1】(6分)
補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系的類型。
【問題2】(5分)
根據(jù)圖2-1,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生成的關(guān)系模式中的空(1)~(5)補(bǔ)充完整,并用下劃線指出主鍵。
【問題3】(4分)
如果系統(tǒng)還需要記錄醫(yī)生給病人的用藥情況,即記錄醫(yī)生給病人所開處方中藥品的名稱、用量、價(jià)格、藥品的生產(chǎn)廠家等信息。請根據(jù)該要求,對圖2-1進(jìn)行修改,畫出補(bǔ)充后的實(shí)體、實(shí)體間聯(lián)系和聯(lián)系的類型。
答案解析與討論:
m.xiexiliangjiufa.com/st/3811612462.html第
3題: 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某網(wǎng)上購物平臺(tái)的主要功能如下:
(1)創(chuàng)建訂單。顧客( Customer)在線創(chuàng)建訂單(Order),主要操作是向訂單中添加項(xiàng)目、從訂單中刪除項(xiàng)目。訂單中應(yīng)列出所訂購的商品(Product)及其數(shù)量(quantities)。
(2)提交訂單。訂單通過網(wǎng)絡(luò)來提交。在提交訂單時(shí),顧客需要提供其姓名(name)、收貨地址(address)、以及付款方式(form of payment)(預(yù)付卡、信用卡或者現(xiàn)金)。為了制定送貨計(jì)劃以及安排送貨車輛,系統(tǒng)必須確定訂單量(volume)。除此之外,還必須記錄每種商品的名稱(Name)、造價(jià)(cost price)、售價(jià)(sale price)以及單件商品的包裝體積(cubic volume)。
(3)處理訂單。訂單處理人員接收來自系統(tǒng)的訂單;根據(jù)訂單內(nèi)容,安排配貨,制定送貨計(jì)劃。在送貨計(jì)劃中不僅要指明發(fā)貨日期(delivery date),還要記錄每個(gè)訂單的限時(shí)發(fā)送要求(Delivery Time Window)。
(4)派單。訂單處理人員將己配好貨的訂單轉(zhuǎn)交給派送人員。
(5)送貨/收貨。派送人員將貨物送到顧客指定的收貨地址。當(dāng)顧客收貨時(shí),需要在運(yùn)貨單(delivery slip)上簽收。簽收后的運(yùn)貨單最終需交還給訂單處理人員。
(6)收貨確認(rèn)。當(dāng)訂單處理人員收到簽收過的運(yùn)貨單后,會(huì)和顧客進(jìn)行一次再確認(rèn)。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)上述系統(tǒng),得到如圖3-1所示的用例圖和圖3-2所示的類圖。

【問題1】
根據(jù)說明中的描述,給出圖3-1中A1~A3所對應(yīng)的參與者名稱和U1~U2處所對應(yīng)的用例名稱。
【問題2】
根據(jù)說明中的描述,給出圖3-2中C1~C3所對應(yīng)的類名以及(1)~(4)處所對應(yīng)的多重度(類名使用說明中給出的英文詞匯)。
【問題3】
根據(jù)說明中的描述,將類C2和C3的屬性補(bǔ)充完整(屬性名使用說明中給出的英文詞匯)。
答案解析與討論:
m.xiexiliangjiufa.com/st/3811715797.html第
4題: 閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
用兩臺(tái)處理機(jī)A和B處理n個(gè)作業(yè)。設(shè)A和B處理第i個(gè)作業(yè)的時(shí)間分別為ai和bi。由于各個(gè)作業(yè)的特點(diǎn)和機(jī)器性能的關(guān)系,對某些作業(yè),在A上處理時(shí)間長,而對某些作業(yè)在B上處理時(shí)間長。一臺(tái)處理機(jī)在某個(gè)時(shí)刻只能處理一個(gè)作業(yè),而且作業(yè)處理是不可中斷的,每個(gè)作業(yè)只能被處理一次?,F(xiàn)要找出一個(gè)最優(yōu)調(diào)度方案,使得n個(gè)作業(yè)被這兩臺(tái)處理機(jī)處理完畢的時(shí)間(所有作業(yè)被處理的時(shí)間之和)最少。
算法步驟:
(1)確定候選解上界為R短的單臺(tái)處理機(jī)處理所有作業(yè)的完成時(shí)間m,
(2)用p(x,y,k)=1表示前k個(gè)作業(yè)可以在A用時(shí)不超過x且在B用時(shí)不超過y時(shí)間 內(nèi)處理完成,則p(x,y,k)=p(x-ak,y,k-1)||p(x,y-bk,k-1)(||表示邏輯或操作)。
(3)得到最短處理時(shí)問為min(max(x,y))。
【C代碼】
下面是該算法的C語言實(shí)現(xiàn)。
(1)常量和變量說明
n: 作業(yè)數(shù)
m: 候選解上界
a: 數(shù)組,長度為n,記錄n個(gè)作業(yè)在A上的處理時(shí)間,下標(biāo)從0開始
b: 數(shù)組,長度為n,記錄n個(gè)作業(yè)在B上的處理時(shí)間,下標(biāo)從0開始
k: 循環(huán)變量
p: 三維數(shù)組,長度為(m+1)*(m+1)*(n+1)
temp: 臨時(shí)變量
max: 最短處理時(shí)間
(2)C代碼
#include
int n, m;
int a[60], b[60], p[100][100][60];
void read(){ /*輸入n、a、b,求出m,代碼略*/}
void schedule(){ /*求解過程*/
int x,y,k;
for(x=0;x<=m;x++){
for(y=0;y(1)
for(k=1;kp[x][y][k]=0;
}
}
for(k=1;kfor(x=0;x<=m;x++){
for(y=0;y<=m;y++){
if(x - a[k-1]>=0) (2) ;
if( (3) )p[x][y][k]=(p[x][y][k] ||p[x][y-b[k-1]][k-1]);
}
}
}
}
void write(){ /*確定最優(yōu)解并輸出*/
int x,y,temp,max=m;
for(x=0;x<=m;x++){
for(y=0;y<=m;y++){
if( (4) ){
temp=(5) ;
if(temp< max)max = temp;
}
}
}
printf(“\n%d\n”,max),
}
void main(){read();schedule();write();}
【問題1】 (9分)
根據(jù)以上說明和C代碼,填充C代碼中的空(1)~(5)。
【問題2】(2分)
根據(jù)以上C代碼,算法的時(shí)間復(fù)雜度為(6)(用O符號表示)。
【問題3】(4分)
考慮6個(gè)作業(yè)的實(shí)例,各個(gè)作業(yè)在兩臺(tái)處理機(jī)上的處理時(shí)間如表4-1所示。該實(shí)例的最優(yōu)解為(7),最優(yōu)解的值(即最短處理時(shí)間)為(8)。最優(yōu)解用(x1,x2,x3,x4,x5,x6)表示,其中若第i個(gè)作業(yè)在A上處理,則xi=l,否則xi=2。如(1,1,1,1,2,2)表示作業(yè)1,2,3和4在A上處理,作業(yè)5和6在B上處理
表4-1
| 作業(yè)1 | 作業(yè)2 | 作業(yè)3 | 作業(yè)4 | 作業(yè)5 | 作業(yè)6 |
處理機(jī)A | 2 | 5 | 7 | 10 | 5 | 2 |
處理機(jī)B | 3 | 8 | 4 | 11 | 3 | 4 |
答案解析與討論:
m.xiexiliangjiufa.com/st/3811810850.html