2019年下半年(下午)《軟件設計師》真題

上傳人:住在山****ck 文檔編號:81208710 上傳時間:2022-04-26 格式:DOCX 頁數(shù):10 大小:1.37MB
收藏 版權申訴 舉報 下載
2019年下半年(下午)《軟件設計師》真題_第1頁
第1頁 / 共10頁
2019年下半年(下午)《軟件設計師》真題_第2頁
第2頁 / 共10頁
2019年下半年(下午)《軟件設計師》真題_第3頁
第3頁 / 共10頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《2019年下半年(下午)《軟件設計師》真題》由會員分享,可在線閱讀,更多相關《2019年下半年(下午)《軟件設計師》真題(10頁珍藏版)》請在裝配圖網上搜索。

1、2019年下半年(下午)《軟件設計師》真題 注意:圖片可根據實際需要調整大小 卷面總分:6分 答題時間:240分鐘 試卷題量:6題 練習次數(shù):0次 問答題 (共6題,共6分) 1.公司擬開發(fā)新入職員工的技能培訓管理系統(tǒng)以便使新員工快速勝任新崗位。 1.部門信息包括:部門號、名稱、部門負責人、電話等,部門號唯一標識部門關系中的每一個元組,一個部門有多個員工,但一名員工只屬于一個部門,每個部門只有一名負責人,負責部門工作。 2.員工信息包括員工號、姓名、部門號、崗位、基本工資、電話、家庭住址等,其中員工號

2、是唯一標示員工關系中的每一個元組。崗位有新入職員工,培訓師、部門負責人等不同崗位設置不同的基本工資,新入職員工要選擇多門課程進行培訓,并通過考試取得課程成績,一名培訓師可以講授多門課程、一門課程可由多名培訓師講授。 3.課程信息包括課程號,課程名稱、學時等;其中課程號唯一標識課程關系的每一個元組。 關系模式設計 部門(部門號,部門名,部門負責人,電話) 員工(員工號,姓名,部門號,d,電話,家庭住址) 課程(e,課程名稱,學時) 講授(課程號,培訓師,培訓地點) 培訓(課程號,(f)) 根據需求階段收集的信息,設計的實體聯(lián)系圖如圖2-1所示 圖2-1 【問題1】 (1

3、)補充圖2-1中的空(a)-(c)。 (2)圖2-1中是否存在缺失聯(lián)系,若存在,則說明所缺失的聯(lián)系和聯(lián)系類型。 【問題2】 根據題意,將關系模式中的空(d)-(f)補充完整。 【問題3】 員工關系模式的主鍵為(g),外鍵為(h),講授關系模式的主鍵為(i),外鍵為(j)。 【問題4】 員工關系是否存在傳遞依賴?用100字以內的文字說明理由。 ?收藏查看解析 參考答案: 【問題1】 (1)(a)部門負責人;(b)培訓師;(c)新入職員工 (2)存在缺失聯(lián)系:員工與部門之間隸屬關系,聯(lián)系類型*:1。 (或,存在缺失聯(lián)系:部門與員工之間隸屬關系,聯(lián)系類型1:*)。 【問題

4、2】 (d)崗位,基本工資;(e)課程號;(f)新入職員工/新入職員工工號,課程成績 【問題3】 【問題4】 存在傳遞函數(shù)依賴。 在員工關系中,員工的崗位有新入職員工,培訓師,部門負責人,不同崗位設置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。 正確答案: 本題解析: 【問題1】 (1)(a)部門負責人;(b)培訓師;(c)新入職員工 (2)存在缺失聯(lián)系:員工與部門之間隸屬關系,聯(lián)系類型*:1。 (或,存在缺失聯(lián)系:部門與員工之間隸屬關系,聯(lián)系類型1:*)。

5、【問題2】 (d)崗位,基本工資;(e)課程號;(f)新入職員工/新入職員工工號,課程成績 【問題3】 【問題4】 存在傳遞函數(shù)依賴。 在員工關系中,員工的崗位有新入職員工,培訓師,部門負責人,不同崗位設置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。 【問題1】 (本題預估分值5分,填空每空1分,聯(lián)系2分) (1)根據題干描述員工崗位有新入職員工、培訓師、部門負責人,所以對于員工的特殊化實體有新入職員工、培訓師、部門負責人,又根據圖示,(a)與部門之間有負責關系,所以(a)是部門負責人,(b)與課程之間有講授關系,所以(b)為培訓師,(c)與課程之間有

6、培訓關系,根據題干描述新入職員工需要選擇多門課程進行培訓,所以(c)是新入職員工。 (2)根據題干說明,一個部門有多個員工,但一名員工只屬于一個部門,所以員工與部門之間存在隸屬關系,并且員工與部門之間聯(lián)系類型為*:1。(或部門與員工之間存在1:*的聯(lián)系)。 【問題2】 (本題預估分值3分,每空1分) 根據題干說明“員工信息包括員工號、姓名、部門號、崗位、基本工資、電話、家庭住址等”,員工關系缺少屬性(d):崗位,基本工資。 根據題干說明“課程信息包括課程號、課程名稱、學時等”,課程關系缺失屬性(e):課程號。 根據題干說明,培訓關系是新入職員工與課程之間多對多聯(lián)系的轉換,所以必須包

7、含二者的主鍵即新入職員工的員工號(員工號唯一標識員工關系中的每一個元組)和課程的課程號(課程號唯一標識課程關系的每一個元組),又根據說明“新入職員工要選擇多門課程進行培訓,并通過考試取得課程成績”,因此培訓還需要有自身的屬性課程成績,即培訓關系缺失屬性(f):新入職員工/新入職員工工號,課程成績。 【問題3】 (本題預估分值4分,每空1分) 本題考查對主鍵和外鍵的判斷,主鍵可以唯一標識元組,外鍵是其他關系的主鍵。 根據題干說明“員工號唯一標識員工關系中的每一個元組”,因此員工關系的主鍵(g)為員工號,又因為“部門號唯一標識部門關系中的每一個元組”,即部門號是部門關系的主鍵,在員工關系中

8、,是作為外鍵(h)的。 根據題干說明和圖示可知,講授關系是培訓師與課程之間多對多的聯(lián)系轉換,此時主鍵應該是二者的主鍵組合,即主鍵(i)(培訓師,課程號),又因為培訓師是培訓師的主鍵,課程號是課程的主鍵,所以二者又是講授關系的外鍵(j)。本題由于培訓地點是否固定并沒有給出描述,所以無法判斷是否屬于主鍵組合的一部分,因此給出主鍵(i)(培訓師,課程號,培訓地點)組合鍵也可以得分。 【問題4】 (本題預估3分,判斷1分,理由2分) 本題存在傳遞函數(shù)依賴。 在員工關系中,員工的崗位有新入職員工,培訓師,部門負責人,不同崗位設置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。

9、 2.某文件管理系統(tǒng)中定義了類OfficeDoc和DocExplorer。當類OfficeDoc發(fā)生變化時,類DocExplorer的所有對象都要更新其自身的狀態(tài)?,F(xiàn)采用觀察者(Observer)設計模式來實現(xiàn)該需求,所設計的類圖如圖6-1所示。 正確答案: 本題解析: (1)virtual void update()=0 (2)Observer* (3)(*iter)->update() (4)Subject* (5)Attach(this)

10、 本題考查設計模式中的觀察者(Observer)模式的基本概念和應用。 觀察者模式的意圖是,定義對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。觀察者模式的結構圖如圖5-2所示。 其中: Subject(目標)知道它的觀察者,可以有任意多個觀察者觀察同一個目標;提供注冊和刪除觀察者對象的接口。 Observer(觀察者)為那些在目標發(fā)生改變時需獲得通知的對象定義一個更新接口。 ConcreteSubject(具體目標)將有關狀態(tài)存入各ConcreteObserver對象;當它的狀態(tài)發(fā)生改變時,向它的各個觀察者發(fā)出通知。 Co

11、ncreteObserver(具體觀察者)維護一個指向ConcreteSubject對象的引用;存儲有關狀態(tài),這些狀態(tài)應與目標的狀態(tài)保持一致;實現(xiàn)Observer的更新接口,以使自身狀態(tài)與目標的狀態(tài)保持一致。 觀察者模式適用于: 當一個抽象模型有兩個方面,其中一個方面依賴于另一個方面,將這兩者封裝在獨立的對象中以使它們可以各自獨立地改變和復用。 當對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變時。 當一個對象必須通知其他對象,而它又不能假定其他對象是誰,即不希望這些對象是緊耦合的。 本題中的類Subject對應于圖6-2中的Subject,類OfficeDoc對

12、應ConcreteSubject,類Observer對應圖6-2中的Observer,類DocExplore對應ConcreteObserver。DocExplore維護一個指向OfficeDoc對象的引用,當OfficeDoc的狀態(tài)發(fā)生改變時,向DocExplore發(fā)出通知。 第(1)空需要填寫Observer中的核心方法,即在目標發(fā)生改變時通知觀察者的更新接口。這個方法的原型可以在Obsever的子類DocExplore中找到:void update()。update方法需要在其子類中進行重置,這里采用了C++中的動態(tài)多態(tài)計機制——純虛擬函數(shù)。所以第(1)空應填入virtual void

13、 update()=0。 一個Subject可以有多個觀察者,在Subject中需要提供增加和刪除觀察者的接口,即類中的Attach、Detach方法。這兩個方法的主要操作對象就是類中的屬性myObs。根據程序上下文推斷,myObs表示的應該是觀察者的集合,所以第(2)空應填入Observer*。 第(3)空出現(xiàn)在Subject的方法Notify中,這個方法的功能是當目標發(fā)生變化時,通知所有與該目標關聯(lián)的觀察者,即調用每個觀察者定義的update方法,所以第(3)空應填入(*iter)->update()。 DocExplore是一個具體的觀察者,它需要維護一個指向目標的對象,在這里實際

14、上就是指向OfficeDoc的對象。觀察者與目標的關聯(lián)關系是通過DocExplore的構造函數(shù)實現(xiàn)的。在面向對象的繼承機制中,通常傾向于用基類指針代替派生類指針,因此第(4)空應填入Subject*。 觀察者與目標的關聯(lián)關系的建立需要調用Subject中的方法Attach,因此第(5)空應填入Attach(this)。 3.某公司欲開發(fā)一款二手車物流系統(tǒng),以有效提升物流成交效率。該系統(tǒng)的主要功能是: (1)訂單管理:系統(tǒng)抓取線索,將車輛交易系統(tǒng)的交易信息抓取為線索。幫買顧問看到有買車線索后,會打電話詢問買家是否需要物流,若需要,幫買顧問就將這個線索發(fā)起為訂單

15、并在系統(tǒng)中存儲,然后系統(tǒng)幫助買家尋找物流商進行承運。 (2)路線管理:幫買顧問對物流商的路線進行管理,存儲的路線信息包括路線類型、物流商、起止地點。路線分為三種,即固定路線、包車路線、競拍體系,其中固定路線和包車路線是合約制。包車路線的發(fā)車時間由公司自行管理,是訂單的首選途徑。 (3)合約管理:幫買顧問根據公司與物流商確定的合約,對合約內容進行設置,合約信息包括物流商信息、路線起止城市、價格、有效期等。 (4)尋找物流商:系統(tǒng)根據訂單的類型(保賣車、全國購和普通二手車)、起止城市,需要的服務模式(買家接、送到買家等)進行自動派發(fā)或以競拍體系方式選擇合適的物流商。即:有新訂單時,若為保賣車

16、或全國購,則直接分配到競拍體系中。否則,若符合固定路線和/或包車路線,系統(tǒng)自動分配給合約物流商,若不符合固定路線和包車路線,系統(tǒng)將訂單信息分配到競拍體系中。競拍體系接收到訂單后,將訂單信息推送給有相關路線的物流商,物流商對訂單進行競拍出價,最優(yōu)報價的物流商中標。最后,給承運的物流商發(fā)送物流消息,更新訂單的物流信息,給車輛交易系統(tǒng)發(fā)送物流信息。 (5)物流商注冊:物流商賬號的注冊開通。 現(xiàn)采用結構化方法對二手車物流系統(tǒng)進行分析與設計,獲得如圖1-1所示的上下文數(shù)據流圖和圖1-2所示的0層數(shù)據流圖。 【問題1】(3分) 使用說明中的詞語,給出圖1-1中的實體E1~E3的名稱。 【

17、問題2】(5分) 使用說明中的詞語,給出圖1-2中的數(shù)據存儲D1~D5的名稱。 【問題3】(4分) 根據說明和圖中術語,補充圖1-2中缺失的數(shù)據流及其起點和終點。 【問題4】(3分) 根據說明,采用結構化語言對“P5:尋找物流商”的加工邏輯進行描述。 正確答案: 本題解析: 【問題1】 E1:幫買顧問;E2:車輛交易系統(tǒng);E3:物流商。 【問題2】 D1:線索信息表/線索信息存儲;D2:訂單信息表/訂單信息存儲; D3:路線信息表/路線信息存儲;D4:合約信息表/合約信息存儲; D5

18、:物流商信息表。 【問題3】 【問題4】 【問題1】 本題屬于常規(guī)題型,補充數(shù)據流圖中的實體名,實體一般為人員、組織機構、第三方系統(tǒng)等。 根據題干描述,“幫買顧問看到有買車線索后,…”可知接收交易線索的E1對應實體應該是幫買顧問;根據題干描述“將車輛交易系統(tǒng)的交易信息抓取為線索”可知提供車輛交易信息的E2對應實體應該是車輛交易信息;根據題干描述“物流商注冊:物流商賬號的注冊開通?!笨芍峁┪锪魃套孕畔⒌腅3對應實體應該是物流商。 【問題2】 本題屬于常規(guī)題型,補充數(shù)據流圖中的數(shù)據存儲名,一般對應**庫、**表、**檔案等。 根據題干描述和圖示P1抓取線索后交易線索

19、數(shù)據流入并且有線索數(shù)據流出的數(shù)據存儲,應該是線索存儲,即D1為線索信息表(線索信息存儲等)。根據題干描述“幫買顧問將這個線索發(fā)起為訂單并在系統(tǒng)中存儲”和圖示P2發(fā)起訂單,新訂單數(shù)據流入的數(shù)據存儲D2,應該是訂單信息表。根據題干描述和圖示P3路線管理,有路線數(shù)據流入的數(shù)據存儲D3應該是路線信息表。根據題干描述和圖示P4合約管理,有合約數(shù)據流入的數(shù)據存儲D4應該是合約信息表。根據題干描述和圖示P5、P6,有新物流商數(shù)據流入、物流商信息數(shù)據流出的數(shù)據存儲D5,應該是物流商信息表。 【問題3】 本題屬于常規(guī)題型,補充缺失的數(shù)據流及其起點和終點。 1、根據父圖-子圖平衡原則,父圖存在E2→二手車物

20、流系統(tǒng)的物流信息數(shù)據流,子圖不存在,又根據題干描述:尋找物流商:…,給車輛交易系統(tǒng)發(fā)送物流信息,所以圖1-2缺失數(shù)據流p5→E2,物流信息。 2、根據題干描述“系統(tǒng)根據訂單的類型(保賣車、全國購和普通二手車)、起止城市、…選擇合適的物流商”,P5尋找物流商缺失訂單信息流入。 3、根據題干描述“若符合固定路線和/或包車路線,系統(tǒng)自動分配給合約物流商,若不符合…”,P5尋找物流商需要依據固定路線和/或包車路線,還需要根據合約的有效期等信息判斷是否可以分配,所以需要補充數(shù)據流路線信息:D3→P5,合約信息:D4→P5。 【問題4】 本題屬于擴展題型。結構化語言是一種介于自然語言和形式化語言之

21、間的半形式化語言,是自然語言的一個受限子集。結構化語言沒有嚴格的語法,通常分為內層和外層。外層有嚴格的語法,內層接近于自然語言的描述。 外層用來描述控制結構,采用順序、選擇和重復3種基本結構。順序結構是一組祈使句、選擇語句、重復語句的順序排列。選擇結構一般用IF-THEN-ENDIF等關鍵字。重復結構一般用DO-WHILE-ENDDO等關鍵字。內層一般使用祈使句的自然語言短語。 4.某牙科診所擬開發(fā)一套信息系統(tǒng),用于管理病人的基本信息和就診信息。診所工作人員包括:醫(yī)護人員(DentalStaff)、接待員(Receptionist)和辦公人員(OfficeSt

22、aff)等。系統(tǒng)主要功能需求描述如下: 1.記錄病人基本信息(Maintainpatientinfo)。初次就診的病人,由接待員將病人基本信息錄入系統(tǒng)。病人基本信息包括病人姓名、身份證號、出生日期、性別、首次就診時間和最后一次就診時間等。每位病人與其醫(yī)保信息(MedicalInsurance)關聯(lián)。 2.記錄就診信息(Recordofficevisit info)。病人在診所的每一次就診,由接待員將就診信息(OfficeVisit)錄入系統(tǒng)。就診信息包括就診時間、就診費用、支付代碼、病人支付費用和醫(yī)保支付費用等。 3.記錄治療信息(Recorddentalprocedure)。病人在就診

23、時,可能需要接受多項治療,每項治療(Procedure)可能由多位醫(yī)護人員為其服務。治療信息包括:治療項目名稱、治療項目描述、治療的牙齒和費用等。治療信息由每位參與治療的醫(yī)護人員分別向系統(tǒng)中錄入。 4.打印發(fā)票(Printinvoices)。發(fā)票(Invoice)由辦公人員打印。發(fā)票分為兩種:給醫(yī)保機構的發(fā)票(InsuranceInvoice)和給病人的發(fā)票(PatientInvoice)。兩種發(fā)票內容相同,只是支付的費用不同。當收到治療費用后,辦公人員在系統(tǒng)中更新支付狀態(tài)(Enterpayment)。 5.記錄醫(yī)護人員信息(Maintaindentalstaff info)。辦公人員將醫(yī)

24、護人員信息錄入系統(tǒng)。醫(yī)護人員信息包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等。 6.醫(yī)護人員可以查詢并打印其參與的治療項目相關信息(Searchandprintprocedureinfo)。 現(xiàn)采用面向對象方法開發(fā)該系統(tǒng),得到如圖3-1所示的用例圖和3-2所示的初始類圖。 【問題1】(6分) 根據說明中的描述,給出圖3-1中A1~A3所對應的參與者名稱和U1~U3所對應的用例名稱。 【問題2】(5分) 根據說明中的描述,給出圖3-2中C1~C5所對應的類名。 【問題3】(4分) 根據說明中的描述,給出圖3-2中類C4、C5、Patient和DentalStaff的必要屬性

25、。 正確答案: 本題解析: 【問題1】 A1:Receptionist(按待員) A2:DentalStaff(醫(yī)護人員) A3:OfficeStaff(辦公人員) U1:Maintainpatientinfo(記錄病人基本信息) U2:Recordofficevisitinfo(記錄就診信息) U3:Print invoices(打印發(fā)票) 【問題2】 C1:Patient Invoice C2:InsuranceInvoice C3:Invoice C4:Procedure

26、C5:OfficeVisit 【問題3】 C4:治療項目名稱、治療項目描述、治療的牙齒和費用、Office Visit、Dental Staff C5:病人就診時間和費用、支付代碼、病人支付費用、醫(yī)保支付費用、病人patient Patient:姓名、身份證號、出生日期、性別等 DentalStaff:姓名、職位、身份證號、住址、聯(lián)系電話、職工號 【問題1】 本題屬于常規(guī)考題,考查對參與者和用例名的補充,系統(tǒng)的參與者一般為人員、機構或第三方系統(tǒng)。用例名一般為動詞+名詞或名詞+動詞,是對系統(tǒng)功能的概括和描述。 本題根據題干說明,參與者即診所工作人員包括:醫(yī)護人員(DentalSt

27、aff)、按待員(Receptionist)和辦公人員(OfficeStaff)等。 根據用例圖已有信息,A2使用用例Recorddentalprocedure和Searchandprintprocedureinfo,根據題干說明記錄治療信息(Recorddentalprocedure)由每位參與治療的醫(yī)護人員分別錄入,醫(yī)護人員可以查詢并打印其參與的治療項目相關信息(Searchandprint procedure info),因此A2為醫(yī)護人員(DentalStaff)。 根據用例圖已有信息A3使用用例Maintaindentalstaffinfo和Enterpayment,根據題干說明

28、記錄醫(yī)護人員信息(Maintaindentalstaffinfo),由辦公人員錄入系統(tǒng),所以A3為OfficeStaff(辦公人員)。并且根據題干辦公人員還需要打印發(fā)票(Printinvoices)、更新支付狀態(tài)(Enterpayment),缺失的U3應該是打印發(fā)票(Printinvoices)。根據題干描述A3與U2之間的聯(lián)系沒有意義,不參考。 根據題干描述和圖示,A1對應的參與者應該是A1:Receptionist(按待員),接待員需要參與的功能有記錄病人基本信息(Maintainpatientinfo)和記錄就診信息(Recordofficevisitinfo),分別對應U1、U2,二

29、者與辦公人員都沒有明確聯(lián)系,位置可以互換。 【問題2】 本題屬于常規(guī)考查題型,補充缺失的類名,常見的實體類類名一般為名詞形式,也會有特殊的邊界類/接口類和協(xié)調類。需要參照題干描述和類圖中類與類之間的關系,來確定缺失的類名及其位置。 根據初始類圖,存在一組泛化關系,C3是C1、C2的泛化,即C3是C1、C2的父類,根據題干描述存在這樣泛化關系的只有發(fā)票(Invoice)、病人發(fā)票(PatientInvoice)、醫(yī)保機構發(fā)票(InsuranceInvoice),又根據多重度來分析,由于可能存在全自費的情況,即醫(yī)保發(fā)票不存在,所以多重度0…*對應的C2類名應該是醫(yī)保機構發(fā)票(Insuranc

30、eInvoice),C1對應的是病人發(fā)票(PatientInvoice),父類C3對應的是發(fā)票(Invoice)。 又根據圖示和題干,與醫(yī)護人員(DentalStaff)相關的用例有記錄治療信息(Recorddental procedure)、查詢并打印其參與的治療項目相關信息(Searchandprintprocedureinfo),其中能夠找到相關內容治療信息procedure,即C4對應的是實體類治療信息Procedure,與治療相關的是就診信息officevisit,即C5對應的是實體類就診信息OfficeVisit。 【問題3】 根據題干描述,“病人基本信息包括病人姓名、身份證

31、號、出生日期、性別、首次就診時間和最后一次就診時間等”,因此Patient的必要屬性包括病人姓名、身份證號、出生日期、性別、首次就診時間和最后一次就診時間。 根據題干描述,“醫(yī)護人員信息包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等”,因此Dental Staff的必要屬性包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等。 根據題干描述,C5:OfficeVisit就診信息包括就診時間、就診費用、支付代碼、病人支付費用和醫(yī)保支付費用等,又因為病人與就診1…*聯(lián)系起來,所以還需要補充屬性病人patient。 根據題干描述C4:Procedure治療信息包括:治療項目名稱、治療項目描述、治療的

32、牙齒和費用等,又因為治療信息與醫(yī)護人員存在1…*對應關系,與C5就診信息存在1…*對應關系,所以這里還需要補充醫(yī)護人員DentalStaff、就診信息OfficeVisit。 5.0-1背包問題定義為:給定i個物品的價值v[1…i]、小重量w[1…i]和背包容量T,每個物品裝到背包里或者不裝到背包里。求最優(yōu)的裝包方案,使得所得到的價值最大。 0-1背包問題具有最優(yōu)子結構性質。定義c[i][T]為最優(yōu)裝包方案所獲得的最大價值,則可得到如下所示的遞歸式。 【c代碼】 下面是算法的C語言實現(xiàn)。 (1)常量和變量說明 T:背包容量 v[]:價值數(shù)組 w

33、[]:重量數(shù)組 c[][]:c[i][j]表示前i個物品在背包容量為j的情況下最優(yōu)裝包方案所能獲得的最大價值 (2)C程序 【問題1】(8分) 根據說明和C代碼,填充C代碼中的空(1)-(4)。 【問題2】(4分) 根據說明和C代碼,算法采用了(5)設計策略。在求解過程中,采用了(6) (自底向上或者自頂向下)的方式。 【問題3】(3分) 若5項物品的價值數(shù)組和重量數(shù)組分別為v[]={0,1,6,18,22,28}和w[]={0,1,2,5,6,7}背包容量為T=11,則獲得的最大價值為(7)。 正確答案:

34、 本題解析: 【問題1】 (1)c[i][j] (2)i>0&&j>=w[i] (3)Calculate_Max_Value(v,w,i-1,j-w[i])+v[i] (4)c[i][j]=temp 【問題2】 (5)動態(tài)規(guī)劃 (6)自頂向下 【問題3】 (7)40 本題考查的是動態(tài)規(guī)劃法,將中間結果存在二維數(shù)組c[][]當中。 【問題1】 結合題干描述中的遞歸式,函數(shù)最終返回值應該是c[i][T],又根據代碼上下文,T在函數(shù)中傳參為j,所以第(1)空返回的結果為c[i][j]。 根據遞歸式和代碼上下文可知,c[i][j]=0已處理,if

35、后面處理的是max遞歸部分,又根據上下文可以看到temp會與c[i][j]進行比較,遞歸時i=i-1,所以這里判斷的是temp與c[i-1][T]的值,第(3)空的處理是將c[i-1][j-w[i]]+v[i]傳遞給temp,即temp=Calculate_Max_Value(v,w,i-1,j-w[i])+v[i],注意這里不是直接穿c[][]數(shù)組值,而是遞歸調用Calculate_Max_Value()函數(shù)。那么第(2)空缺失的判斷條件根據第3個表達式條件為i>0且T>=w[i],對應代碼中的參數(shù)即i>0&&j>=w[i]。 第(4)空是c[i][j]<temp比較后的返回值,根據題干,

36、我們需要返回max最大值,最終返回的結果是c[i][j],因此要保證c[i][j]最大,當c[i][j]<temp時,將temp賦值給c[i][j],即c[i][j]=temp。 【問題2】 本題采用遞歸形式,并且求取的是全局最優(yōu)解,中間結果存在二維數(shù)組c[][]當中,所以采用的是動態(tài)規(guī)劃法。動態(tài)規(guī)劃法采用遞歸形式,i會從N-1遞減至0,所以是自頂向下的方式。 【問題3】 本題考查最優(yōu)解,可以忽略題干描述,直接湊數(shù),可得第3和第4個物品,重量為11,價值為40,此時為最優(yōu)解,即為最大價值。 6.某文件管理系統(tǒng)中定義了類OfficeDoe和DocExplo

37、rer。當類OfficeDoe發(fā)生變化時,類DocExplorer的所有對象都要更新其自身的狀態(tài)。現(xiàn)采用觀察者(Observer)設計模式來實現(xiàn)該需求,所設計的類圖如圖6-1所示。 圖6-1 【Java代碼】 正確答案: 本題解析: (1)void update(); (2)Observer; (3)obs.update(); (4)Subject; (5)Attach(this); 本題是對觀察者模式的考查,觀察者模式的意圖是:定義對象間的一種一對多的依賴關系,當一個對象

38、的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。 本題根據Observer接口的實現(xiàn)類DocExplorer,實現(xiàn)類包括同名構造函數(shù)和update()方法,所以接口Observer缺失的是update()方法,并且沒有方法體,(1)空填寫void update()。 第2空是myObs表單類型的缺失,根據代碼上下文,在構造函數(shù)中,根據this.myObs=new ArrayList<Observer>(),可以知道m(xù)yObs是Observer表單,第(2)空填寫Observer。 第3空是Notify()方法體的缺失,根據代碼上下文,Notify傳入了一個參數(shù)Observer

39、 obs,又根據代碼上下文可知Observer只有一個update()方法,此時方法體調用的應該是update()方法,調用方法的對應是傳入的obs,第(3)空填寫obs.update()。 第4空、第5空缺失的是DocExplorer類的同名構造函數(shù)傳入的參數(shù)類型以及構造方法體,這里結合根據觀察者模式填空,對于實際觀察者類,需要與被觀察者聯(lián)系起來,所以這里是與被觀察者Subject聯(lián)系,也就是調用Subject中的Attach()添加觀察者列表。因此第(4)空需要填寫參數(shù)類型Subject,形參名sub已經給出了提示;sub調用增加觀察者方法,將當前觀察者添加到對應列表,即第(5)空填寫Attach(this)。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!