第
1題: 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某證券交易所為了方便提供證券交易服務(wù),欲開(kāi)發(fā)一證券交易平臺(tái),該平臺(tái)的主要功能如下:
(1)開(kāi)戶(hù)。根據(jù)客戶(hù)服務(wù)助理提交的開(kāi)戶(hù)信息,進(jìn)行開(kāi)戶(hù),并將客戶(hù)信息存入客戶(hù)記錄中,賬戶(hù)信息(余額等)存入賬戶(hù)記錄中;
(2)存款??蛻?hù)可以向其賬戶(hù)中存款,根據(jù)存款金額修改賬戶(hù)余額;
(3)取款??蛻?hù)可以從其賬戶(hù)中取款,根據(jù)取款金額修改賬戶(hù)余額;
(4)證券交易??蛻?hù)和經(jīng)紀(jì)人均可以進(jìn)行證券交易(客戶(hù)通過(guò)在線方式,經(jīng)紀(jì)人通過(guò)電話),將交易信息存入交易記錄中;
(5)檢查交易。平臺(tái)從交易記錄中讀取交易信息,將交易明細(xì)返回給客戶(hù)。 現(xiàn)采用結(jié)構(gòu)化方法對(duì)該證券交易平臺(tái)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。

【問(wèn)題1】(3分)
使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1-E3的名稱(chēng)。
【問(wèn)題2】(3分)
使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1-D3的名稱(chēng)。
【問(wèn)題3】(4分)
根據(jù)說(shuō)明和圖中的術(shù)語(yǔ),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。
【問(wèn)題4】(5分)
實(shí)際的證券交易通常是在證券交易中心完成的,因此,該平臺(tái)的“證券交易”功能需將交易信息傳遞給證券交易中心。針對(duì)這個(gè)功能需求,需要對(duì)圖1-1和圖1-2進(jìn)行哪些修改,請(qǐng)用200字以?xún)?nèi)的文字加以說(shuō)明。
答案解析與討論:
www.jazzmuze.com/st/3816924632.html第
2題: 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某賓館為了有效地管理客房資源,滿足不同客戶(hù)需求,擬構(gòu)建一套賓館信息管理系統(tǒng),以方便賓館管理及客房預(yù)訂等業(yè)務(wù)活動(dòng)。
【需求分析結(jié)果】
該系統(tǒng)的部分功能及初步需求分析的結(jié)果如下:
(1)賓館有多個(gè)部門(mén),部門(mén)信息包括部門(mén)號(hào)、部門(mén)名稱(chēng)、電話、經(jīng)理。每個(gè)部門(mén)可以有多名員工,每名員工只屬于一個(gè)部門(mén);每個(gè)部門(mén)只有一名經(jīng)理,負(fù)責(zé)管理本部門(mén)。
(2)員工信息包括員工號(hào)、姓名、崗位、電話、工資,其中,員工號(hào)唯一標(biāo)識(shí)員工關(guān)系中
的一個(gè)元組,崗位有經(jīng)理、業(yè)務(wù)員。
(3)客房信息包括客房號(hào)(如1301、1302等)、客房類(lèi)型、收費(fèi)標(biāo)準(zhǔn)、入住狀態(tài)(已入?。慈胱。?,其中客房號(hào)唯一標(biāo)識(shí)客房關(guān)系中的一個(gè)元組,不同客房類(lèi)型具有不同的收費(fèi)標(biāo)準(zhǔn)。
(4)客戶(hù)信息包括客戶(hù)號(hào)、單位名稱(chēng)、聯(lián)系人、聯(lián)系電話、聯(lián)系地址,其中客戶(hù)號(hào)唯一標(biāo)識(shí)客戶(hù)關(guān)系中的一個(gè)元組。
(5)客戶(hù)預(yù)訂客房時(shí),需要填寫(xiě)預(yù)訂申請(qǐng)。預(yù)訂申請(qǐng)信息包括申請(qǐng)?zhí)?、客?hù)號(hào)、入住時(shí)間、入住天數(shù)、客房類(lèi)型、客房數(shù)量,其中,一個(gè)申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)預(yù)訂申請(qǐng)中的一個(gè)元組;一位客戶(hù)可以有多個(gè)預(yù)訂申請(qǐng),但一個(gè)預(yù)訂申請(qǐng)對(duì)應(yīng)唯一的一位客戶(hù)。
(6)當(dāng)客戶(hù)入住時(shí),業(yè)務(wù)員根據(jù)客戶(hù)的預(yù)訂申請(qǐng)負(fù)責(zé)安排入住客房事宜。安排信息包括客房號(hào)、姓名、性別、身份證號(hào)、入住時(shí)間、天數(shù)、電話,其中客房號(hào)、身份證號(hào)和入住時(shí)間唯一標(biāo)識(shí)一次安排。一名業(yè)務(wù)員可以安排多個(gè)預(yù)訂申請(qǐng),一個(gè)預(yù)訂申請(qǐng)只由一名業(yè)務(wù)員安排,而且可安排多間同類(lèi)型的客房。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖如圖2-1所示。
【關(guān)系模式設(shè)計(jì)】
部門(mén)(部門(mén)號(hào),部門(mén)名稱(chēng),經(jīng)理,電話)
員工(員工號(hào), ( a ),姓名,崗位,電話,工資)
客戶(hù)( ( b ) ,聯(lián)系人,聯(lián)系電話,聯(lián)系地址)
客房(客房號(hào),客房類(lèi)型,收費(fèi)標(biāo)準(zhǔn),入住狀態(tài))
預(yù)訂申請(qǐng)( ( c) ,入住時(shí)間,天數(shù),客房類(lèi)型,客房數(shù)量)
安排(申請(qǐng)?zhí)?,客房?hào),姓名,性別, (c) ,天數(shù),電話,業(yè)務(wù)員)
【問(wèn)題1】(4分)
根據(jù)問(wèn)題描述,補(bǔ)充四個(gè)聯(lián)系,完善圖2-1,的實(shí)體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系2、聯(lián)系3和聯(lián)系4代替,聯(lián)系的類(lèi)型為1:1、1:n和m:n (或1:1,和1:*和*:*)。
【問(wèn)題2】(8分)
根據(jù)題意,將關(guān)系模式中的空(a)~(d)補(bǔ)充完整,并填入答題紙對(duì)應(yīng)的位置上。 (2)給出“預(yù)訂申請(qǐng)”和“安排”關(guān)系模式的主鍵和外鍵。
【問(wèn)題3】(3分)
【關(guān)系模式設(shè)計(jì)】中的“客房”關(guān)系模式是否存在規(guī)范性問(wèn)題,請(qǐng)用100字以?xún)?nèi)文字解釋你的觀點(diǎn)(若存在問(wèn)題,應(yīng)說(shuō)明如何修改“客房”關(guān)系模式)。
答案解析與討論:
www.jazzmuze.com/st/3817019868.html第
4題: 閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
模式匹配是指給定主串t和子串s,在主串t中尋找子串s的過(guò)程,其中s稱(chēng)為模式。如果匹配成功,返回s在t中的位置,否則返回-1 。
KMP算法用next數(shù)組對(duì)匹配過(guò)程進(jìn)行了優(yōu)化。KMP算法的偽代碼描述如下:
1.在串t和串s中,分別設(shè)比較的起始下標(biāo)i=j=0。
2.如果串t和串s都還有字符,則循環(huán)執(zhí)行下列操作:
(1)如果j=-l或者t[i]=s[j],則將i和j分別加1,繼續(xù)比較t和s的下一個(gè)字符;
(2)否則,將j向右滑動(dòng)到next[j]的位置,即j =next[j]。
3.如果s中所有字符均已比較完畢,則返回匹配的起始位置(從1開(kāi)始);否則返回-1。其中,next數(shù)組根據(jù)子串s求解。求解next數(shù)組的代碼已由get_next函數(shù)給出。
【C代碼】
(1)常量和變量說(shuō)明
t,s:長(zhǎng)度為憫鉑Is的字符串
next:next數(shù)組,長(zhǎng)度為Is
(2)C程序
#include
#include
#include
/*求next[]的值*/
void get_next( int *next, char *s, int Is) {
int i=0,j=-1;
next[0]=-1;/*初始化next[0]*/
while(i < ls){/*還有字符*/
if(j==-1l ls[i]==s[j]){/*匹配*/
j++;
i++;
if( s[i]==s[j])
next[i] = next[j];
else
Next[i] = j;
}
else
j = next[j];
}
}
int kmp( int *next, char *t ,char *s, int lt, int Is )
{
Int i= 0,j =0
while (i < lt && (1) ) {
if( j==-1 || (2) ) {
i ++
j ++
} else
(3)
}
if (j >= ls)
return (4) else
return -1;
}
【問(wèn)題1】(8分)
根據(jù)題干說(shuō)明,填充C代碼中的空(1)~(4)。
【問(wèn)題2】(2分)
根據(jù)題干說(shuō)明和C代碼,分析出kmp算法的時(shí)間復(fù)雜度為(5)(主串和子串的長(zhǎng)度分別為It和Is,用O符號(hào)表示)。
【問(wèn)題3】(5分)
根據(jù)C代碼,字符串“BBABBCAC”的next數(shù)組元素值為(6)(直接寫(xiě)素值,之間用逗號(hào)隔開(kāi))。若主串為“AABBCBBABBCACCD”,子串為“BBABBCAC”,則函數(shù)Kmp的返回值是(7)。
答案解析與討論:
www.jazzmuze.com/st/3817229374.html第
5題:
閱讀下列說(shuō)明和C++代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成?,F(xiàn)采用裝飾( Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖5-1所示的類(lèi)圖。
【C++代碼】
#include
using namespace std;
class Invoice{ public:
(1) {
cout<<"This is the content of the invoice!"< }
};
class Decorator : public Invoice {
Invoice *ticket;
public:
Decorator(lnvoice *t) { ticket = t; }
void printInvoice(){
if(ticket != NULL) (2);
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(lnvoice*t): Decorator(t) { }
void printInvoice() {
cout<< "This is the header of the invoice! "<< endl;
(3) ;
}
};
class FootDecorator : public Decorator{
public:
FootDecorator(Invoice *t): Decorator(t) { }
void printlnvoice(){
(4) ;
cout<< "This is the footnote of the invoice!"<< endl;
}
};
int main(void) {
Invoice t;
FootDecorator f(&t);
HeadDecorator h(&f);
h.printInvoice();
cout<<”------------------------”< FootDecorator a(NULL)
HeadDecorator b( (5) );
b.printInvoice();
return 0;
}
程序的輸出結(jié)果為:
This is the header of the invoice!
This is the content of the invoice!
This is the footnote of the invoice!
----------------------------
This is the header of the invoice!
This is the footnote of the invoice!
答案解析與討論:
www.jazzmuze.com/st/3817318035.html第
6題: 閱讀下列說(shuō)明和java代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成?,F(xiàn)采用裝飾(Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖6-1所示的類(lèi)圖。

【java代碼】 class invoice{
public void printInvoice(){
System.out.println ( "This is the content of the invoice!");
}
}
class Decorator extends Invoice {
protected Invoice ticket;
public Decorator(lnvoice t){
ticket = t; }
public void printInvoice(){
if(ticket != null)
(1) ;
}
}
class HeadDecorator extends Decorator{
public HeadDecorator(lnvoice t){
super(t);
}
public void printInvoice (){
Systent.out.println( "This is the header of the invoice! ");
(2) ;
}
}
class FootDecorator extends Decorator {
public FootDecorator(Invoice t){
super(t);
}
public void printlnvoice(){
( 3) ;
Systent.out.println( "This is the footnote of the invoice! ");
}
}
Class test {
public static void main(String[] args){
Invoice t =new Invioce();
Invoice ticket;
ticket= (4) ;
ticket.printInvoice();
Systent.out.println(“------------------“);
ticket= (5) ;
ticket.printInvoice(); } }
程序的輸出結(jié)果為:
This is the header of the invoice!
This is the content of the invoice!
This is the footnote of the invoice!
----------------------------
This is the header of the invoice!
This is the footnote of the invoice!
答案解析與討論:
www.jazzmuze.com/st/381743190.html