省考軟件設(shè)計師考試模擬題及答案資格證從業(yè)考試題卷(10)_第1頁
省考軟件設(shè)計師考試模擬題及答案資格證從業(yè)考試題卷(10)_第2頁
省考軟件設(shè)計師考試模擬題及答案資格證從業(yè)考試題卷(10)_第3頁
省考軟件設(shè)計師考試模擬題及答案資格證從業(yè)考試題卷(10)_第4頁
省考軟件設(shè)計師考試模擬題及答案資格證從業(yè)考試題卷(10)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 軟件設(shè)計師考試模擬考題及答案-試題一【說明】某慕課教育平臺欲添加在線作業(yè)批改系統(tǒng),以實現(xiàn)高效的作業(yè)提交與批改,并進(jìn)行統(tǒng)計。學(xué)生和講師的基本信息已經(jīng)初始化為數(shù)據(jù)庫中的學(xué)生表和講師表。系統(tǒng)的主要功能如下:(1)提交作業(yè)。驗證學(xué)生標(biāo)識后,學(xué)生將電子作業(yè)通過在線的方式提交,并進(jìn)行存儲。系統(tǒng)給學(xué)生發(fā)送通知表明提交成功,通知中包含唯一編號;并通知講師有作業(yè)提交。(2)下載未批改作業(yè)。驗證講師標(biāo)識后,講師從系統(tǒng)中下載學(xué)生提交的作業(yè)。下載的作業(yè)將顯示在屏幕上。(3)批改作業(yè)。講師按格式為每個題目進(jìn)行批改打分,并進(jìn)行整體評價。(4)上傳批改后的作業(yè)。將批改后的作業(yè)(包括分?jǐn)?shù)和評價)返回給系統(tǒng),進(jìn)行存儲。(5)

2、記錄分?jǐn)?shù)和評價。將批改后的作業(yè)的分?jǐn)?shù)和評價記錄在學(xué)生信息中,并通知學(xué)生作業(yè)已批改口(6)獲取已批改作業(yè)。根據(jù)學(xué)生標(biāo)識,給學(xué)生查看批改后的作業(yè),包括提交的作業(yè)、分?jǐn)?shù)和評價。(7)作業(yè)抽檢。根據(jù)教務(wù)人員標(biāo)識抽取批改后的作業(yè)樣本,給出抽檢意見,然后形成抽檢報告給講師?,F(xiàn)采用結(jié)構(gòu)化方法對在線作業(yè)批改系統(tǒng)進(jìn)行分析與設(shè)計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。問題:1.1 使用說明中的詞語,給出圖1-1中的實體E1E3的名稱。問題:1.2 使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1D4的名稱。問題:1.3 根據(jù)說明和圖中術(shù)語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。問題:1

3、.4 若發(fā)送給學(xué)生和講師的通知是通過第三方Email系統(tǒng)進(jìn)行的,則需要對圖1-1和圖1-2進(jìn)行哪些修改?用100字以內(nèi)文字加以說明。1.參考答案:【問題1】E1:學(xué)生 E2:講師 E3:教務(wù)人員【問題2】D1:提交的作業(yè)表 D2:學(xué)生表 D3:講師表 D4:批改后的作業(yè)表【問題3】數(shù)據(jù)流名稱:提交成功通知 起點:1或提交作業(yè) 終點:E1或?qū)W生數(shù)據(jù)流名稱:抽檢報告 起點:7或作業(yè)抽檢 終點:E2或講師數(shù)據(jù)流名稱:分?jǐn)?shù)和評價 起點:5或記錄分?jǐn)?shù)和評價 終點:D2或?qū)W生表數(shù)據(jù)流名稱:作業(yè)已批改通知 起點:5或記錄分?jǐn)?shù)和評價 終點:E1或?qū)W生【問題4】增加外部實體“第三方Email系統(tǒng)”,將原來的兩條

4、“通知”數(shù)據(jù)流合并為一條“通知”數(shù)據(jù)流,終點為“第三方Email系統(tǒng)”。試題分析:本題問題1要求識別E1-E3具體為哪個外部實體,通讀試題說明,可以了解到適合充當(dāng)外部實體的包括:學(xué)生、講師、教務(wù)人員。具體的對應(yīng)關(guān)系,可以通過將頂層圖與題目說明進(jìn)行匹配得知。如:從圖中可看出E1會向系統(tǒng)發(fā)出數(shù)據(jù)流“作業(yè)、學(xué)生標(biāo)識”,會從系統(tǒng)接收到“批改后的作業(yè)、通知”;而從試題說明“驗證學(xué)生標(biāo)識后,學(xué)生將電子作業(yè)通過在線的方式提交,并進(jìn)行存儲。系統(tǒng)給學(xué)生發(fā)送通知表明提交成功,通知中包含唯一編號”可以看出,E1對應(yīng)的,便是學(xué)生。E2、E3同理可得。問題2要求識別存儲,解決這類問題,以圖的分析為主,配合說明給存儲命名

5、,因為存儲相關(guān)的數(shù)據(jù)流一般展現(xiàn)了這個存儲中到底存了些什么信息,如從圖中可以看到D3中有講師信息,而D2中有學(xué)生信息,題目說明中又有“學(xué)生和講師的基本信息已經(jīng)初始化為數(shù)據(jù)庫中的學(xué)生表和講師表?!弊匀籇2應(yīng)為學(xué)生表,D3應(yīng)為講師表。同理,D1應(yīng)存儲了學(xué)生的作業(yè)、D4存儲了批改后的作業(yè),由于這兩個內(nèi)容在說明中沒有“*表”“*文件”的表達(dá),所以該存儲的命名直接從說明中取合適的詞來總結(jié),D1應(yīng)為作業(yè),D4應(yīng)為批改后的作業(yè)。問題3分析:缺失數(shù)據(jù)流1名稱:通知 起點:提交作業(yè) 終點:E1理由:頂層圖有從在線作業(yè)批改系統(tǒng)到E1的數(shù)據(jù)流“通知”,而0層圖沒有,依據(jù)平衡原則可知缺失了,進(jìn)一步分析試題說明,了解到“

6、提交作業(yè)”這個功能有操作“系統(tǒng)給學(xué)生發(fā)送通知表明提交成功”,所以缺失數(shù)據(jù)流的起點為“提交作業(yè)”。缺失數(shù)據(jù)流2名稱:抽檢報告 起點:作業(yè)抽檢 終點:E2理由:題目說明中,對于“作業(yè)抽檢”的描述為“根據(jù)教務(wù)人員標(biāo)識抽取批改后的作業(yè)樣本,給出抽檢意見,然后形成抽檢報告給講師。”據(jù)此可以了解到從該功能應(yīng)有數(shù)據(jù)流“抽檢報告”至E2。缺失數(shù)據(jù)流3名稱:分?jǐn)?shù)和評價 起點:記錄分?jǐn)?shù)和評價 終點:D2理由:首先值得注意的是“記錄分?jǐn)?shù)和評價”只有輸入,沒有輸出,這是破壞了數(shù)據(jù)平衡原則的。這種情況,必然是有缺失數(shù)據(jù)流的。從題目描述“將批改后的作業(yè)的分?jǐn)?shù)和評價記錄在學(xué)生信息中”可以了解到,應(yīng)有數(shù)據(jù)流從“記錄分?jǐn)?shù)和評價

7、”到D2。缺失數(shù)據(jù)流4名稱:通知 起點:記錄分?jǐn)?shù)和評價 終點:E1理由:從題目描述“并通知學(xué)生作業(yè)已批改”可以了解到,應(yīng)有數(shù)據(jù)流從“記錄分?jǐn)?shù)和評價”到E1。問題4強調(diào)發(fā)送郵件采用了“第三方Email系統(tǒng)”,這個“第三方Email系統(tǒng)”屬于典型的外部實體,所以需要增加外部實體“第三方Email系統(tǒng)”,并將原來的兩條“通知”數(shù)據(jù)流合并為一條“通知”數(shù)據(jù)流,終點為“第三方Email系統(tǒng)”。kuaileqie2001 2015-11-20答案意思相近能得滿分嗎MegumiIsh 2015-11-23能夠的,意思接近最多扣一到兩分rain_yu 2016-04-13數(shù)據(jù)流名稱:通知 不是已經(jīng)重復(fù)了嗎?r

8、ain_yu 2016-04-13“第三方Email系統(tǒng)”為何是實體而不是加工呢?MegumiIsh 2016-04-13通知包括兩部分的通知,對學(xué)生提交成功的通知和對教師學(xué)生提交作業(yè)的通知。加工和實體的區(qū)別要分的清楚,第三方Email系統(tǒng)是一個系統(tǒng),它是一個實體,比如學(xué)生,老師等,這些是實體,加工是指對數(shù)據(jù)的改變,將數(shù)據(jù)從一個形式變?yōu)榱硗庖粋€形式。ht28_first 2016-05-04有3個問題請問老師:1、在D1中填寫“提交的作業(yè)”是否得分,因為這里有提交的作業(yè),也有批改后的作業(yè),如果就填寫作業(yè)的話如何分清是提交的作業(yè)和批改后的作業(yè),這里D3就填寫了“批改后的作業(yè)”。2、第3個問題中補

9、充12缺失的數(shù)據(jù)流及起點和終點,我沒有寫數(shù)據(jù)流名稱,填寫了6條數(shù)據(jù)流,有3條數(shù)據(jù)流是對的。這樣可以得多少分,多填是否有扣分。3、第4個問題中我的回答是:增加外部實體“第三方Email系統(tǒng)”,將原來的兩條“通知”數(shù)據(jù)流合并為一條“通知”數(shù)據(jù)流,終點為“第三方Email系統(tǒng)”。請問這樣的回答有問題嗎?如果有問題問題在哪里?MegumiIsh 2016-05-04先來看第一個問題:D1填寫提交的作業(yè)能得分,D1這個數(shù)據(jù)存儲本身存儲的就是提交的作業(yè),填作業(yè)和提交的作業(yè)兩個都沒有影響第二個問題;這個是看給分標(biāo)準(zhǔn)怎么給了,有時候會有出入,不過大家都是一個標(biāo)準(zhǔn)。一般一條數(shù)據(jù)流三分的話,名稱一分,起點終點各一

10、分,如果數(shù)據(jù)流兩分的話,名稱一分,起點和終點一起一分了,考試時如果多寫會扣一分的樣子吧第三個問題:沒有問題,答案不是這樣給的嗎?fangzhengwu 2016-05-04請問老師:離軟考只剩半個月了,現(xiàn)在是做“模擬題”還是“歷年模擬考題”?MegumiIsh 2016-05-05我一直的建議是模擬考題為主,模擬題為輔,因為模擬考題更權(quán)威更有代表性,每套模擬考題的各考點分值的分布,答案的正確性等,都是最佳的,相對來說有些模擬題答案值得考究。所以我的建議還是多做模擬考題,做過的再做一次都是可以的,看看自己是否有些知識點不夠牢固。試題二【說明】某企業(yè)擬構(gòu)建一個高效、低成本、符合企業(yè)實際發(fā)展需要的辦

11、公自動化系統(tǒng)。工程師小李主要承擔(dān)該系統(tǒng)的公告管理和消息管理模塊的研發(fā)工作。公告管理模塊的主要功能包括添加、修改、刪除和查看公告。消息管理模塊的主要功能是消息群發(fā)。小李根據(jù)前期調(diào)研和需求分析進(jìn)行了概念模型設(shè)計,具體情況分述如下:【需求分析結(jié)果】(1)該企業(yè)設(shè)有研發(fā)部、財務(wù)部、銷售部等多個部門,每個部門只有一名部門經(jīng)理,有多名員工,每名員工只屬于一個部門,部門信息包括:部門號、名稱、部門經(jīng)理和電話,其中部門號唯一確定部門關(guān)系的每一個元組。(2)員工信息包括:員工號、姓名、崗位、電話和密碼。員工號唯一確定員工關(guān)系的每一個元組;崗位主要有經(jīng)理、部門經(jīng)理、管理員等,不同崗位具有不同的權(quán)限。一名員工只對應(yīng)

12、一個崗位,但一個崗位可對應(yīng)多名員工。(3)消息信息包括:編號、內(nèi)容、消息類型、接收人、接收時間、發(fā)送時間和發(fā)送人。其中(編號,接收人)唯一標(biāo)識消息關(guān)系中的每一個元組。一條消息可以發(fā)送給多個接收人,一個接收人可以接收多條消息。(4)公告信息包括:編號、標(biāo)題、名稱、內(nèi)容、發(fā)布部門、發(fā)布時間。其中編號唯一確定公告關(guān)系的每二個元組。一份公告對應(yīng)一個發(fā)布部門,但一個部門可以發(fā)布多份公告;一份公告可以被多名員工閱讀,一名員工可以閱讀多份公告?!靖拍钅P驮O(shè)計】根據(jù)需求分析階段收集的信息,設(shè)計的實體聯(lián)系圖(不完整)如圖2-1所示:【邏輯結(jié)構(gòu)設(shè)計】根據(jù)概念模型設(shè)計階段完成的實體聯(lián)系圖,得出如下關(guān)系模式(不完整)

13、:部門(a),部門經(jīng)理,電話)員工(員工號,姓名,崗位號,部門號,電話,密碼)崗位(崗位號,名稱,權(quán)限)消息(b),消息類型,接收時間,發(fā)送時間,發(fā)送人)公告(c),名稱,內(nèi)容,發(fā)布部門,發(fā)布時間)閱讀公告(d),閱讀時間)問題:2.1 根據(jù)問題描述,補充四個聯(lián)系,完善圖2-1所示的實體聯(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:*和*:*)。問題:2.2 (1)根據(jù)實體聯(lián)系圖,將關(guān)系模式中的空(a)(d)補充完整。(2)給出“消息”和“閱讀公告”關(guān)系模式的主鍵與外鍵。問題:2.3 消息和公告關(guān)系中都有“編號”屬性,請問它是屬于命名

14、沖突嗎?用100字以內(nèi)文字說明原因。2.參考答案:【問題1】【問題2】(a)部門號,名稱(b)編號,內(nèi)容,接收人,(c)編號,標(biāo)題(d)員工號,編號消息 主鍵:(編號,接收人) 外鍵:接收人,發(fā)送人閱讀公告 主鍵:(員工號,公告編號) 外鍵:員工號,公告編號【問題3】不屬于命名沖突。命名沖突是在合并ER模型時提出的概念,合并ER模型時之所以產(chǎn)生沖突,是因為對于同樣的對象,不同的局部ER模型有著不同的定義,在本題中,本就是不同對象的屬性,所以不存在沖突的說法。試題分析:【問題1】根據(jù)題干中的需求分析可以得到完整的ER圖和聯(lián)系類型。如:“一名員工只對應(yīng)一個崗位,但一個崗位可對應(yīng)多名員工”,可以得出

15、員工與崗位間是有一個“對應(yīng)”的聯(lián)系的,而且聯(lián)系類型是n:1。【問題2】(1)根據(jù)題干中列出的內(nèi)容,可以把關(guān)系模式填完整。(2)消息(編號,內(nèi)容,消息類型,接收人,接收時間,發(fā)送時間,發(fā)送人),“其中(編號,接收入)唯一標(biāo)識消息關(guān)系中的每一個元組”可知,其主鍵為編號和接收人;而接收人和發(fā)送人都需要員工號,所以為外鍵。閱讀公告(公告編號,員工號,閱讀時間)也是同樣的道理。edu150602110347 2015-11-10公告關(guān)系模式 應(yīng)該填員工號和公告編號吧flycity 2015-11-12公告信息包括:編號、標(biāo)題、名稱、內(nèi)容、發(fā)布部門、發(fā)布時間。所以:編號與標(biāo)題是必須要的。接下來考慮公告信息

16、這個關(guān)系模式,要保存哪些聯(lián)系。公告 與 部門相關(guān),存在n:1的聯(lián)系,但此時公告關(guān)系模式中已有“發(fā)布部門”,說明這個聯(lián)系已保存。而公告 與 員工 存在著n:n的聯(lián)系,這個聯(lián)系在本題中已單獨作為關(guān)系模式“閱讀公告”。“閱讀公告”的關(guān)系模式中有:員工號,公告編號,所以在公告中,也是不用員工號的。flycity 2015-11-12您的意思是:閱讀公告 中 應(yīng)有:員工號,公告編號?如果是這樣意思,則您的說法是正確的。fangzhengwu 2016-03-09關(guān)系模式消息中的接收人怎么既是主鍵又是外鍵?MegumiIsh 2016-03-10這也是可以的,接收人在另一個關(guān)系中是主鍵,則它當(dāng)然可以是外鍵

172016-04-30接收人、發(fā)送人為什么是外鍵?MegumiIsh 2016-05-04消息是由接收人、發(fā)送人二元關(guān)系確定的,二元關(guān)系確定消息的屬性,而接收人和發(fā)送人分別是另外兩個關(guān)系的主鍵,所以是外鍵。poopoogood 2016-11-09最后一問中,兩處都出現(xiàn)了編號,不是同名異義嗎?或者說請具體解釋下同名異義的含義MegumiIsh 2016-11-10這個地方雖然都是編號,但一個是消息編號,一個是公告編號,是兩個不同的東西,所以叫同名異義。poopoogood 2016-11-10對啊,是同名異義,不就屬于命名沖突嗎?命名沖突就包含同名異義和異名同義。Megu

18、miIsh 2016-11-11這個地方在不同的表里面,怎么會沖突,您在調(diào)用它的時候會是消息.編號,公告.編號試題三【說明】某出版社擬開發(fā)一個在線銷售各種學(xué)術(shù)出版物的網(wǎng)上商店(ACShop),其主要的功能需求描述如下:(1)ACShop在線銷售的學(xué)術(shù)出版物包括論文、學(xué)術(shù)報告或講座資料等。(2)ACShop的客戶分為兩種:未注冊客戶和注冊客戶。(3)未注冊客戶可以瀏覽或檢索出版物,將出版物添加到購物車中。未注冊客戶進(jìn)行注冊操作之后,成為ACShop注冊客戶。(4)注冊客戶登錄之后,可將待購買的出版物添加到購物車中,并進(jìn)行結(jié)賬操作。結(jié)賬操作的具體流程描述如下:從預(yù)先填寫的地址列表中選擇一個作為本次

19、交易的收貨地址。如果沒有地址信息,則可以添加新地址。選擇付款方式。ACShop支持信用卡付款和銀行轉(zhuǎn)賬兩種方式。注冊客戶可以從預(yù)先填寫的信用卡或銀行賬號中選擇一個付款。若沒有付款方式信息,則可以添加新付款方式。確認(rèn)提交購物車中待購買的出版物后,ACShop會自動生成與之相對應(yīng)的訂單。(5)管理員負(fù)責(zé)維護(hù)在線銷售的出版物目錄,包括添加新出版物或者更新在售出版物信息等操作?,F(xiàn)采用面向?qū)ο蠓椒ǚ治霾⒃O(shè)計該網(wǎng)上商店ACShop,得到如圖3-1所示的用例圖和圖3-2所示的類圖。問題:3.1 據(jù)說明中的描述,給出圖3-1中(1)(4)所對應(yīng)的用例名。問題:3.2 根據(jù)說明中的描述,分別說明用例“添加新地址

20、”和“添加新付款方式”會在何種情況下由圖3-1中的用例(3)和(4)擴展而來?問題:3.3 根據(jù)說明中的描述,給出圖3-2中(1)(7)所對應(yīng)的類名。3.參考答案:【問題1】(1) 添加出版物到購物車 (2) 結(jié)賬(3) 選擇收貨地址(4) 選擇付款方式【問題2】當(dāng)選擇收貨地址時,沒有地址信息,則使用擴展用例“添加新地址”來完成新地址的添加。當(dāng)選擇付款方式時,沒有付款方式信息,則使用擴展用例“添加新付款方式”來完成新付款方式的添加。【問題3】(1)出版物目錄 (2) 待購買的出版物(3) 學(xué)術(shù)出版物(4) - (6) 論文、學(xué)術(shù)報告、講座資料(7) 訂單試題分析:本題屬于軟件設(shè)計師的傳統(tǒng)考題,

21、問題1與問題3都有成熟的解題套路,在以前考題分析中已有非常詳細(xì)的介紹。在此主要分析問題2。問題2涉及到的是擴展關(guān)系運作機制,在擴展關(guān)系中,一個用例稱為基礎(chǔ)用例,另一個用例稱為擴展用例,其中擴展用例是對基礎(chǔ)用例的補充,擴展用例不是每次都執(zhí)行,要特定條件滿足才執(zhí)行。以本題中用例“添加新地址”為例,他就是一個擴展用例,什么時候他會執(zhí)行呢?就是當(dāng)選擇收貨地址時,系統(tǒng)檢測發(fā)現(xiàn)沒有地址信息,此時會“添加新地址”來完成新地址的添加,然后再先擇收貨地址。添加新付款方式 用例情況與此類似。ht28_first 2016-05-04請問老師: 問題1中(1)添加出版物到購物車 根據(jù)描述:未注冊客戶可以瀏覽或檢索出

22、版物,將出版物添加到購物車中,這里客戶都未注冊,沒有一個唯一的標(biāo)識如何將出版物添加到購物車中呢。系統(tǒng)是如何來判斷是哪個未注冊用戶添加了哪些書到購物車呢。我的認(rèn)為是客戶注冊登錄之后,因此這里應(yīng)該填:生成與之相應(yīng)的訂單 才能選擇購買書籍。此外,我的答案(2):結(jié)賬操作 (3):交易的收貨地址 (4):選擇付款方式 參考答案是(2) 結(jié)賬(3) 選擇收貨地址 (4) 選擇付款方式,這里我的答案和標(biāo)準(zhǔn)答案有差異,這樣答題扣分嗎? 還比如問題3中,參考答案為:訂單,答題寫成:生成與之相應(yīng)的訂單 扣分嗎MegumiIsh 2016-05-04我們先來看問題1:您的理解不夠全面,您在網(wǎng)上購物的時候沒有注冊也

23、是可以加入購物車的,自己可以體會一下,這個實現(xiàn)的方式有很多,比如您瀏覽這個網(wǎng)頁的時候瀏覽器會產(chǎn)生一個session發(fā)過去,電子商務(wù)網(wǎng)站可以根據(jù)session里面的編號區(qū)分開不同的未注冊用戶。這個地方也不是考試的考點,題目中已經(jīng)明確說明了未注冊用戶可以添加到購物車,為什么還要去考慮這樣的問題呢?再來看問題2:第三問最好寫選擇收貨地址,寫成交易的收貨地址還是有點不同,可能會扣一點分問題3:寫成 生成與之相應(yīng)的訂單 一般不會扣分試題四【說明】計算兩個字符串x和y的最長公共子串(Longest Common Substring)。假設(shè)字符串x和字符串y的長度分別為m和n,用數(shù)組c的元素cij記錄x中前

24、i個字符和y中前j個字符的最長公共子串的長度。cij滿足最優(yōu)子結(jié)構(gòu),其遞歸定義為:計算所有cij(0im,0jn)的值,值最大的cij即為字符串x和y的最長公共子串的長度。根據(jù)該長度即i和j,確定一個最長公共子串。(1)常量和變量說明x,y:長度分別為m和n的字符串。cij:記錄x中前i字符和y中前j個字符的最長公共子串的長度。max:x和y的最長公共子串的長度。maxi,maxj:分別表示x和y的某個最長公共子串的最后一個字符在x和y中的位置(序號)。(2)C程序問題:4.1 根據(jù)以上說明和C代碼,填充C代碼中的空(1)(4)。問題:4.2 根據(jù)題干說明和以上C代碼,算法采用了(5)設(shè)計策略

25、。分析時間復(fù)雜度為(6)(用O符號表示)。問題:4.3 根據(jù)題干說明和以上C代碼,輸入字符串x=ABCADAB,y=BDCABA,則輸出為(7)。4.參考答案:【問題1】(1)xi-1 = yj-1(2)max=cij(3)cij=0(4)i=maxi-max【問題2】(5)動態(tài)規(guī)劃法 (6)O(m*n)【問題3】(7)AB試題分析:首先對于C語言算法題,一般的解題思路是先解決除程序填空以外的問題,這些問題弄清楚,有利于程序填空部分的分析。第一步,分析程序所采用的算法,常見的算法包括:分治法、動態(tài)規(guī)劃法、回溯法、貪心法。本題中要求的是兩個串的最長公共子串,在程序中采用了數(shù)組來記錄子問題的中間結(jié)

26、果,這一特征與動態(tài)規(guī)劃法的做法非常吻合,所以應(yīng)選動態(tài)規(guī)劃法。第二步,解決“輸入字符串x= ABCADAB,y=BDCABA,則輸出為 (7) ”的問題,該問題相對容易解決,因為題目已告知程序的作用是求最長公共子串,而且從程序的輸出函數(shù)可以看出,要輸出的,只有子串,沒有其它信息,所以我們只需要手動求兩個串的公共子串,并寫出答案即可。兩個串第一個公共子串明顯是“AB”,所以輸出的結(jié)果為“AB”。第三步,求時間復(fù)雜度,由于程序中最多雙重循環(huán),其中外層循環(huán)的規(guī)模為m,而內(nèi)層循環(huán)的規(guī)模為n,所以時間復(fù)雜度為O(m*n)。第四步,也是最難的一步,是解決程序填空的問題。動態(tài)規(guī)劃的問題,一般都會給出遞歸定義式

27、,這個式子,往往是多個空的關(guān)鍵點。以本題為例,前3空均與式子相關(guān),式子中明確說明了xi-1=xj-1時cij的值是多少,而其它情況cij均等于0,此時可以了解到前3空的答案。而第4空是用于打印結(jié)果,由于maxi記錄了子串末尾+1的位置信息,子串長度為max,所以用maxi-max定位至子串開始位置,以便打印子串2016-04-30最后一個空,我填的2,AB是不是錯的?MegumiIsh 2016-05-01您好,這個題題目中的算法是為了求兩個字符串中最長公共字符串,輸出它,題中給出的兩個字符串最長的是 AB。jihuan 2016-10-08這個時間復(fù)雜度寫成了 O(n2) 會不會沒有分MegumiIsh 2016-10-09應(yīng)該是可以的,不應(yīng)該扣分。fivehun 2016-10-25公共子串不包括CA嗎?MegumiIsh 2016-10-27這個地方先選擇A序列,再從B序列匹配,所以先匹配到AB試題五【說明】閱讀下列說明和C+代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。某大型購物中心欲開發(fā)一套收銀軟件,要求其能夠支持購物中心在不同時期推出的各種促銷活動,如打折、返利(例如,滿300返100)等等?,F(xiàn)采用策略( Strategy)模式實現(xiàn)該要求,得

溫馨提示

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

評論

0/150

提交評論