第
2題: 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某省針對(duì)每年舉行的足球聯(lián)賽,擬開發(fā)一套信息管理系統(tǒng),以方便管理球隊(duì)、球員、主教練、主裁判、比賽等信息。
【需求分析】
(1)系統(tǒng)需要維護(hù)球隊(duì)、球員、主教練、主裁判、比賽等信息。
球隊(duì)信息主要包括:球隊(duì)編號(hào)、名稱、成立時(shí)間、人數(shù)、主場(chǎng)地址、球隊(duì)主教練。
球員信息主要包括:姓名、身份證號(hào)、出生日期、身高、家庭住址。
主教練信息主要包括:姓名、身份證號(hào)、出生日期、資格證書號(hào)、級(jí)別。
主裁判信息主要包括:姓名、身份證號(hào)、出生日期、資格證書號(hào)、獲取證書時(shí)間、級(jí)別。
(2)每支球隊(duì)有一名主教練和若干名球員。一名主教練只能受聘于一支球隊(duì),一名 球員只能效力于一支球隊(duì)。每支球隊(duì)都有自己的唯一主場(chǎng)場(chǎng)地,且場(chǎng)地不能共用。
(3)足球聯(lián)賽采用主客場(chǎng)循環(huán)制,一周進(jìn)行一輪比賽,一輪的所有比賽同時(shí)進(jìn)行。
(4)一場(chǎng)比賽有兩支球隊(duì)參加,一支球隊(duì)作為主隊(duì)身份、另一支作為客隊(duì)身份參與 比賽。一場(chǎng)比賽只能有一名主裁判,每場(chǎng)比賽有唯一的比賽編碼,每場(chǎng)比賽都記錄比分和日期。
【概念結(jié)構(gòu)設(shè)計(jì)】
根據(jù)需求分析階段的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。
圖2-1 實(shí)體聯(lián)系圖
【邏輯結(jié)構(gòu)設(shè)計(jì)】
根據(jù)概念結(jié)構(gòu)設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):
球隊(duì)(球隊(duì)編號(hào),名稱,成立時(shí)間,人數(shù),主場(chǎng)地址)
球員(姓名,身份證號(hào),出生日期,身高,家庭住址, (1) )
主教練(姓名,身份證號(hào),出生日期,資格證書號(hào),級(jí)別, (2) )
主裁判(姓名,身份證號(hào),出生日期,資格證書號(hào),獲取證書時(shí)間,級(jí)別)
比賽(比賽編碼,主隊(duì)編號(hào),客隊(duì)編號(hào),主裁判身份證號(hào),比分,日期)
【問題1】(6分)
補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系的類型。
圖2-1中的聯(lián)系“比賽”應(yīng)具有的屬性是哪些?
【問題2】(4分)
根據(jù)圖2-1,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生成的關(guān)系模式中的空(1)~(2)補(bǔ)充完整。
【問題3】(5分)
現(xiàn)在系統(tǒng)要增加贊助商信息,贊助商信息主要包括贊助商名稱和贊助商編號(hào)。
贊助商可以贊助某支球隊(duì),一支球隊(duì)只能有一個(gè)贊助商,但贊助商可以贊助多支球隊(duì)。贊助商也可以單獨(dú)贊助某些球員,一名球員可以為多個(gè)贊助商代言。請(qǐng)根據(jù)該要求,對(duì)圖2-1進(jìn)行修改,畫出修改后的實(shí)體間聯(lián)系和聯(lián)系的類型。
答案解析與討論:
m.xiexiliangjiufa.com/st/3815211974.html第
3題: 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某物品拍賣網(wǎng)站為參與者提供物品拍賣平臺(tái),組織拍賣過程,提供在線或線下交易服務(wù)。網(wǎng)站主要功能描述如下:
(1)拍賣參與者分為個(gè)人參與者和團(tuán)體參與者兩種。不同的團(tuán)體也可以組成新的團(tuán)體參與拍賣活動(dòng)。網(wǎng)站記錄每個(gè)參與者的名稱。
(2)一次拍賣中,參與者或者是買方,或者是賣方。
(3)一次拍賣只拍出來自一個(gè)賣方的一件拍賣品;多個(gè)買方可以出價(jià):賣方接受其中一個(gè)出價(jià)作為成交價(jià),拍賣過程結(jié)束。
(4)在拍賣結(jié)算階段,買賣雙方可以選擇兩種成交方式:線下成交,買賣雙方在事 先約定好的成交地點(diǎn),當(dāng)面完成物價(jià)款的支付和拍賣品的交付;在線成交,買方通過網(wǎng)上支付平臺(tái)支付物價(jià)款,拍賣品由賣方通過快遞郵寄給買方。
一次拍賣過程的基本事件流描述如下:
(1)賣方在網(wǎng)站上發(fā)起一次拍賣,并設(shè)置本次拍賣的起拍價(jià)。
(2)確定拍賣標(biāo)的以及拍賣標(biāo)的保留價(jià)(若在拍賣時(shí)間結(jié)束時(shí),所有出價(jià)均低于拍賣標(biāo)的保留價(jià),則本次拍賣失敗)。
(3)在網(wǎng)站上發(fā)布本次拍賣品的介紹。
(4)買方參與拍賣,給出竟拍價(jià)。
(5)賣方選擇接受一個(gè)竟拍價(jià)作為成交價(jià),結(jié)束拍賣。
(6)系統(tǒng)記錄拍賣成交價(jià),進(jìn)入拍賣結(jié)算階段。
(7)賣方和買方協(xié)商拍賣品成交方式,并完成成交
現(xiàn)采用面向?qū)ο蠓椒▽?duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì),得到如表3-1所示的類列表以及如圖3-1所示的類圖,類中關(guān)鍵屬性與方法如表3-2所示。
【問題1】(7分)
根據(jù)說明中的描述,給出圖3-1中(1)~(7)所對(duì)應(yīng)的類名(類名使用表3-1中給出的序號(hào))。
【問題2】(5分)
根據(jù)說明中的描述,確定表3-2中的屬性/方法分別屬于哪個(gè)類(類名、方法/屬性名使用表3-1、3-2中給出的序號(hào))。
【問題3】(3分)
在圖3-1采用了何種設(shè)計(jì)模式?以100字以內(nèi)文字說明采用這種設(shè)計(jì)模式的原因。
答案解析與討論:
m.xiexiliangjiufa.com/st/3815324092.html第
4題: 閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
n-皇后問題是在n行n列的棋盤上放置n個(gè)皇后,使得皇后彼此之間不受攻擊,其規(guī)則是任意兩個(gè)皇后不在同一行、同一列和相同的對(duì)角線上。
擬采用以下思路解決n-皇后問題:第i個(gè)皇后放在第i行。從第一個(gè)皇后開始,對(duì)每個(gè)皇后,從其對(duì)應(yīng)行(第i個(gè)皇后對(duì)應(yīng)第i行)的第一列開始嘗試放置,若可以放置,確定該位置,考慮下一個(gè)皇后;若與之前的皇后沖突,則考慮下一列;若超出最后一列,則重新確定上一個(gè)皇后的位置。重復(fù)該過程,直到找到所有的放置方案。
【C代碼】
下面是算法的C語言實(shí)現(xiàn)。
(1)常量和變量說明
pos:一維數(shù)組,pos[i]表示第i個(gè)皇后放置在第i行的具體位置
count:統(tǒng)計(jì)放置方案數(shù)
i,j,k:變量
N:皇后數(shù)
(2)C程序
#include
#include
#define N4
/*判斷第k個(gè)皇后目前放置位置是否與前面的皇后沖突*/
in isplace(int pos[], int k) {
int i;
for(i=1; i if( (1) || fabs(i-k) ══ fabs(pos[i] - pos[k])) {
return 0;
}
}
return 1;
}
int main() {
int i,j,count=1;
int pos[N+1];
//初始化位置
for(i=1; i<=N; i++) {
pos[i]=0;
}
(2) ;
while(j>=1) {
pos[j]= pos[j]+1;
/*嘗試擺放第i個(gè)皇后*/
while(pos[j]<=N&& (3)_) {
pos[j]= pos[j]+1;
}
/*得到一個(gè)擺放方案*/
if(pos[j]<=N&&j══ N) {
printf("方案%d: ",count++);
for(i=1; i<=N; i++){
printf("%d ",pos[i]);
}
printf("\n");
}
/*考慮下一個(gè)皇后*/
if(pos[j]<=N&& (4) ) {
j=j+1;
} else{ //返回考慮上一個(gè)皇后
pos[j]=0;
(5) ;
}
}
return 1;
}
【問題1】(10分)
根據(jù)以上說明和C代碼,填充C代碼中的空(1)~(5)。
【問題2】(2分)
根據(jù)以上說明和C代碼,算法采用了 (6) 設(shè)計(jì)策略。
【問題3】(3分)
上述C代碼的輸出為:
(7) 。
答案解析與討論:
m.xiexiliangjiufa.com/st/3815415695.html