第
1題: 綜合技能
試題一(共15分)
閱讀下列說(shuō)明,將解答填入題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某醫(yī)療護(hù)理機(jī)構(gòu)為老年人或有護(hù)理需求者提供專業(yè)護(hù)理,現(xiàn)欲開發(fā)一基于web的醫(yī)療管理系統(tǒng),以改善醫(yī)療護(hù)理效,該系統(tǒng)的主要要功能如下:
(1)通用信息查詢,客廣提交通用信息查詢請(qǐng)求,意而通用信表表,返回查詢結(jié)果
(2)醫(yī)生聘用。醫(yī)生提出成/職中申,交由去前行用事事,更新醫(yī)生表,并給醫(yī)生反聘用解聘結(jié)果:聊除解聘醫(yī)生的出診發(fā)排
(3)預(yù)約處理。醫(yī)生安排出診時(shí)向間,存入醫(yī)生出診時(shí)間表,根據(jù)客戶提交的預(yù)約查詢請(qǐng)求,查在職醫(yī)生及其出診時(shí)間等約所需數(shù)據(jù)并返同問(wèn):創(chuàng)建預(yù)約,提交預(yù)約請(qǐng)求,在在預(yù)約表中新增預(yù)約記錄,更新所約醫(yī)生出診時(shí)間并給醫(yī)生發(fā)送約通知給客戶反饋預(yù)約結(jié)果。
(4)藥品管理。醫(yī)生提交處方,根據(jù)藥品名稱從藥品數(shù)據(jù)中查詢相關(guān)藥品庫(kù)存信息開出藥品,更新對(duì)應(yīng)藥品的庫(kù)存以及預(yù)約表中的治療信息;給醫(yī)生發(fā)送“藥品已開出”反饋。
(5)報(bào)表創(chuàng)建。根據(jù)主管提交的報(bào)表查詢請(qǐng)求(報(bào)表類型和時(shí)間段),從預(yù)的數(shù)、通用信息、藥品庫(kù)存數(shù)據(jù)、醫(yī)生以及醫(yī)生出診時(shí)間中進(jìn)行查詢,生成報(bào)表返回給主管.
現(xiàn)采用結(jié)構(gòu)化方法對(duì)醫(yī)療管理系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。


【問(wèn)題1】(3分)
使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1~E3的名稱。
【問(wèn)題2】(5分)
使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D5的名稱。
【問(wèn)題3)(4分)
使用說(shuō)明和圖中術(shù)語(yǔ),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。
【問(wèn)題4】(3分)
使用說(shuō)明中的詞語(yǔ),說(shuō)明“預(yù)約處理”可以分解為哪些子加工,并說(shuō)明建模圖1-1
和圖1-2是如何保持?jǐn)?shù)據(jù)流圖平衡。
答案解析與討論:
m.xiexiliangjiufa.com/st/3962917687.html第
2題: 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某海外代購(gòu)公司為擴(kuò)展公司業(yè)務(wù),需要開發(fā)一個(gè)信息化管理系統(tǒng)。請(qǐng)根據(jù)公司現(xiàn)有業(yè)務(wù)及需求完成該系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。
【需求描述】
(1)記錄公司員工信息。員工信息包括工號(hào)、身份證號(hào)、姓名、性別和一個(gè)手機(jī)號(hào),工號(hào)唯一標(biāo)識(shí)每位員工,員工分為代購(gòu)員和配送員。
(2)記錄采購(gòu)的商品信息。商品信息包括商品名稱、所在超市名稱、采購(gòu)價(jià)格、銷
售價(jià)格和商品介紹,系統(tǒng)內(nèi)部用商品條碼唯一標(biāo)識(shí)每種商品。一種商品只在一家超市代購(gòu)。
(3)記錄顧客信息。顧客信息包括顧客真實(shí)姓名、身份證號(hào)(清關(guān)繳稅用)、一個(gè)手機(jī)號(hào)和一個(gè)收貨地址,系統(tǒng)自動(dòng)生成唯一的顧客編號(hào)。
(4)記錄托運(yùn)公司信息。托運(yùn)公司信息包括托運(yùn)公司名稱、電話和和地址,系統(tǒng)自動(dòng)生成唯一的托運(yùn)公司編號(hào)。
(5)顧客登錄系統(tǒng)之后,可以下訂單購(gòu)買商品。訂單支付成功后,系統(tǒng)記錄唯一的支付憑證編號(hào),顧客需要在訂單里指定運(yùn)送方式:空運(yùn)或海運(yùn)。
(6)代購(gòu)員根據(jù)顧客的訂單在超市采購(gòu)對(duì)應(yīng)商品,一份訂單所含的多個(gè)商品可能由多名代購(gòu)員從不同超市采購(gòu)。
(7)采購(gòu)?fù)甑纳唐方挥膳渌蛦T根據(jù)顧客訂單組合裝箱,然后交給托運(yùn)公司運(yùn)送。托運(yùn)公司按顧客訂單核對(duì)商品名稱和數(shù)量,然后按顧客的地址進(jìn)行運(yùn)送。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。

【邏輯結(jié)構(gòu)設(shè)計(jì)】
據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):
員工(工號(hào),身份證號(hào),姓名,性別,手機(jī)號(hào))
商品(條碼,商品名稱,所在超市名稱,采購(gòu)價(jià)格,銷售價(jià)格,商品介紹)
顧客(編號(hào),姓名,身份證號(hào),手機(jī)號(hào),收貨地址)
托運(yùn)公司司(托運(yùn)公司編號(hào),托運(yùn)公司名稱,電話,地址)
訂單(訂單ID,(a),商品數(shù)量,運(yùn)送方式,支付憑證編號(hào))
代購(gòu)(代購(gòu)ID,代購(gòu)員工號(hào),(b))
運(yùn)送(運(yùn)送D,配送員工號(hào),托運(yùn)公司編,訂單D,發(fā)運(yùn)時(shí)間)
【問(wèn)題1】(3分)
根據(jù)問(wèn)題描述,補(bǔ)充圖2-1的實(shí)體聯(lián)系圖。
【問(wèn)題2】(6分)
補(bǔ)充邏輯結(jié)構(gòu)設(shè)計(jì)結(jié)果中的(a)、(b)兩處空缺。
【問(wèn)題3】(6分)
為方便顧客,允許顧客在系統(tǒng)中保存多組收貨地址。請(qǐng)根據(jù)此需求,增加“顧客地址”弱實(shí)體,對(duì)圖2-1進(jìn)行補(bǔ)充,并修改“運(yùn)送”關(guān)系模式。
答案解析與討論:
m.xiexiliangjiufa.com/st/3963110017.html第
4題: 閱讀下列說(shuō)明和C代碼,回答問(wèn)題1和問(wèn)題2,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某公司購(gòu)買長(zhǎng)鋼條,將其切割后進(jìn)行出售。切割鋼條的成本可以忽略不計(jì),鋼條的長(zhǎng)度為整英寸。已知價(jià)格表P,其中中Pi(i=1,2,...,m)表示長(zhǎng)度為i英寸的鋼條的價(jià)格?,F(xiàn)要求解使銷售收益最大的切割方案。
求解此切割方案的算法基本思想如下:
假設(shè)長(zhǎng)鋼條的長(zhǎng)度為n英寸,最佳切割方案的最左邊切割段長(zhǎng)度為i英寸,則繼續(xù)求解剩余長(zhǎng)度為n-i英寸鋼條的最佳切割方案??紤]所有可能的i,得到的最大收益rn對(duì)應(yīng)的切割方案即為最佳切割方案。rn的遞歸定義如下:
rn=max1≤i≤n(pi+rn-i)對(duì)此遞歸式,給出自頂向下和自底向上兩種實(shí)現(xiàn)方式
【C代碼】
/*常量和變量說(shuō)明
n:長(zhǎng)鋼條的長(zhǎng)度
P[]:價(jià)格數(shù)組
*/
#defineLEN100
intTop_Down_Cut_Rod(intP[],intn){/*自頂向下*/Intr=0
Inti;if(n=0){
retum0;
}
for(i=1;(1);i++){
inttmp=p[i]+Top_Down_Cut_Rod(p,n-i)r=(r>=tmp)?r:tmp;
}
returnr;
}
intBottom_Up_Cut_Road(intp[],intn){/*自底向上*/
intr[LEN]={0};
inttemp=0;
inti,j;
for(j=1;j<=n;j++){
temp=0;
for(i=l;(2);i++){
temp=(3);
}
(4)
}
returnr[n];
}
【問(wèn)題1】(8分)
根據(jù)說(shuō)明,填充C代碼中的空(1)~(4)。
【問(wèn)題2】(7分)
根據(jù)說(shuō)明和C代碼,算法采用的設(shè)計(jì)練略為(5)。
求解時(shí),自頂向下方法的時(shí)間復(fù)雜度為(6);自底向上方法的時(shí)間復(fù)雜度為(7)
(用O表示)。
答案解析與討論:
m.xiexiliangjiufa.com/st/396349820.html第
5題: 從下列的2道試題(試題五至試題六)中任選1道解答。請(qǐng)?jiān)诖痤}紙上的指定位置處將所選擇試題的題號(hào)框涂黑。若多涂或者未涂題號(hào)框,則對(duì)題號(hào)最小的一道試題進(jìn)行評(píng)分。
試題五(共15分)
閱讀下列說(shuō)明和C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
生成器(Builder)模式的意圖是將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。圖5-1所示為其類圖。

【C++代碼】#include#includeusingnamespacestd;
classProduct{private:
stringpartA,partB;public:
Product(){}
voidsetPartA(conststring&s){PartA=s;}
voidsetPartB(conststring&s){PartB=s;}
∥其余代碼省略
};
classBuilder{public:
(1);
virtualvoidbuildPartB()=0;
(2);
};
classConcreteBuilder1:publicBuilder{private:
Product*product;public:
ConcreteBuilder1(){product=newProduct();}
voidbuildPartA(){(3)("ComponentA");}
voidbuildPartB(){(4)("ComponentB");}
Product*getResult(){returnproduct;}
∥其余代碼省略
};
classConcreteBuilder2:publicBuilder{
/*代碼省略*/
};
classDirector{private:
Builder*builder;public:
Director(Builder*pBuilder){builder*pBuilder;}
voidconstruct(){
(5)
∥其余代碼省略
}
∥其余代碼省略
};
intmain(){
Director*director1=newDirector(newConcreteBuilder1());
directorl->construct();
deletedirector1;
return0;
}
試題六(共15分)
閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
生成器(Builder)模式的意圖是將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。圖6-1所示為其類圖。

【Java代碼】
importjava.util.*;
classProduct{
privateStringpartA;
privateStringpartB;
publicProduct(){}
publicvoidsetPartA(Strings){partA=s;}
publicvoidsetPartB(Strings){partB=s;}
}
interfaceBuilder{
public(1);
publicvoidbuildPartB();
public(2);
}
classConcreteBuilder1:implementsBuilder{
privateProductproduct;
publicConcreteBuilder1(){product=newProduct();}
publicvoidbuildPartA(){(3)("ComponentA");}
publicvoidbuildPartB(){(4)("ComponentB");}
publicProductgetResult(){returnproduct;}
}
classConcreteBuilder2implementsBuilder{
∥代碼省略
}
classDirector{
privateBuilderbuilder;
publicDirector(Builderbuilder){this.builder=builder;}
publicvoidconstruct(){
(5)
∥代碼省略
}
}
classTest{
publicstaticvoidmain(String[]args){
Directordirector1=newDirector(newConcreteBuilder1());
directorl.construct();
}
}
答案解析與討論:
m.xiexiliangjiufa.com/st/3963712727.html