2018年下半年(下午)《軟件設(shè)計(jì)師》真題
《2018年下半年(下午)《軟件設(shè)計(jì)師》真題》由會(huì)員分享,可在線閱讀,更多相關(guān)《2018年下半年(下午)《軟件設(shè)計(jì)師》真題(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2018年下半年(下午)《軟件設(shè)計(jì)師》真題 注意:圖片可根據(jù)實(shí)際需要調(diào)整大小 卷面總分:6分 答題時(shí)間:240分鐘 試卷題量:6題 練習(xí)次數(shù):0次 問(wèn)答題 (共6題,共6分) 1.社交網(wǎng)絡(luò)平臺(tái)(SNS)的主要功能之一是建立在線群組,群組中的成員之間可以互相分享或挖掘興趣和活動(dòng)。每個(gè)群組包含標(biāo)題、管理員以及成員列表等信息。 社交網(wǎng)絡(luò)平臺(tái)的用戶可以自行選擇加入某個(gè)群組。每個(gè)群組擁有一個(gè)主頁(yè),群組內(nèi)的所有成員都可以查看主頁(yè)上的內(nèi)容。如果在群組的主頁(yè)上發(fā)布或更新了信息,群組中的成員會(huì)自動(dòng)接收到發(fā)布或更新后的信息
2、。 用戶可以加入一個(gè)群組也可以退出這個(gè)群組。用戶退出群組后,不會(huì)再接收到該群組發(fā)布或更新的任何信息。 現(xiàn)采用面向?qū)ο蠓椒▽?duì)上述需求進(jìn)行分析與設(shè)計(jì),得到如表3-1所示的類列表和如圖3-1所示的類圖。 【問(wèn)題1】(6分) 根據(jù)說(shuō)明中的描述,給出圖3-1中C1~C3所對(duì)應(yīng)的類名。 【問(wèn)題2】(6分) 圖3-1中采用了哪一種設(shè)計(jì)模式?說(shuō)明該模式的意圖及其適用場(chǎng)合。 【問(wèn)題3】(3分) 現(xiàn)在對(duì)上述社交網(wǎng)絡(luò)平臺(tái)提出了新的需求:一個(gè)群體可以作為另外一個(gè)群體中的成員,例如群體A加入群體B。那么,群體A中的所有成員就自動(dòng)成為群體B中的成員。 若要實(shí)現(xiàn)這個(gè)新需求,需要對(duì)圖3-1進(jìn)行哪些修改?
3、(以文字方式描述) 正確答案: 本題解析: 【問(wèn)題1】 C1:SNSGroup;C2:SNSUser;C3:SNSAdmin。 (其中C2、C3可以互換) 【問(wèn)題2】 采用的設(shè)計(jì)模式:觀察者模式 意圖:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新。 適用場(chǎng)合: (1)當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方面依賴于另一個(gè)方面,將這兩者封裝在獨(dú)立的對(duì)象中以使它們可以各自獨(dú)立地改變和復(fù)用。 (2)當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其他對(duì)象,而不
4、知道具體有多少對(duì)象有待改變時(shí)。 (3)當(dāng)一個(gè)對(duì)象必須通知其他對(duì)象,而它又不能假定其他對(duì)象是誰(shuí),即不希望這些對(duì)象是緊耦合的。 【問(wèn)題3】 (1)在SNSSubject和SNSObserver之間增加繼承關(guān)系,SNSObserver為基類,SNSSubject為派生類。 (2)為類SNSGroup增加自關(guān)聯(lián)(自己到自己的關(guān)聯(lián)關(guān)系)。 【問(wèn)題1】 本題補(bǔ)充類名,來(lái)源是表3-1所給出的類名。根據(jù)圖示,對(duì)于SNSSubje是抽象的被觀察者,具體被觀察的對(duì)象應(yīng)該是在主頁(yè)發(fā)布消息的群組,即C1是SNSGroup;SNSObserver是抽象的觀察者,具體的觀察者應(yīng)該是關(guān)注主頁(yè)的群組成員或群組管理
5、員,即C2是SNSUser;C3是SNSAdmin,且二者可以互換。 【問(wèn)題2】 根據(jù)圖示可知本題所用的是觀察者模式。觀察者模式是行為型設(shè)計(jì)模式。 意圖:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新。 適用場(chǎng)合: (1)當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方面依賴于另一個(gè)方面,將這兩者封裝在獨(dú)立的對(duì)象中以使它們可以各自獨(dú)立地改變和復(fù)用。 (2)當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其他對(duì)象,而不知道具體有多少對(duì)象有待改變時(shí)。 (3)當(dāng)一個(gè)對(duì)象必須通知其他對(duì)象,而它又不能假定其他對(duì)象是誰(shuí),即不希望這些對(duì)象是緊耦合的。 【問(wèn)題3】 對(duì)
6、于新需求:一個(gè)群體可以作為另外一個(gè)群體中的成員,例如群體A加入群體B。那么,群體A中的所有成員就自動(dòng)成為群體B中的成員。即群組是可以嵌套的,針對(duì)這個(gè)需求: (1)在SNSSubject和SNSObserver之間增加繼承關(guān)系,SNSObserver為基類,SNSSubject為派生類。 (2)為類SNSGroup增加自關(guān)聯(lián)(自己到自己的關(guān)聯(lián)關(guān)系)。 2.某航空公司的會(huì)員積分系統(tǒng)將其會(huì)員劃分為:普卡(Basic)、銀卡(Silver)和金卡(Gold)三個(gè)等級(jí)。非會(huì)員(Non Member)可以申請(qǐng)成為普卡會(huì)員。會(huì)員的等級(jí)根據(jù)其一年內(nèi)累積的里程數(shù)進(jìn)行調(diào)整。描述
7、會(huì)員等級(jí)調(diào)整的狀態(tài)圖如圖5-1所示?,F(xiàn)采用狀態(tài)(State)模式實(shí)現(xiàn)上述場(chǎng)景,得到如圖5-2所示的類圖。 正確答案: 本題解析: (1)virtual double travel(int miles,FrequentFlyer*context)=0 (2)context->setState(context→silver) (3)context->setState(context→gold) (4)context->setState(context→silver) (5)context->
8、setState(context→basic) 由代碼可知,(1)空缺少一個(gè)抽象方法,根據(jù)下面的子類可以發(fā)現(xiàn),子類都有double travel(int miles,FrequentFlyer context)方法,是從該抽象類中繼承而來(lái),因此(1)空應(yīng)該補(bǔ)充這個(gè)方法,并加上abstract修飾,即(1)virtual double travel(int miles,FrequentFlyer*context)=0。 (2)(3)(4)(5)可以從狀態(tài)圖中根據(jù)相關(guān)狀態(tài)推斷出來(lái)。 首先,(2)(3)屬于普卡會(huì)員CBasic,從狀態(tài)圖和代碼可以看到,當(dāng)里程>=25000且<5000時(shí),會(huì)員等
9、級(jí)應(yīng)該從普卡會(huì)員CBasic升級(jí)到銀卡會(huì)員CSilver,根據(jù)后面已有的代碼,可以推斷表示升級(jí)到銀卡會(huì)員CSilver的表示方式為: context->setState(context->silver);同理對(duì)于(3)空,在普卡會(huì)員CBasic狀態(tài),里程>=50000時(shí),應(yīng)該升級(jí)為金卡會(huì)員CGold,此時(shí)升級(jí)金卡CGold的表示方式為context->setState(ncontext->silver),以此類推,(4)(5)分別對(duì)應(yīng)金卡會(huì)員CGold狀態(tài)下,不同條件,降低的不同等級(jí)。因此(4)為降級(jí)為銀卡會(huì)員CSilver,(5)為降級(jí)為普卡會(huì)員CBasic,對(duì)應(yīng)的表示方式分別為conte
10、xt->setState(context->silver)和context->setState(context->basic)。 注: 本題空(3)條件代碼有異議,參照題干邏輯,此處缺失向金卡會(huì)員的變遷。因此可填寫context->setState(context->gold)。 3.某房產(chǎn)中介連鎖企業(yè)欲開發(fā)一個(gè)基于Web的房屋中介信息系統(tǒng),以有效管理房源和客戶,提高成交率。該系統(tǒng)的主要功能是: 1.房源采集與管理。系統(tǒng)自動(dòng)采集外部網(wǎng)站的潛在房源信息,保存為潛在房源。由經(jīng)紀(jì)人聯(lián)系確認(rèn)的潛在房源變?yōu)榉吭?,并添加出?出租房源的客戶。由經(jīng)紀(jì)人或客戶登記的出售/
11、出租房源,系統(tǒng)將其保存為房源。房源信息包括基本情況、配套設(shè)施、交易類型、委托方式、業(yè)主等。經(jīng)紀(jì)人可以對(duì)房源進(jìn)行更新等管理操作。 2.客戶管理。求租/求購(gòu)客戶進(jìn)行注冊(cè)、更新,推送客戶需求給經(jīng)紀(jì)人,或由經(jīng)紀(jì)人對(duì)求租/求購(gòu)客戶進(jìn)行登記、更新。客戶信息包括身份證號(hào)、姓名、手機(jī)號(hào)、需求情況、委托方式等。 3.房源推薦。根據(jù)客戶的需求情況(求購(gòu)/求租需求情況以及出售/出租房源信息),向已登錄的客戶推薦房源。 4.交易管理。經(jīng)紀(jì)人對(duì)租售客戶雙方進(jìn)行交易信息管理,包括訂單提交和取消,設(shè)置收取中介費(fèi)比例。財(cái)務(wù)人員收取中介費(fèi)之后,表示該訂單已完成,系統(tǒng)更新訂單狀態(tài)和房源狀態(tài),向客戶和經(jīng)紀(jì)人發(fā)送交易反饋。
12、5.信息查詢??蛻舾鶕?jù)自身查詢需求查詢房屋供需信息。 現(xiàn)采用結(jié)構(gòu)化方法對(duì)房屋中介信息系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。 【問(wèn)題1】(4分) 使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1-E4的名稱。 【問(wèn)題2】(4分) 使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1-D4的名稱。 【問(wèn)題3】(3分) 根據(jù)說(shuō)明和圖中術(shù)語(yǔ),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。 【問(wèn)題4】(4分) 根據(jù)說(shuō)明中術(shù)語(yǔ),給出圖1-1中數(shù)據(jù)流“客戶信息”、“房源信息”的組成。 正確答案:
13、 本題解析: 【問(wèn)題1】 E1:客戶;E2:經(jīng)紀(jì)人;E3:財(cái)務(wù)人員;E4:外部網(wǎng)站 【問(wèn)題2】 D1:客戶記錄;D2:潛在房源記錄;D3:房源記錄;D4:訂單記錄 【問(wèn)題3】 缺失數(shù)據(jù)流如下: 1、交易反饋:起點(diǎn)-P4交易管理,終點(diǎn)-E2 2、客戶需求:起點(diǎn)-D1,終點(diǎn)-P3房源推薦 3、房源狀態(tài):起點(diǎn)-P4交易管理,終點(diǎn)-D3 4、檢索潛在房源:起點(diǎn)-D2,終點(diǎn)-P1房源采集與管理 【問(wèn)題4】 客戶信息=身份證號(hào)+姓名+手機(jī)號(hào)+需求情況+委托方式。 房源信息=基本情況+配套設(shè)施+交易類型+委托方式+業(yè)主等。 【問(wèn)題1】 題干說(shuō)明中
14、,自動(dòng)采集潛在房源信息,并且無(wú)反饋信息的為外界網(wǎng)站,即1-1中的E4; 只有經(jīng)紀(jì)人可以確認(rèn)潛在房源,因此E2為經(jīng)紀(jì)人; 系統(tǒng)只向客戶推送推薦房源,因此E1為客戶; 財(cái)務(wù)管理人員收取中介費(fèi)用,因此E3為財(cái)務(wù)人員; 綜上,E1:客戶;E2:經(jīng)紀(jì)人;E3:財(cái)務(wù)人員;E4:外部網(wǎng)站。 【問(wèn)題2】 對(duì)于新增潛在房源,保存為潛在房源,即D2為潛在房源記錄; 對(duì)于新增房源保存為房源,即D3為房源記錄; 對(duì)于新增客戶應(yīng)該保存為客戶信息,因此D1為客戶記錄或客戶信息表; 對(duì)于訂單檢索的對(duì)象應(yīng)該為訂單記錄,即D4為訂單記錄。 【問(wèn)題3】 由頂層圖和0層圖的父子平衡可知,圖1-2遺漏P4→E2
15、,交易反饋; 由題干描述可知,對(duì)于P4交易管理,“系統(tǒng)更新訂單狀態(tài)和房源狀態(tài)”,此時(shí)需要更新房源記錄,此處缺少數(shù)據(jù)流P4→D3; 由題干描述可知,對(duì)于P3房源推薦,“根據(jù)客戶的需求情況(求購(gòu)/求租需求情況以及出售/出租房源信息),向已登錄的客戶推薦房源?!?,此處缺少數(shù)據(jù)流,D1→P3。 由題干描述可知,對(duì)于房源采集與管理“系統(tǒng)自動(dòng)采集外部網(wǎng)站的潛在房源信息,保存為潛在房源。由經(jīng)紀(jì)人聯(lián)系確認(rèn)的潛在房源變?yōu)榉吭?,并添加出?出租房源的客戶?!笨芍庸し吭床杉c管理P1從潛在房源D2讀取數(shù)據(jù)進(jìn)行確認(rèn),此處缺少數(shù)據(jù)流D2→P1。 【問(wèn)題4】 “房源信息包括基本情況、配套設(shè)施、交易類型、委托方
16、式、業(yè)主等”“客戶信息包括身份證號(hào)、姓名、手機(jī)號(hào)、需求情況、委托方式等?!备鶕?jù)題干說(shuō)明列出數(shù)據(jù)項(xiàng)即可。 4.某集團(tuán)公司擁有多個(gè)分公司,為了方便集團(tuán)公司對(duì)分公司各項(xiàng)業(yè)務(wù)活動(dòng)進(jìn)行有效管理,集團(tuán)公司決定構(gòu)建一個(gè)信息系統(tǒng)以滿足公司的業(yè)務(wù)管理需求。 【需求分析】 1.分公司關(guān)系需要記錄的信息包括分公司編號(hào)、名稱、經(jīng)理、聯(lián)系地址和電話。分公司編號(hào)唯一標(biāo)識(shí)分公司信息中的每一個(gè)元組。每個(gè)分公司只有一名經(jīng)理,負(fù)責(zé)該分公司的管理工作。每個(gè)分公司設(shè)立僅為本分公司服務(wù)的多個(gè)業(yè)務(wù)部門,如研發(fā)部、財(cái)務(wù)部、采購(gòu)部、銷售部等。 2.部門關(guān)系需要記錄的信息包括部門號(hào)、部門名稱、主管號(hào)、電話
17、和分公司編號(hào)。部門號(hào)唯一標(biāo)識(shí)部門信息中的每一個(gè)元組。每個(gè)部門只有一名主管,負(fù)責(zé)部門的管理工作。每個(gè)部門有多名員工,每名員工只能隸屬于一個(gè)部門。 3.員工關(guān)系需要記錄的信息包括員工號(hào)、姓名、隸屬部門、崗位、電話和基本工資。其中,員工號(hào)唯一標(biāo)識(shí)員工信息中的每一個(gè)元組。崗位包括:經(jīng)理、主管、研發(fā)員、業(yè)務(wù)員等。 【概念模型設(shè)計(jì)】 根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖和關(guān)系模式(不完整)如圖2-1所示: 【關(guān)系模式設(shè)計(jì)】 分公司(分公司編號(hào),名稱,(a),聯(lián)系地址,電話) 部門(部門號(hào),部門名稱,(b),電話) 員工(員工號(hào),姓名(c),電話,基本工資) 【問(wèn)題1】(4分) 根
18、據(jù)問(wèn)題描述,補(bǔ)充4個(gè)聯(lián)系,完善圖2-1的實(shí)體聯(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:*和*:*)。 【問(wèn)題2】(5分) 根據(jù)題意,將關(guān)系模式中的空(a)-(c)補(bǔ)充完整。 【問(wèn)題3】(4分) 給出“部門”和“員工”關(guān)系模式的主鍵和外鍵。 【問(wèn)題4】(2分) 假設(shè)集團(tuán)公司要求系統(tǒng)能記錄部門歷任主管的任職時(shí)間和任職年限,那么是否需要在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)增設(shè)一個(gè)實(shí)體?為什么? 正確答案: 本題解析: 【問(wèn)題1】 聯(lián)系1:分公司:經(jīng)理,1:
19、1 聯(lián)系2:分公司:部門,1:* 聯(lián)系3:部門:主管,1:1 聯(lián)系4:部門:?jiǎn)T工,1:* 【問(wèn)題2】 (a)經(jīng)理工號(hào) (b)分公司編號(hào),主管號(hào) (c)隸屬部門,崗位 【問(wèn)題3】 部門 主鍵:部門號(hào);外鍵:分公司編號(hào),主管號(hào) 員工 主鍵:?jiǎn)T工號(hào);外鍵:隸屬部門 【問(wèn)題4】 不需要增加新的實(shí)體,對(duì)于任職情況,可以將任職時(shí)間和任職年限放入聯(lián)系的屬性即可,將部門與主管的聯(lián)系單獨(dú)形成關(guān)系模式,任職(部門號(hào),主管工號(hào),任職時(shí)間,任職年限)。 【問(wèn)題1-3】 根據(jù)題干描述,可以找到對(duì)應(yīng)答案。 “分公司關(guān)系需要記錄的信息包括分公司編號(hào)、名稱、經(jīng)理、聯(lián)系地址和電話?!保?/p>
20、a)需要補(bǔ)充經(jīng)理工號(hào); “部門關(guān)系需要記錄的信息包括部門號(hào)、部門名稱、主管號(hào)、電話和分公司編號(hào)。部門號(hào)唯一標(biāo)識(shí)部門信息中的每一個(gè)元組?!保╞)需要補(bǔ)充分公司編號(hào)和主管號(hào),且部門號(hào)唯一標(biāo)識(shí)元組,為部門關(guān)系主鍵,其中分公司編號(hào)、主管號(hào)分別是分公司關(guān)系和員工關(guān)系的主鍵,所以在部門關(guān)系中為外鍵; 同理,“員工關(guān)系需要記錄的信息包括員工號(hào)、姓名、隸屬部門、崗位、電話和基本工資。其中,員工號(hào)唯一標(biāo)識(shí)員工信息中的每一個(gè)元組?!笨芍╟)空需補(bǔ)充隸屬部門和崗位,其中員工號(hào)為主鍵,隸屬部門為外鍵。 【問(wèn)題4】 不需要增加新的實(shí)體,對(duì)于任職情況,可以將任職時(shí)間和任職年限放入聯(lián)系的屬性即可,將部門與主管的聯(lián)
21、系單獨(dú)形成關(guān)系模式,任職(部門號(hào),主管工號(hào),任職時(shí)間,任職年限)。 5. 【問(wèn)題1】(8分) 根據(jù)題干說(shuō)明,填充C代碼中的空(1)-(4)。 【問(wèn)題2】(4分) 根據(jù)題干說(shuō)明和C代碼,算法采用的設(shè)計(jì)策略為(5)。 算法的時(shí)間復(fù)雜度為(6),(用O表示)。 【問(wèn)題3】(3分〉 給定字符序列ACCGGUAGU,根據(jù)上述算法求得最大字符對(duì)數(shù)為(7)。 正確答案: 本題解析: 【問(wèn)題1】 (1)max=C[i][j-1] (2)t=i (3)isMatch
22、(B[t],B[j]),或isMatch(B[t],B[j])==1,或與其等價(jià)的形式 (4)C[1][n] 【問(wèn)題2】 采用的算法策略:動(dòng)態(tài)規(guī)劃法 時(shí)間復(fù)雜度:O(n3) 【問(wèn)題3】 最大字符對(duì)數(shù):2 本題考查的是用動(dòng)態(tài)規(guī)劃法,以非遞歸方式實(shí)現(xiàn)。 根據(jù)題干,配對(duì)要求: (1)滿足四種組合之一; (2)配對(duì)的2個(gè)字符間距至少有4個(gè)字符; (3)若字符已配對(duì),則其他配對(duì)不再考慮,也就是說(shuō)1個(gè)字符不能配對(duì)2次,比如ACCCCUCCCCA,只有1組配對(duì)AU,U不能再與后面的A形成第2組配對(duì); (4)不交叉,2組配對(duì)字符位置能交叉,比如ACCCCCUUUUG,只有1組配對(duì)AU,
23、CG與AU有交叉不能形成配對(duì)。 【問(wèn)題1】 對(duì)于問(wèn)題1代碼填空,主要根據(jù)題干描述和代碼上下文進(jìn)行推導(dǎo)。 根據(jù)代碼上下文可知,在整段代碼中,缺少對(duì)變量max和t賦初值,這兩個(gè)初值的賦值,應(yīng)該填在空(1)和空(2)中,一般t作為循環(huán)變量,在for中進(jìn)行賦值。 代碼中有三層嵌套for循環(huán)。 其中第一層for循環(huán),變量為k,取值范圍從5到n-1,從題干描述,我們可以看到對(duì)于整個(gè)比較過(guò)程,要求字符對(duì)的位置相差大于4,因此此處的k值是字符對(duì)下標(biāo)的差值; 第二層for循環(huán),變量為i,取值范圍從1到n-k,從題干描述,我們可以得出i是字符對(duì)較小的下標(biāo); 第三層for循環(huán),變量為t,取值范圍需要賦
24、初值,并且t<=j-4(此處有異議,與題干描述中的>4有不符,但不影響本題解題過(guò)程),從題干描述和遞歸式可以看到,t是中間字符下標(biāo),用來(lái)劃分子問(wèn)題的,并且從遞歸式我們可以得出,t的最小值應(yīng)該從i開始,因此空(2)為t=i; 在第二層for循環(huán)內(nèi)部,有j=i+k,根據(jù)代碼和題干描述,可以得出j是字符對(duì)較大的下標(biāo),根據(jù)i和k的取值,可以看到j(luò)的取值范圍為從6到n-1,對(duì)于空(1)作為max的初始賦值,又根據(jù)遞歸式,可以看到max應(yīng)該在C[i][j-1]和C[i][t-1]+1+C[t+1][j-1]之間取最大值,在代碼中可以看到if會(huì)判斷max與C[i][t-1]+1+C[t+1][j-1]之間
25、的大小,因此,max之前的賦值應(yīng)該為C[i][j-1],才能對(duì)二者進(jìn)行比較,也就是說(shuō)空(1)應(yīng)該為max=C[i][j-1]。 空(3)在if判斷中作為判斷條件,根據(jù)遞歸式的條件和代碼上下文,此處缺少字符匹配的判斷,題干描述字符下標(biāo)從1開始,因此,在比較過(guò)程中,實(shí)際比較的應(yīng)該為B[t]和B[j]位置的字符,空(3)應(yīng)該填寫isMatch(B[t],B[j),或isMatch(B[t],B[j])==1,或與其等價(jià)的形式。 空(4)作為整個(gè)函數(shù)的返回值,因此空(4)應(yīng)該為C[1][n]為最終結(jié)果。 【問(wèn)題2】 本題采取的是動(dòng)態(tài)規(guī)劃的策略,代碼為三層嵌套循環(huán)時(shí)間復(fù)雜度為k*i*t,由于k的
26、取值范圍是6~n-1,i的取值范圍是1~n-5,t的取值范圍是1~n-5,都是與n的取值相關(guān),因此本題的時(shí)間復(fù)雜度為O(n3)。 【問(wèn)題3】 對(duì)于本題最大字符匹配對(duì)數(shù),根據(jù)題干描述或代碼推導(dǎo),可以看到,字符序列ACCGGUAGU的最大匹配情況為,(b1,b6),(b1,b9)或(b2,b8),(b3,b8),這兩種情況的最大匹配對(duì)數(shù)都為2,因此本題答案(7)空為2。 6.某航空公司的會(huì)員積分系統(tǒng)將其會(huì)員劃分為:普卡(Basic)、銀卡(Silver)和金卡(Gold) 三個(gè)等級(jí)。非會(huì)員(Non Member)可以申請(qǐng)成為普卡會(huì)員。會(huì)員的等級(jí)根據(jù)其一年內(nèi)累積
27、的里程數(shù)進(jìn)行調(diào)整。描述會(huì)員等級(jí)調(diào)整的狀態(tài)圖如圖6-1所示?,F(xiàn)采用狀態(tài)(State)模式 實(shí)現(xiàn)上述場(chǎng)景,得到如圖6-2所示的類圖。 正確答案: 本題解析: (1)abstract double travel(int miles,FrequentFlyer context) (2)context.setState(new CSilver()) (3)context.setState(new CGold()) (4)context.setState(new CSilver()) (5)con
28、text.setState(new CBasic()) 由代碼可知,(1)空缺少一個(gè)抽象方法,根據(jù)下面的子類可以發(fā)現(xiàn),子類都有double travel(int miles,FrequentFlyer context)方法,是從該抽象類中繼承而來(lái),因此(1)空應(yīng)該補(bǔ)充這個(gè)方法,并加上abstract修飾。 (2)(3)(4)(5)可以從狀態(tài)圖中根據(jù)相關(guān)狀態(tài)推斷出來(lái)。 首先,(2)(3)屬于普卡會(huì)員CBasic,從狀態(tài)圖和代碼可以看到,當(dāng)里程>=25000且<5000時(shí),會(huì)員等級(jí)應(yīng)該從普卡會(huì)員CBasic升級(jí)到銀卡會(huì)員CSilver,根據(jù)后面已有的代碼,可以推斷表示升級(jí)到銀卡會(huì)員CSilv
29、er的表示方式為context.setState(new CSilver());同理對(duì)于(3)空,在普卡會(huì)員CBasic狀態(tài),里程>=50000時(shí),應(yīng)該升級(jí)為金卡會(huì)員CGold,此時(shí)升級(jí)金卡CGold的表示方式為context.setState(new CGold()),以此類推,(4)(5)分別對(duì)應(yīng)金卡會(huì)員CGold狀態(tài)下,不同條件,降低的不同等級(jí)。因此(4)為降級(jí)為銀卡會(huì)員CSilver,(5)為降級(jí)為普卡會(huì)員CBasic,對(duì)應(yīng)的表示方式分別為context.setState(new CSilver())和context.setState(new CBasic())。
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)《觀潮》課件1 (3)
- 中考數(shù)學(xué)課件浙教版中考數(shù)學(xué)數(shù)與式(1)
- 食品安全及其評(píng)價(jià)體系課件
- 不規(guī)則物體的體積初成-PPT
- 抑郁癥的防治
- 優(yōu)選光輻射測(cè)量系統(tǒng)的性能及其測(cè)量課件
- 14通往廣場(chǎng)的路不止一條課件
- 石油能源行業(yè)2020工作總結(jié)與2020工作計(jì)劃ppt模板
- 微生物鏈霉菌和其在生產(chǎn)中的應(yīng)用
- 優(yōu)質(zhì)護(hù)理服務(wù)措施ppt
- 小小的書櫥課件(北師大版語(yǔ)文三年級(jí)下冊(cè))
- 第6章國(guó)際貨物運(yùn)輸2
- 氣胸的健康指導(dǎo)ppt課件
- 認(rèn)識(shí)計(jì)算機(jī)鍵盤微課
- 先天性髖關(guān)節(jié)脫位X線診斷