第
1題:
閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。 【說(shuō)明】 某大學(xué)為進(jìn)一步推進(jìn)無(wú)紙化考試,欲開(kāi)發(fā)一考試系統(tǒng)。系統(tǒng)管理員能夠創(chuàng)建包括專(zhuān)業(yè)方向、課程編號(hào)、任課教師等相關(guān)考試基礎(chǔ)信息,教師和學(xué)生進(jìn)行考試相關(guān)的工作。系統(tǒng)與考試有關(guān)的主要功能如下。 (1)考試設(shè)置。教師制定試題(題目和答案),制定考試說(shuō)明、考試時(shí)間和提醒時(shí)間等考試信息,錄入?yún)⒓涌荚嚨膶W(xué)生信息,并分別進(jìn)行存儲(chǔ)。 (2)顯示并接收解答。根據(jù)教師設(shè)定的考試信息,在考試有效時(shí)間內(nèi)向?qū)W生顯示考試說(shuō)明和題目,根據(jù)設(shè)定的考試提醒時(shí)間進(jìn)行提醒,并接收學(xué)生的解答。 (3)處理解答。根據(jù)答案對(duì)接收到的解答數(shù)據(jù)進(jìn)行處理,然后將解答結(jié)果進(jìn)行存儲(chǔ)。 (4)生成成績(jī)報(bào)告。根據(jù)解答結(jié)果生成學(xué)生個(gè)人成績(jī)報(bào)告,供學(xué)生查看。 (5)生成成績(jī)單。對(duì)解答結(jié)果進(jìn)行核算后生成課程成績(jī)單供教師查看。 (6)發(fā)送通知。根據(jù)成績(jī)報(bào)告數(shù)據(jù),創(chuàng)建通知數(shù)據(jù)并將通知發(fā)送給學(xué)生;根據(jù)成績(jī)單數(shù)據(jù),創(chuàng)建通知數(shù)據(jù)并將通知發(fā)送給教師。 現(xiàn)采用結(jié)構(gòu)化方法對(duì)考試系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。
【問(wèn)題1】(2分) 使用說(shuō)明中的詞語(yǔ),繪出圖1-1中的實(shí)體E1~E2的名稱(chēng)。【問(wèn)題2】(4分) 使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D4的名稱(chēng)。【問(wèn)題3】(4分) 根據(jù)說(shuō)明和圖中詞語(yǔ),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。【問(wèn)題4】(5分) 圖1-2所示的數(shù)據(jù)流圖中,功能(6)發(fā)送通知包含創(chuàng)建通知并發(fā)送給學(xué)生或老師。請(qǐng)分解圖1-2中加工(6),將分解出的加工和數(shù)據(jù)流填入答題紙的對(duì)應(yīng)欄內(nèi)。(注:數(shù)據(jù)流的起點(diǎn)和終點(diǎn)須使用加工的名稱(chēng)描述)答案解析與討論:
www.conferencecallsmadeeasy.com/st/381513566.html第
3題: 閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某物品拍賣(mài)網(wǎng)站為參與者提供物品拍賣(mài)平臺(tái),組織拍賣(mài)過(guò)程,提供在線或線下交易服務(wù)。網(wǎng)站主要功能描述如下:
(1)拍賣(mài)參與者分為個(gè)人參與者和團(tuán)體參與者兩種。不同的團(tuán)體也可以組成新的團(tuán)體參與拍賣(mài)活動(dòng)。網(wǎng)站記錄每個(gè)參與者的名稱(chēng)。
(2)一次拍賣(mài)中,參與者或者是買(mǎi)方,或者是賣(mài)方。
(3)一次拍賣(mài)只拍出來(lái)自一個(gè)賣(mài)方的一件拍賣(mài)品;多個(gè)買(mǎi)方可以出價(jià):賣(mài)方接受其中一個(gè)出價(jià)作為成交價(jià),拍賣(mài)過(guò)程結(jié)束。
(4)在拍賣(mài)結(jié)算階段,買(mǎi)賣(mài)雙方可以選擇兩種成交方式:線下成交,買(mǎi)賣(mài)雙方在事 先約定好的成交地點(diǎn),當(dāng)面完成物價(jià)款的支付和拍賣(mài)品的交付;在線成交,買(mǎi)方通過(guò)網(wǎng)上支付平臺(tái)支付物價(jià)款,拍賣(mài)品由賣(mài)方通過(guò)快遞郵寄給買(mǎi)方。
一次拍賣(mài)過(guò)程的基本事件流描述如下:
(1)賣(mài)方在網(wǎng)站上發(fā)起一次拍賣(mài),并設(shè)置本次拍賣(mài)的起拍價(jià)。
(2)確定拍賣(mài)標(biāo)的以及拍賣(mài)標(biāo)的保留價(jià)(若在拍賣(mài)時(shí)間結(jié)束時(shí),所有出價(jià)均低于拍賣(mài)標(biāo)的保留價(jià),則本次拍賣(mài)失?。?。
(3)在網(wǎng)站上發(fā)布本次拍賣(mài)品的介紹。
(4)買(mǎi)方參與拍賣(mài),給出竟拍價(jià)。
(5)賣(mài)方選擇接受一個(gè)竟拍價(jià)作為成交價(jià),結(jié)束拍賣(mài)。
(6)系統(tǒng)記錄拍賣(mài)成交價(jià),進(jìn)入拍賣(mài)結(jié)算階段。
(7)賣(mài)方和買(mǎi)方協(xié)商拍賣(mài)品成交方式,并完成成交
現(xiàn)采用面向?qū)ο蠓椒▽?duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì),得到如表3-1所示的類(lèi)列表以及如圖3-1所示的類(lèi)圖,類(lèi)中關(guān)鍵屬性與方法如表3-2所示。
【問(wèn)題1】(7分)
根據(jù)說(shuō)明中的描述,給出圖3-1中(1)~(7)所對(duì)應(yīng)的類(lèi)名(類(lèi)名使用表3-1中給出的序號(hào))。
【問(wèn)題2】(5分)
根據(jù)說(shuō)明中的描述,確定表3-2中的屬性/方法分別屬于哪個(gè)類(lèi)(類(lèi)名、方法/屬性名使用表3-1、3-2中給出的序號(hào))。
【問(wèn)題3】(3分)
在圖3-1采用了何種設(shè)計(jì)模式?以100字以?xún)?nèi)文字說(shuō)明采用這種設(shè)計(jì)模式的原因。
答案解析與討論:
www.conferencecallsmadeeasy.com/st/3815324092.html第
4題: 閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
n-皇后問(wèn)題是在n行n列的棋盤(pán)上放置n個(gè)皇后,使得皇后彼此之間不受攻擊,其規(guī)則是任意兩個(gè)皇后不在同一行、同一列和相同的對(duì)角線上。
擬采用以下思路解決n-皇后問(wèn)題:第i個(gè)皇后放在第i行。從第一個(gè)皇后開(kāi)始,對(duì)每個(gè)皇后,從其對(duì)應(yīng)行(第i個(gè)皇后對(duì)應(yīng)第i行)的第一列開(kāi)始嘗試放置,若可以放置,確定該位置,考慮下一個(gè)皇后;若與之前的皇后沖突,則考慮下一列;若超出最后一列,則重新確定上一個(gè)皇后的位置。重復(fù)該過(guò)程,直到找到所有的放置方案。
【C代碼】
下面是算法的C語(yǔ)言實(shí)現(xiàn)。
(1)常量和變量說(shuō)明
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;
}
【問(wèn)題1】(10分)
根據(jù)以上說(shuō)明和C代碼,填充C代碼中的空(1)~(5)。
【問(wèn)題2】(2分)
根據(jù)以上說(shuō)明和C代碼,算法采用了 (6) 設(shè)計(jì)策略。
【問(wèn)題3】(3分)
上述C代碼的輸出為:
(7) 。
答案解析與討論:
www.conferencecallsmadeeasy.com/st/3815415695.html第
5題: 閱讀下列說(shuō)明和C++代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某圖書(shū)管理系統(tǒng)中管理著兩種類(lèi)型的文獻(xiàn):圖書(shū)和論文?,F(xiàn)在要求統(tǒng)計(jì)所有館藏文獻(xiàn)的總頁(yè)碼(假設(shè)圖書(shū)館中有一本540頁(yè)的圖書(shū)和兩篇各25頁(yè)的論文,那么館藏文獻(xiàn)的總頁(yè)碼就是590頁(yè))。采用Visitor(訪問(wèn)者)模式實(shí)現(xiàn)該要求,得到如圖5-1所示的類(lèi)圖。
圖5-1 Visitor模式類(lèi)圖
【C++代碼】
class LibraryVisitor;
class LibraryItemInterface{
public:
(1) ;
};
class Article : public LibraryItemInterface {
private:
string m_title; //論文名
string m_author; //論文作者
int m_start_page;
int m_end_page;
public:
Article(string p_author, string p_title, int p_start_page,int p_end_page );
int getNumberOfPages();
void accept(Library Visitor* visitor);
};
class Book : public LibraryItemInterface {
private:
string m_title; //書(shū)名
string m_author; //作者
int m_pages; //頁(yè)數(shù)
public:
Book(string p_author, string p_title, int p_pages);
int getNumberOfPages();
void accept(LibraryVisitor* visitor);
};
class LibraryVisitor {
public:
(2) ;
(3) ;
virtual void printSum() = 0;
};
class LibrarySumPrintVisitor : public LibraryVisitor { //打印總頁(yè)數(shù)
private:
int sum;
public:
LibrarySumPrintVisitor();
void visit(Book* p_book);
void visit(Article* p_article);
void printSum();
};
// visitor.cpp
int Article: :getNumberOfPages(){
retum m_end_page - m_start_page;
}
void Article::accept(LibraryVisitor* visitor) { (4) ;}
Book: :Book(string p_author, string p_title, int p_pages ) {
m_title = p_title;
m_author = p_author;
m_pages = p_pages;
}
int Book::getNumberOfPages(){ return m_pages; }
void Book::accept(LibraryVisitor* visitor){ (5) ; }
//其余代碼省略
答案解析與討論:
www.conferencecallsmadeeasy.com/st/38155962.html