第
2題: 【說明】
M集團(tuán)擁有多個分公司,為了方便集團(tuán)公司對各個分公司職員進(jìn)行有效管理,集團(tuán)公司決定構(gòu)建一個信息平臺以滿足公司各項業(yè)務(wù)管理需求。
【需求分析】
1、分公司關(guān)系模式需要記錄的信息包括公司編號、名稱、經(jīng)理號、可聯(lián)系地址和電話。分公司編號唯一標(biāo)記分公司關(guān)系模式中的每一個元組,每個分公司各有一名經(jīng)理,負(fù)責(zé)分公司的管理工作,每個分公司設(shè)立僅為本分公司服務(wù)的多個業(yè)務(wù)部,業(yè)務(wù)部包括:研發(fā)部、財務(wù)部、采購部、交易部等。
2、業(yè)務(wù)部關(guān)系模式需要記錄的信息包括業(yè)務(wù)部的編號、名稱、地址、電話和分公司編號,業(yè)務(wù)部編號唯一標(biāo)記分公司關(guān)系模式中的每一個元素,每個業(yè)務(wù)部各有一名主管負(fù)責(zé)業(yè)務(wù)部的管理工作,每個業(yè)務(wù)部有多名職員,每個職員只能來源于一個業(yè)務(wù)部。
3、職員關(guān)系模式需要記錄的信息包括職員號、姓名、所屬業(yè)務(wù)部編號、崗位、電話、家庭成員姓名和成員關(guān)系。其中職員號唯一標(biāo)記職員關(guān)系,崗位包括:經(jīng)理、主管、研發(fā)員、業(yè)務(wù)員等。
【關(guān)系模式】
分公司(分公司編號、名稱、(a)、 聯(lián)系地址 )
業(yè)務(wù)部(業(yè)務(wù)部編號、名稱、(b)、 電話)
職員(職員號、姓名、崗位、(c)、 電話、家庭成員姓名、關(guān)系)
【概念模式設(shè)計】

2-1 實體-聯(lián)系圖
【問題1】(4分)
根據(jù)問題描述,補(bǔ)充4個聯(lián)系,完善圖2-1的實體聯(lián)系圖,聯(lián)系名可用聯(lián)系1、聯(lián)系2、聯(lián)系3和聯(lián)系4代替 ,聯(lián)系的類型為1 : 1、1 : n和m: n(或1 : 1、1: *和*:*)
【問題2】(3分)
根據(jù)題意將以上關(guān)系模式中的空(a) ~ (c)的屬性補(bǔ)充完整,并填入對應(yīng)位置。
【問題3】(4分)
(1)分析分公司關(guān)系模式的主建和外鍵
(2)分析業(yè)務(wù)部關(guān)系模式的主建和外鍵
【問題4】(4分)
在職員關(guān)系模式中,假設(shè)每個職員有多名家庭成員,那么職員關(guān)系模式存在什么問題?應(yīng)如何解決?答案解析與討論:
www.xomuzic.com/st/450832127.html第
3題: 【說明】
某房產(chǎn)公司,欲開發(fā)一個房產(chǎn)信息管理系統(tǒng),其主要功能描述如下:
1.公司銷售的房產(chǎn),分為住宅和公寓兩類。針對房產(chǎn),系統(tǒng)存儲房產(chǎn)證明,地址,建造年份,建造面積,銷售報價,房產(chǎn)照片以及銷售狀態(tài)(在售,售出,停售)等信息。對于公寓,還需存儲是否有等信息。
2. 公司雇傭了多名房產(chǎn)經(jīng)紀(jì),負(fù)責(zé)銷售房產(chǎn),系統(tǒng)中需要存儲房產(chǎn)經(jīng)紀(jì)的基本信息,包括:姓名,家庭住址,聯(lián)系電話,房產(chǎn)的起止時間等等。一套房產(chǎn)同一時間僅由一名房產(chǎn)經(jīng)紀(jì)負(fù)責(zé)銷售,系統(tǒng)中記錄房產(chǎn)經(jīng)紀(jì)負(fù)責(zé)房產(chǎn)的起始時間和終止時間。
3.系統(tǒng)用戶包括房產(chǎn)經(jīng)紀(jì)和系統(tǒng)管理員,用戶需經(jīng)過系統(tǒng)身份驗證之后,才能登錄系統(tǒng)。房產(chǎn)經(jīng)紀(jì)登錄系統(tǒng)之后,可以錄入負(fù)責(zé)銷售的房產(chǎn)信息。但需要經(jīng)過系統(tǒng)管理員的審批授權(quán)。
4.系統(tǒng)管理員可以從系統(tǒng)中導(dǎo)出所有房產(chǎn)的信息列表,系統(tǒng)管理員定期將信息和銷售的房產(chǎn),進(jìn)行歸納,若公司確定不再銷售某套房產(chǎn),系統(tǒng)管理員將房產(chǎn)信息從系統(tǒng)中刪除。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)得到如圖3-1所示的圖例和3- 2所示的圖。

圖3-1 用例圖
【問題1】(7分)
(1)根據(jù)證明中描述,分別給圖3-1中A1到A2所對應(yīng)的名稱以及U1到U3所對應(yīng)的用例名稱。
(2)根據(jù)證明中描述,分別給圖3-1中(a)和(b)用例之間的關(guān)系。
【問題2】(6分)
根據(jù)證明中描述,分別給圖3-2中C1~C6所對應(yīng)的類名稱。
【問題3】(2分)
圖3-2中AgentList是一個英文名稱 ,用來進(jìn)一步闡述C1和C6之間的關(guān)系 ,根據(jù)注明中的描述,繪出AgentList的主要屬性。答案解析與討論:
www.xomuzic.com/st/4508419669.html第
4題: 【說明】
希爾排序算法又稱最小增量排序算法,其基本思想是:
步驟1 :構(gòu)造一個步長序列delta1、delta2...、deltak ,其中delta1=n/2 ,后面的每個delta是前一個的1/2 , deltak=1;
步驟2 :根據(jù)步長序列、進(jìn)行k趟排序;
步驟3 :對第i趟排序,根據(jù)對應(yīng)的步長delta,將等步長位置元素分組,對同一組內(nèi)元素在原位置上進(jìn)行直接插入排序。
【C代碼】
下面是算法的C語言實現(xiàn)。
(1)常量和變量說明
data:待排序數(shù)組data,長度為n,待排序數(shù)據(jù)記錄在data[0]、data[1]、...、data[n-1]中。
n:數(shù)組a中的元素個數(shù)。
delta:步長數(shù)組。
(2)C程序
#include
void shellsort(int data[ ], int n){
int *delta,k,i,t,dk,j;
k=n;
delta=(int *)nalloc(sizeof(int)*(n/2));
if(i=0)
do{
( 1 ) ;
delta[i++]=k;
}while ( 2 ) ;
i=0;
while((dk=delta[i])>0){
for(k=delta[i];kif( ( 3 ) ) {
t=data[k];
for(j=k-dk;j>=0&&tdata[j+dk]=data[j];
}/*for*/
( 4 ) ; //data[j+dk]=t;
}/*if*/
++i;
}/*while*/
}
【問題1】(8分)
根據(jù)說明和c代碼,填充c代碼中的空(1) ~ (4)。
【問題2】(4分)
根據(jù)說明和c代碼,該算法的時間復(fù)雜度(5)O(n2) (小于、等于或大于)。該算法是否穩(wěn)定(6) ( 是或否)。
【問題3】(3分)
對數(shù)組(15、9、7、8、20、-1、 4)用希爾排序方法進(jìn)行排序,經(jīng)過di-趟排后得到的數(shù)組為(7)。答案解析與討論:
www.xomuzic.com/st/4508523548.html