亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

軟件設(shè)計師歷年真題

時間:2024-10-24 16:19:34 計算機等級 我要投稿
  • 相關(guān)推薦

軟件設(shè)計師歷年真題

  親愛的考生們,軟件設(shè)計師歷年真題是你備考路上的寶貴資源。通過這些真題,你可以了解考試題型、難度及命題趨勢。認(rèn)真鉆研每一道題,分析解題思路,查漏補缺,為你的考試助力。讓我們一起借助歷年真題,開啟高效備考之旅,向著軟件設(shè)計師的目標(biāo)穩(wěn)步邁進。

軟件設(shè)計師歷年真題

  第 1 題:單選題(本題1分)

  計算機指令系統(tǒng)采用多種尋址方式。立即尋址是指操作數(shù)包含在指令中,寄存器尋址是指操作數(shù)在寄存器中,直接尋址是指操作數(shù)的地址在指令中。這三種尋

  址方式獲取操作數(shù)的速度 ( )。

  A.立即尋址最快,寄存器尋址次之,直接尋址最慢

  B.寄存器尋址最快,立即尋址次之,直接尋址最慢

  C.直接尋址最快,寄存器尋址次之,立即尋址最慢

  D.寄存器尋址最快,直接尋址次之,立即尋址最慢

  【正確答案】:A

  【試題解析】:

  尋址方式是如何對指令中的地址字段進行解釋,以獲得操作數(shù)的方法或獲得程序轉(zhuǎn)移地址的方法。

  第

  2 題:單選題(本題1分)

  以下關(guān)于PCI總線和SCSI總線的敘述中,正確的是( )。

  A.PCI總線是串行外總線,SCSI 總線是并行內(nèi)總線

  B.PCI總線是串行內(nèi)總線,SCSI 總線是串行外總線

  C.PCI總線是并行內(nèi)總線,SCSI 總線是串行內(nèi)總線

  D.PCI總線是并行內(nèi)總線,SCSI 總線是并行外總線

  【正確答案】:D

  【試題解析】:

  PCI總線是PC機常用總線,SCSI是軟硬磁盤、光盤、掃描儀常用總線。他們都是并行總線。

  第 3 題:單選題(本題1分)

  以下關(guān)于中斷方式與DMA方式的敘述中,正確的是( )

  A.中斷方式與DMA方式都可實現(xiàn)外設(shè)與CPU之間的并行工作

  B.程序中斷方式和DMA方式在數(shù)據(jù)傳輸過程中都不需要CPU的干預(yù)

  C.采用DMA方式傳輸數(shù)據(jù)的速度比程序中斷方式的速度慢

  D.程序中斷方式和DMA方式都不需要CPU保護現(xiàn)場

  【正確答案】:A

  【試題解析】:

  中斷方式與DMA方式都可實現(xiàn)外設(shè)與CPU之間的并行工作。

  第

  4 題:單選題(本題1分)

  中斷向量提供( )。

  A.被選中設(shè)備的地址

  B.待傳送數(shù)據(jù)的起始地址

  C.中斷服務(wù)程序入口地址

  D.主程序的斷點地址

  【正確答案】:C

  【試題解析】:

  中斷向量表用來保存各個中斷源的中斷服務(wù)程序的入口地址。當(dāng)外設(shè)發(fā)出中斷請求信號(INTR)以后,由中斷控制器(INTC)確定其中

  斷號,并根據(jù)中斷號查找中斷向量表來取得其中斷服務(wù)程序的入口地址,同時INTC把中斷請求信號提交給CPU。

  第 5 題:單選題(本題1分)

  ( ) 是一種需要通過周期性刷新來保持?jǐn)?shù)據(jù)的存儲器件。

  A.SRAM

  B.DRAM

  C.FLASH

  D.EEPROM

  【正確答案】:B

  第 6 題:單選題(本題1分)

  某種機器的浮點數(shù)表示格式如下(允許非規(guī)格化表示)。若階碼以補碼表示,尾數(shù)以原碼表示,則1 0001 0 0000000001表示的浮點數(shù)是( ) 。

  【正確答案】:B

  【試題解析】:

  題干尾數(shù)是原碼為:0000000001,數(shù)符是0,這表示該尾數(shù)是負(fù)數(shù)為2^-10 。階碼是0001是補碼,轉(zhuǎn)換成原碼是1111,是十進制的15,這

  里注意階符是1,這表示階碼是負(fù)數(shù),因此該浮點數(shù)是2^-15 ×2^-10 。

  第 7 題:單選題(本題1分)

  以下可以有效防治計算機病毒的策略是( ) 。

  A.部署防火墻

  B.部署入侵檢測系統(tǒng)

  C.安裝并及時升級防病毒軟件

  D.定期備份數(shù)據(jù)文件

  【正確答案】:C

  【試題解析】:

  防病毒軟件可以檢測、防護,并采取行動來解除或刪除惡意軟件程序,如病毒和蠕蟲。因此安裝并及時升級防病毒軟件可以有效防治計

  算機病毒。

  第 8 題:單選題(本題1分)

  AES是一種( )算法。

  A.公鑰加密

  B.流密碼

  C.分組加密

  D.消息摘要

  【正確答案】:C

  【試題解析】:

  高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)是一種分組(對稱)加密算法,替代了原先的DES,是目前最流行的算法之一。

  第 9 題:單選題(本題1分)

  下列不能用于遠程登陸或控制的是( )

  A.IGMP

  B.SSH

  C.Telnet

  D.RFB

  【正確答案】:A

  【試題解析】:

  Telnet協(xié)議是Internet遠程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。RFB ( Remote

  Frame Buffer 遠程幀緩沖) 協(xié)議是一個用于遠程訪問圖形用戶界面的簡單協(xié)議。SSH協(xié)議是較可靠,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)

  提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。主機與本地路由器之間使用Internet組管理協(xié)議

  (IGMP,Internet Group Management Protocol)來進行組播組成員信息的交互。

  第 10 題:單選題(本題1分)

  包過濾防火墻對( )的數(shù)據(jù)報文進行檢查。

  A.應(yīng)用層

  B.物理層

  C.網(wǎng)絡(luò)層

  D.鏈路層

  【正確答案】:C

  【試題解析】:

  包過濾型防火墻是在網(wǎng)絡(luò)層對數(shù)據(jù)包進行分析、選擇,選擇的依據(jù)是系統(tǒng)內(nèi)設(shè)置的過濾規(guī)則(訪問控制表)。通過檢查每個數(shù)據(jù)包的源

  地址、目的地址、端口和協(xié)議狀態(tài)等因素,確定是否允許該數(shù)據(jù)包通過。

  第 11 題:單選題(本題1分)

  防火墻通常分為內(nèi)網(wǎng)、外網(wǎng)和DMZ三個區(qū)域,按照受保護程度,從低到高正確的排列次序為( )。

  A.內(nèi)網(wǎng)、外網(wǎng)和DMZ

  B.外網(wǎng)、DMZ和內(nèi)網(wǎng)

  C.DMZ、內(nèi)網(wǎng)和外網(wǎng)

  D.內(nèi)網(wǎng)、DMZ和外網(wǎng)

  【正確答案】:B

  【試題解析】:

  防火墻認(rèn)為內(nèi)部網(wǎng)絡(luò)是安全和可信賴的,而外部網(wǎng)絡(luò)是不安全和不可信賴的。因此受保護的程度外網(wǎng)是最低而內(nèi)網(wǎng)是最高的。

  第 12 題:單選題(本題1分)

  ( )是構(gòu)成我國保護計算機軟件著作權(quán)的兩個基本法律文件。

  A.《計算機軟件保護條例》和《軟件法》

  B.《中華人民共和國著作權(quán)法》和《軟件法》

  C.《中華人民共和國著作權(quán)法》和《計算機軟件保護條例》

  D.《中華人民共和國版權(quán)法》和《中華人民共和國著作權(quán)法》

  【正確答案】:C

  【試題解析】:

  《中華人民共和國著作權(quán)法》和《計算機軟件保護條例》是構(gòu)成我國保護計算機軟件著作權(quán)的兩個基本法律文件。在具體實施時,首先

  按照《計算機軟件保護條例》適用條款執(zhí)行,若是《計算機軟件保護條例》中沒有適用條款,再依據(jù)《中華人民共和國著作權(quán)法》的有

  關(guān)條款執(zhí)行。

  第 13 題:單選題(本題1分)

  X 公司接受Y公司的委托開發(fā)了一款應(yīng)用軟件,雙方?jīng)]有訂立任何書面合同。在此情形下,( ) 享有該軟件的著作權(quán)。

  A.X、Y公司共同

  B.X公司

  C.Y公司

  D.X、Y公司均不

  【正確答案】:B

  【試題解析】:

  接受他人委托開發(fā)的軟件,其著作權(quán)的歸屬由委托人與受托人簽訂書面合同約定;無書面合同或者合同未作明確約定的,其著作權(quán)由受

  托人享有。

  第 14 題:單選題(本題1分)

  廣大公司(經(jīng)銷商)擅自復(fù)制并銷售恭大公司開發(fā)的OA軟件已構(gòu)成侵權(quán)。鴻達公司在不知情時從廣大公司(經(jīng)銷商)處購入該軟件并已安裝使用。在鴻達公司知道了

  所使用的軟件為侵權(quán)復(fù)制的情形下,其使用行為( )。

  A.侵權(quán),支付合理費用后可以繼續(xù)使用該軟件

  B.侵權(quán),須承擔(dān)賠償責(zé)任

  C.不侵權(quán),可繼續(xù)使用該軟件

  D.不侵權(quán),不需承擔(dān)任何法律責(zé)任

  【正確答案】:A

  【試題解析】:

  鴻達公司在知道所使用的軟件為侵權(quán)復(fù)制的情形下繼續(xù)使用的行為屬于侵權(quán)行為,但在支付合理費用后是可以繼續(xù)使用該軟件的。

  第 15 題:單選題(本題1分)

  繪制分層數(shù)據(jù)流圖 (DFD)時需要注意的問題中,不包括( )。

  A.給圖中的每個數(shù)據(jù)流、加工、數(shù)據(jù)存儲和外部實體命名

  B.圖中要表示出控制流

  C.一個加工不適合有過多的數(shù)據(jù)流

  D.分解盡可能均勻

  【正確答案】:B

  【試題解析】:

  數(shù)據(jù)流圖表現(xiàn)的是數(shù)據(jù)流而不是控制流。

  第 16 題:單選題(本題1分)

  以下關(guān)于軟件設(shè)計原則的敘述中,不正確的是出( )。

  A.將系統(tǒng)劃分為相對獨立的模塊

  B.模塊之間的耦合盡可能小

  C.模塊規(guī)模越小越好

  D.模塊的扇入系數(shù)和扇出系數(shù)合理

  【正確答案】:C

  【試題解析】:

  模塊的規(guī)模要適當(dāng)。過大的模塊會使系統(tǒng)分解得不充分而過小的模塊又有可能降低模塊的獨立性,造成系統(tǒng)接口的復(fù)雜性。

  第 17 題:單選題(本題1分)

  在風(fēng)險管理中,通常需要進行風(fēng)險監(jiān)測,其目的不包括( )。

  A.消除風(fēng)險

  B.評估所預(yù)測的風(fēng)險是否發(fā)生

  C.保證正確實施了風(fēng)險緩解步驟

  D.收集用于后續(xù)進行風(fēng)險分析的信息

  【正確答案】:A

  【試題解析】:

  風(fēng)險可以避免其發(fā)生或者盡量減少風(fēng)險發(fā)生后的影響,但是完全消除風(fēng)險是不可能的。

  第 18 題:單選題(本題1分)

  下圖是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示活動,邊上的權(quán)重表示完成該活動所需要的時間(天),則活動(作答此空) 不在關(guān)鍵

  路徑上;顒覤I和EG的松弛時間分別是( )。

  A.BD

  B.BI

  C.GH

  D.KL

  【正確答案】:B

  【試題解析】:

  關(guān)鍵路徑是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛時間等于最遲開始時間-最早開始時間=4-3=1。EG在關(guān)鍵路徑上,松弛

  時間是0。

  第 19 題:單選題(本題1分)

  下圖是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示活動,邊上的權(quán)重表示完成該活動所需要的時間(天),則活動( ) 不在關(guān)鍵路徑上。

  活動BI和EG的松弛時間分別是(作答此空)。

  A.0和1

  B.1和0

  C.0和

  2

  D.2和0

  【正確答案】:B

  【試題解析】:

  關(guān)鍵路徑是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛時間等于最遲開始時間-最早開始時間=4-3=1。EG在關(guān)鍵路徑上,松弛

  時間是0。

  第 20 題:單選題(本題1分)

  下圖所示的二叉樹表示的算術(shù)表達式是( )(其中的*,/,-,表示乘、除、減運算)。

  A.a*b/c-D

  B.a*b/(c-d)

  C.a*(b/c-d)

  D.a*(b-c/d)

  【正確答案】:C

  【試題解析】:

  算術(shù)表達式采用中序遍歷(左、根、右)的方式,遍歷的結(jié)果是a*(b/c-d) 。

  第 21 題:單選題(本題1分)

  對高級程序語言進行編譯的過程中,使用( )來記錄源程序中各個符號的必要信息,以輔助語義的正確性檢查和代碼生成。

  A.決策表

  B.符號表

  C.廣義表

  D.索引表

  【正確答案】:B

  【試題解析】:

  符號表的作用是記錄源程序中各個符號的必要信息,以輔助語義的正確性檢查和代碼生成,在編譯過程中需要對符號表進行快速有效地

  查找、插入、修改和刪除等操作。符號表的建立可以始于詞法分析階段,也可以放到語法分析和語義分析階段,但符號表的使用有時會

  延續(xù)到目標(biāo)代碼的運行階段。

  第 22 題:單選題(本題1分)

  下圖所示為一個非確定有限自動機(NFA),S0為初態(tài),S3為終態(tài)。該NFA識別的字符串分( )。

  A.不能包含連續(xù)的字符“0”

  B.不能包含連續(xù)的字符“1”

  C.必須以“101”開頭

  D.必須以“101”結(jié)尾

  【正確答案】:D

  【試題解析】:

  該自動機可以識別的字符串有101、1*101、0*101、1*0*101、0*1*101,這些字符串的共同特點都是以101結(jié)尾。

  第 23 題:單選題(本題1分)

  在單處理機計算機系統(tǒng)中,有1臺打印機、1臺掃描儀,系統(tǒng)采用先來先服務(wù)調(diào)度算法。假設(shè)系統(tǒng)中有進程P1、P2、P3、P4,其中P1為運行狀態(tài),P2為就緒狀

  態(tài),P3等待打印機,P4等待掃描儀。此時,若P1釋放了掃描儀,則進程P1、P2、P3、P4的狀態(tài)分別為( )。

  A.等待、運行、等待、就緒

  B.運行、就緒、等待、就緒

  C.就緒、就緒、等待、運行

  D.就緒、運行、等待、就緒

  【正確答案】:D

  【試題解析】:

  按照來先服務(wù)調(diào)度算法,P1運行狀態(tài)結(jié)束后,P2運行,P3繼續(xù)等待打印機,而P1釋放掃描儀后處于等待狀態(tài)的P4可以獲取掃描儀,只需

  等待處理機調(diào)度即可運行,因此P4由等待狀態(tài)轉(zhuǎn)為就緒狀態(tài)。此時,P1沒有等待發(fā)生的外部事件,它處于就緒狀態(tài)。

  第 24 題:單選題(本題1分)

  進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應(yīng)分別為(作答此空),空③

  和

  空

 、芴帒(yīng)分別為( ),空⑤

  A.V(S1)和PS2)P(S3)

  B.V(S1)和V(S2)V(S3)

  C.P(S1)和P(S2)V(S3)

  D.P(S1)和V(S2)V(S3)

  【正確答案】:D

  【試題解析】:

  信號量的分配如下圖所示。

  這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結(jié)

  果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V

 。⊿4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。

  第 25 題:單選題(本題1分)

  進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應(yīng)分別為( ),空③和空④處應(yīng)

  分別為(作答此空),空⑤和空⑥處應(yīng)分別為( )。

  A.V(S3)和P(S3)

  B.V(S4)和P(S3)

  C.P(S3)和P(S4)

  D.V(S4)和P(S4)

  【正確答案】:B

  【試題解析】:

  信號量的分配如下圖所示。

  {圖}

  這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結(jié)

  果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V

 。⊿4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。

  第 26 題:單選題(本題1分)

  進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應(yīng)分別為( ),空③和空④處應(yīng)

  分別為( ),空⑤和空⑥處應(yīng)分別為(作答此空)。

  A.V(S6)和P(S5)

  B.V(S5)和P(S6)

  C.P(S5)和V(S6)

  D.P(S5)和V(S5)

  【正確答案】:A

  【試題解析】:

  信號量的分配如下圖所示。

  這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結(jié)

  果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V

 。⊿4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。

  第 27 題:單選題(本題1分)

  在磁盤上存儲數(shù)據(jù)的排列方式會影響IO服務(wù)的總時間。假設(shè)每個磁道被劃分成10個物理塊,每個物理塊存放1個邏輯記錄。邏輯記錄R1,R2,.....,R10存放在同一個

  磁道上,記錄的排列順序如下表所示。

  假定磁盤的旋轉(zhuǎn)速度為10ms/周,磁頭當(dāng)前處在R1的開始處。若系統(tǒng)順序處理這些記錄,使用單緩沖區(qū),每個記錄處理時間為2ms,則處理這10個記錄的最長時間

  為(作答此空);若對存儲數(shù)據(jù)的排列順序進行優(yōu)化,處理10個記錄的最少時間為( )。

  A.30ms

  B.60ms

  C.94ms

  D.102ms

  【正確答案】:D

  【試題解析】:

  磁頭當(dāng)前處于R1 處,讀取出R1的時間為10ms/10=1ms,然后的使用單緩沖區(qū)處理,花費2ms。R1處理完畢后磁頭此時已處于R4處,若是

  順序讀和處理R2則需要再等待8ms,R2的讀取與處理時間與R1相同,當(dāng)R2處理完畢再讀取 R3 仍然需要再等待8 ms......依次類推,10個記

  錄讀完處理完畢的時間一共是102ms。若對存儲數(shù)據(jù)的排列順序進行優(yōu)化,即在原先存放R4處,存放R2,則十個記錄的處理時間會縮短

  至30ms。

  第 28 題:單選題(本題1分)

  在磁盤上存儲數(shù)據(jù)的排列方式會影響IO服務(wù)的總時間。假設(shè)每個磁道被劃分成10個物理塊,每個物理塊存放1個邏輯記錄。邏輯記錄R1,R2,.....,R10存放在同一個

  磁道上,記錄的排列順序如下表所示。

  假定磁盤的旋轉(zhuǎn)速度為10ms/周,磁頭當(dāng)前處在R1的開始處。若系統(tǒng)順序處理這些記錄,使用單緩沖區(qū),每個記錄處理時間為2ms,則處理這10個記錄的最長時間

  為( );若對存儲數(shù)據(jù)的排列順序進行優(yōu)化,處理10個記錄的最少時間為(作答此空)。

  A.30ms

  B.60ms

  C.94ms

  D.102ms

  【正確答案】:A

  【試題解析】:

  磁頭當(dāng)前處于R1 處,讀取出R1的時間為10ms/10=1ms,然后的使用單緩沖區(qū)處理,花費2ms。R1處理完畢后磁頭此時已處于R4處,若是

  順序讀和處理R2則需要再等待8ms,R2的讀取與處理時間與R1相同,當(dāng)R2處理完畢再讀取 R3 仍然需要再等待8 ms......依次類推,10個記

  錄讀完處理完畢的時間一共是102ms。若對存儲數(shù)據(jù)的排列順序進行優(yōu)化,即在原先存放R4處,存放R2,則十個記錄的處理時間會縮短

  至30ms。

  第 29 題:單選題(本題1分)

  以下關(guān)于增量模型優(yōu)點的敘述中,不正確的是( )。

  A.強調(diào)開發(fā)的階段性早期計劃

  B.第一個可交付版本所需要的時間少和成本低

  C.開發(fā)由增量表示的小系統(tǒng)所承擔(dān)的風(fēng)險小

  D.系統(tǒng)管理成本低、效率高、配置簡單

  【正確答案】:D

  【試題解析】:

  增量模型的優(yōu)點有:①容易理解②管理成本低③強調(diào)開發(fā)的階段性早期計劃及需求調(diào)查和產(chǎn)品測試④第一個可交付版本所需要的成本和

  時間很少⑤開發(fā)由增量表示的小系統(tǒng)所承擔(dān)的風(fēng)險不大⑥由于很快發(fā)布了第一個版本,因此可以減少用戶需求的變更⑦運行增量投資,

  即在項目開始時,可以僅對一個或兩個增量投資。

  第 30 題:單選題(本題1分)

  以下關(guān)于敏捷統(tǒng)一過程(AUP)的敘述中,不正確的是( )。

  A.在大型任務(wù)上連續(xù)

  B.在小型活動上迭代

  C.每一個不同的系統(tǒng)都需要一套不同的策略、約定和方法論

  D.采用經(jīng)典的UP階段性活動,即初始、精化、構(gòu)建和轉(zhuǎn)換

  【正確答案】:C

  【試題解析】:

  敏捷統(tǒng)一過程(Agile Unified Process,AUP)采用"在大型上連續(xù)"以及在"在小型上迭代"的原理來構(gòu)建軟件系統(tǒng)。采用經(jīng)典的UP階段性活

  動(初始、精化、構(gòu)建和轉(zhuǎn)換),提供了一系列活動,能夠使團隊為軟件項目構(gòu)想出一個全面的過程流。

  第 31 題:單選題(本題1分)

  在ISO/IEC軟件質(zhì)量模型中,可移植性是指與軟件可從某環(huán)境移到另一環(huán)境的能力有關(guān)的一組屬性,其子特性不包括( )。

  A.適應(yīng)性

  B.易測試性

  C.易安裝性

  D.易替換性

  【正確答案】:B

  【試題解析】:

  ISO/IEC軟件質(zhì)量模型規(guī)定的質(zhì)量特性有:

  易測試性屬于可維護性指標(biāo)。

  第 32 題:單選題(本題1分)

  在軟件開發(fā)過程中,系統(tǒng)測試階段的測試目標(biāo)來自于( )階段。

  A.需求分析

  B.概要設(shè)計

  C.詳細(xì)設(shè)計

  D.軟件實現(xiàn)

  【正確答案】:A

  【試題解析】:

  軟設(shè)測試目標(biāo)需要在需求分析階段就確認(rèn)好。

  第 33 題:單選題(本題1分)

  信息系統(tǒng)的文檔是開發(fā)人員與用戶交流的工具。在系統(tǒng)規(guī)劃和系統(tǒng)分析階段,用戶與系統(tǒng)分析人員交流所使用的文檔不包括( )。

  A.可行性研究報告

  B.總體規(guī)劃報告

  C.項目開發(fā)計劃

  D.用戶使用手冊

  【正確答案】:B

  【試題解析】:

  用戶使用手冊是概要設(shè)計階段產(chǎn)生的文檔,除此以外,概要設(shè)計階段產(chǎn)生的文檔還有概要設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、修訂測試計

  劃。

  第 34 題:單選題(本題1分)

  如下所示代碼(用縮進表示程序塊),要實現(xiàn)語句覆蓋,至少需要(作答此空)個測試用例。采用McCabe度量法計算該代碼對應(yīng)的程序流程圖的環(huán)路復(fù)雜性為

  ( )。

  A.1

  B.2

  C.3

  D.4

  【正確答案】:A

  【試題解析】:

  該流程圖的作用是從小到大排列數(shù)組A

  的

  n個元素,例如排列數(shù)組元素3、2、1,只用一個測試用例即可實現(xiàn)。圖中有兩個循環(huán)形成兩個閉

  環(huán),環(huán)路復(fù)雜度為閉環(huán)個數(shù)加1等于3個。

  第 35 題:單選題(本題1分)

  如下所示代碼(用縮進表示程序塊),要實現(xiàn)語句覆蓋,至少需要( )個測試用例。采用McCabe度量法計算該代碼對應(yīng)的程序流程圖的環(huán)路復(fù)雜性為(作答此

  空)。

  A.1

  B.2

  C.3

  D.4

  【正確答案】:C

  【試題解析】:

  該流程圖的作用是從小到大排列數(shù)組A

  的

  n個元素,例如排列數(shù)組元素3、2、1,只用一個測試用例即可實現(xiàn)。圖中有兩個循環(huán)形成兩個閉

  環(huán),環(huán)路復(fù)雜度為閉環(huán)個數(shù)加1等于3個。

  第 36 題:單選題(本題1分)

  系統(tǒng)可維護性是指維護人員理解、改正、改動和改進軟件系統(tǒng)的難易程度,其評價指標(biāo)不包括( )。

  A.可理解性

  B.可測試性

  C.可修改性

  D.一致性

  【正確答案】:D

  【試題解析】:

  系統(tǒng)可維護性包括:可理解性、可測試性、可修改性。

  第 37 題:單選題(本題1分)

  面向?qū)ο笤O(shè)計時包含的主要活動是( )。

  A.認(rèn)定對象、組織對象、描述對象間的相互作用、確定對象的操作

  B.認(rèn)定對象、定義屬性、組織對象、確定對象的操作

  C.識別類及對象、確定對象的操作、描述對象間的相互作用、識別關(guān)系

  D.識別類及對象、定義屬性、定義服務(wù)、識別關(guān)系、識別包

  【正確答案】:D

  【試題解析】:

  面向?qū)ο笤O(shè)計時包含的主要活動是識別類及對象、定義屬性、定義服務(wù)、識別關(guān)系、識別包。

  第 38 題:單選題(本題1分)

  在面向?qū)ο笤O(shè)計時,如果重用了包中的一個類,那么就要重用包中的所有類,這屬于( )原則。

  A.接口分離

  B.開放-封閉

  C.共同封閉

  D.共同重用

  【正確答案】:D

  【試題解析】:

  接口分離原則:不應(yīng)該強迫客戶依賴于它們不用的方法。開放-封閉原則:軟件實體(類、模塊、函數(shù)等)應(yīng)該是可以擴展的,即開放的;

  但是不可修改的,即封閉的。共同封閉原則:包中的所有類對于同一類性質(zhì)的變化應(yīng)該是共同封閉的。一個變化若對一個包產(chǎn)生影響,

  則將對該包中的所有類產(chǎn)生影響,而對于其他的包不造成任何影響。共同重用原則:一個包中的所有類應(yīng)該是共同重用的。如果重用了

  包中的一個類,那么就要重用包中的所有類。

  第 39 題:單選題(本題1分)

  某電商系統(tǒng)在采用面向?qū)ο蠓椒ㄟM行設(shè)計時,識別出網(wǎng)店、商品、購物車、訂單、買家、庫存、支付(微信、支付寶)等類。其中,購物車與商品之間適合采用

  (作答此空) 關(guān)系,網(wǎng)店與商品之間適合采用( ) 關(guān)系。

  A.關(guān)聯(lián)

  B.依賴

  C.組合

  D.聚合

  【正確答案】:D

  【試題解析】:

  購物車與商品是整體與部分的關(guān)系,購物車包含了商品,但是商品可以脫離購物車獨立存在,這是一種聚合關(guān)系。網(wǎng)店與商品之間是一

  種整體與部分的關(guān)系,商品是網(wǎng)店的一部分,如果網(wǎng)店不存在了,那么網(wǎng)店中的商品也不存在,它們之間是組合關(guān)系。

  第 40 題:單選題(本題1分)

  某電商系統(tǒng)在采用面向?qū)ο蠓椒ㄟM行設(shè)計時,識別出網(wǎng)店、商品、購物車、訂單、買家、庫存、支付(微信、支付寶)等類。其中,購物車與商品之間適合采用( )

  關(guān)系,網(wǎng)店與商品之間適合采用(作答此空) 關(guān)系。

  A.關(guān)聯(lián)

  B.依賴

  C.組合

  D.聚合

  【正確答案】:C

  【試題解析】:

  購物車與商品是整體與部分的關(guān)系,購物車包含了商品,但是商品可以脫離購物車獨立存在,這是一種聚合關(guān)系。網(wǎng)店與商品之間是一

  種整體與部分的關(guān)系,商品是網(wǎng)店的一部分,如果網(wǎng)店不存在了,那么網(wǎng)店中的商品也不存在,它們之間是組合關(guān)系。

  第 41 題:單選題(本題1分)

  某軟件系統(tǒng)限定:用戶登錄失敗的次數(shù)不能超過3次。采用如所示的UML狀態(tài)圖對用戶登錄狀態(tài)進行建模,假設(shè)活動狀態(tài)是Logging in,那么當(dāng)Valid Entrty發(fā)生

  時,(作答此空)。其中,[triesimage.png3]和tries++分別為( )和 ( )。

  A.保持在Logging in狀態(tài)

  B.若[triesimage.png3]為true,則Logged in變?yōu)橄乱粋活動狀態(tài)

  C.Logged in立刻變?yōu)橄乱粋活動狀態(tài)

  D.若tries=3為true,則Logging Denied變?yōu)橄乱粋活動狀態(tài)

  【正確答案】:B

  【試題解析】:

  根據(jù)狀態(tài)圖,事件Valid Entrty發(fā)生,同時當(dāng)triesimage.png3時,系統(tǒng)變?yōu)長ogged in狀態(tài)。[triesimage.png3]是監(jiān)護條件,是一種布爾表達

  式,當(dāng)結(jié)果為true時,說明轉(zhuǎn)換符合觸發(fā)條件。tries++屬于轉(zhuǎn)換,是兩個狀態(tài)之間的一種關(guān)系,轉(zhuǎn)換包括事件與動作。轉(zhuǎn)換會引起系統(tǒng)

  狀態(tài)的轉(zhuǎn)變。

  第 42 題:單選題(本題1分)

  某軟件系統(tǒng)限定:用戶登錄失敗的次數(shù)不能超過3次。采用如所示的UML狀態(tài)圖對用戶登錄狀態(tài)進行建模,假設(shè)活動狀態(tài)是Logging in,那么當(dāng)Valid Entrty發(fā)生

  時,( )。其中,[triesimage.png3]和tries++分別為(作答此空)和 ( )。

  A.狀態(tài)

  B.轉(zhuǎn)換

  C.監(jiān)護條件

  D.轉(zhuǎn)換后效果

  【正確答案】:C

  【試題解析】:

  根據(jù)狀態(tài)圖,事件Valid Entrty發(fā)生,同時當(dāng)triesimage.png3時,系統(tǒng)變?yōu)長ogged in狀態(tài)。[triesimage.png3]是監(jiān)護條件,是一種布爾表達

  式,當(dāng)結(jié)果為true時,說明轉(zhuǎn)換符合觸發(fā)條件。tries++屬于轉(zhuǎn)換,是兩個狀態(tài)之間的一種關(guān)系,轉(zhuǎn)換包括事件與動作。轉(zhuǎn)換會引起系統(tǒng)

  狀態(tài)的轉(zhuǎn)變。

  第 43 題:單選題(本題1分)

  某軟件系統(tǒng)限定:用戶登錄失敗的次數(shù)不能超過3次。采用如所示的UML狀態(tài)圖對用戶登錄狀態(tài)進行建模,假設(shè)活動狀態(tài)是Logging in,那么當(dāng)Valid Entrty發(fā)生

  時,( )。其中,[triesimage.png3]和tries++分別為( )和 (作答此空)。

  A.狀態(tài)

  B.轉(zhuǎn)換

  C.監(jiān)護條件

  D.轉(zhuǎn)換后效果

  【正確答案】:B

  【試題解析】:

  根據(jù)狀態(tài)圖,事件Valid Entrty發(fā)生,同時當(dāng)triesimage.png3時,系統(tǒng)變?yōu)長ogged in狀態(tài)。[triesimage.png3]是監(jiān)護條件,是一種布爾表達

  式,當(dāng)結(jié)果為true時,說明轉(zhuǎn)換符合觸發(fā)條件。tries++屬于轉(zhuǎn)換,是兩個狀態(tài)之間的一種關(guān)系,轉(zhuǎn)換包括事件與動作。轉(zhuǎn)換會引起系統(tǒng)

  狀態(tài)的轉(zhuǎn)變。

  第 44 題:單選題(本題1分)

  在某系統(tǒng)中,不同組(Group)訪問數(shù)據(jù)的權(quán)限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶,F(xiàn)要求在用戶和組之間設(shè)計映

  射,將用戶和組之間的關(guān)系由映射進行維護,得到如下所示的類圖。該設(shè)計采用(作答此空) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不

  需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于( )模式,該模式適用于: ( )。

  A.狀態(tài)(State)

  B.策略(Strategy)

  C.解釋器(Interpreter)

  D.中介者(Mediator)

  【正確答案】:D

  【試題解析】:

  中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改

  變它們之間的交互。中介者模式屬于行為型對象模式,適應(yīng)于下列情況:一組對象以定義良好但是復(fù)雜的方式進行通信,產(chǎn)生的相互依

  賴關(guān)系結(jié)構(gòu)混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導(dǎo)致難以復(fù)用該對象。想定制一個分布在多個類中

  的行為,而又不想生成太多的子類。

  第 45 題:單選題(本題1分)

  在某系統(tǒng)中,不同組(Group)訪問數(shù)據(jù)的權(quán)限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶,F(xiàn)要求在用戶和組之間設(shè)計映

  射,將用戶和組之間的關(guān)系由映射進行維護,得到如下所示的類圖。該設(shè)計采用( ) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不需要顯式

  地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于(作答此空)模式,該模式適用于: ( )。

  A.創(chuàng)建型類

  B.創(chuàng)建型對象

  C.行為型對象

  D.行為型類

  【正確答案】:C

  【試題解析】:

  中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改

  變它們之間的交互。中介者模式屬于行為型對象模式,適應(yīng)于下列情況:一組對象以定義良好但是復(fù)雜的方式進行通信,產(chǎn)生的相互依

  賴關(guān)系結(jié)構(gòu)混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導(dǎo)致難以復(fù)用該對象。想定制一個分布在多個類中

  的行為,而又不想生成太多的子類。

  第 46 題:單選題(本題1分)

  在某系統(tǒng)中,不同組(Group)訪問數(shù)據(jù)的權(quán)限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶。現(xiàn)要求在用戶和組之間設(shè)計映

  射,將用戶和組之間的關(guān)系由映射進行維護,得到如下所示的類圖。該設(shè)計采用( ) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不需要顯式

  地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于( )模式,該模式適用于: (作答此空)。

  A.需要使用一個算法的不同變體

  B.有一個語言需要解釋執(zhí)行,并且可將句子表示為一個抽象語法樹

  C.一個對象的行為決定于其狀態(tài)且必須在運行時刻根據(jù)狀態(tài)改變行為

  D.一組對象以定義良好但是復(fù)雜的方式進行通信,產(chǎn)生的相互依賴關(guān)系結(jié)構(gòu)混亂且難以理解

  【正確答案】:D

  【試題解析】:

  中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改

  變它們之間的交互。中介者模式屬于行為型對象模式,適應(yīng)于下列情況:一組對象以定義良好但是復(fù)雜的方式進行通信,產(chǎn)生的相互依

  賴關(guān)系結(jié)構(gòu)混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導(dǎo)致難以復(fù)用該對象。想定制一個分布在多個類中

  的行為,而又不想生成太多的子類。

  第 47 題:單選題(本題1分)

  在設(shè)計某購物中心的收銀軟件系統(tǒng)時,要求能夠支持在不同時期推出打折、返利、滿減等不同促銷活動,則適合采用( )模式。

  A.策略(Strategy)

  B.訪問者(Visitor)

  C.觀察者(Observer)

  D.中介者(Mediator)

  【正確答案】:A

  【試題解析】:

  使用策略模式可以將不同時期的促銷活動定義為一個個算法,進行封裝,它們彼此可以互相替換,也能獨立于使用它們的客戶而變化。

  客戶也不必知道算法使用的數(shù)據(jù),避免暴露相關(guān)的數(shù)據(jù)結(jié)構(gòu)。

  第 48 題:單選題(本題1分)

  Python 語言的特點不包括( )。

  A.跨平臺、開源

  B.編譯型

  C.支持面向?qū)ο蟪绦蛟O(shè)計

  D.動態(tài)編程

  【正確答案】:B

  【試題解析】:

  Python屬于解釋型而非編譯型程序設(shè)計語言。

  第 49 題:單選題(本題1分)

  在 Python語言中,( )是一種可變的、有序的序列結(jié)構(gòu),其中元素可以重復(fù)。

  A.元組(tuple)

  B.字符串(str)

  C.列表(list)

  D.集合(set)

  【正確答案】:C

  【試題解析】:

  列表是個有序的數(shù)據(jù)集合,可以隨時添加或者刪除元素。元組與列表類似,但元組里面的元素不可變。集合里面的元素是無序的。字符

  串是由獨立的字符組成,字符類型不可變。

  第 50 題:單選題(本題1分)

  以下Python語言的模塊中,( )不支持深度學(xué)習(xí)模型。

  A.TensorFlow

  B.MatplotliB

  C.PyTorch

  D.Keras

  【正確答案】:B

  【試題解析】:

  Matplotlib是Python的繪圖庫,可以繪制直方圖、條形圖、散點圖等圖形。

  第 51 題:單選題(本題1分)

  采用三級模式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)中,如果對一個表創(chuàng)建聚簇索引,那么改變的是數(shù)據(jù)庫的 ( ) 。

  A.外模式

  B.模式

  C.內(nèi)模式

  D.用戶模式

  【正確答案】:C

  【試題解析】:

  數(shù)據(jù)庫的三級模式分別是:

  第 52 題:單選題(本題1分)

  設(shè)關(guān)系模式R(U,F), U={A1,A2,A3,A4},函數(shù)依賴集F={A1→A2,A1→A3 ,A2→A4},關(guān)系R的候選碼是(作答此空)。下列結(jié)論錯誤的是( )。

  A.A1

  B.A2

  C.A1A2

  D.A1A3

  【正確答案】:A

  【試題解析】:

  通過A1可以得到A2、A3,通過A2又可以得到A4,因此A1屬于候選碼。A3只能由A1得到,A2無法得到A3。

  第 53 題:單選題(本題1分)

  設(shè)關(guān)系模式R(U,F), U={A1,A2,A3,A4},函數(shù)依賴集F={A1→A2,A1→A3 ,A2→A4},關(guān)系R的候選碼是( )。下列結(jié)論錯誤的是(作答此空)。

  A.A1→A2A3為

  F所蘊涵

  B.A1→ A4為

  F所蘊涵

  C.A1A2→ A4為

  F所蘊涵

  D.A2→ A3為

  F所蘊涵

  【正確答案】:D

  【試題解析】:

  通過A1可以得到A2、A3,通過A2又可以得到A4,因此A1屬于候選碼。A3只能由A1得到,A2無法得到A3。

  第 54 題:單選題(本題1分)

  給定學(xué)生關(guān)系S(學(xué)號,姓名,學(xué)院名,電話,家庭住址)、課程關(guān)系C(課程號,課程名,選修課程號)、選課關(guān)系SC(學(xué)號,課程號,成績)。查詢“張晉”選修了“市場營

  銷”課程的學(xué)號、學(xué)生名、學(xué)院名、成績的關(guān)系代數(shù)表達式為: π1,2,3,7(π1,2,3(作答此空) ) ( ))) 。

  A.σ2=張晉(S)

  B.σ2=‘張晉’(S)

  C.σ2=張晉(SC)

  D.σ2=‘張晉’(SC)

  【正確答案】:B

  【試題解析】:

  第 55 題:單選題(本題1分)

  給定學(xué)生關(guān)系S(學(xué)號,姓名,學(xué)院名,電話,家庭住址)、課程關(guān)系C(課程號,課程名,選修課程號)、選課關(guān)系SC(學(xué)號,課程號,成績)。查詢“張晉”選修了“市場營

  銷”課程的學(xué)號、學(xué)生名、學(xué)院名、成績的關(guān)系代數(shù)表達式為: π1,2,3,7(π1,2,3( ) ) (作答此空))) 。

  A.π2,3(σ2=‘市場營銷’(C))SC

  B.π2,3(σ2=市場營銷(SC)) C

  C.π1,2(σ2=‘市場營銷’(C))SC

  D.π1,2(σ2=市場營銷(SC))C

  【正確答案】:C

  【試題解析】:

  第 56 題:單選題(本題1分)

  數(shù)據(jù)庫的安全機制中,通過提供( )供第三方開發(fā)人員調(diào)用進行數(shù)據(jù)更新,從而保證數(shù)據(jù)庫的關(guān)系模式不被第三方所獲取。

  A.觸發(fā)器

  B.存儲過程

  C.視圖

  D.索引

  【正確答案】:B

  【試題解析】:

  存儲過程(Stored Procedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL語句集,它存儲在數(shù)據(jù)庫中,一次編譯后永久有效,

  用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫所提供的一種數(shù)據(jù)庫對象,通過存

  儲過程定 義一段代碼,提供給應(yīng)用程序調(diào)用來執(zhí)行。 從安全性的角度考慮,更新數(shù)據(jù)時,通過提供存儲過程讓第三方調(diào)用,將需要更

  新的數(shù)據(jù)傳入存儲過程,而在存儲過程內(nèi)部用代碼分別對需要的多個表進行更新,從而避免了向第三方提供系統(tǒng)的表結(jié)構(gòu),保證了系統(tǒng)

  的數(shù)據(jù)安全。

  第 57 題:單選題(本題1分)

  若棧采用順序存儲方式,現(xiàn)有兩棧共享空間V[1..n],,top[i]代表i( i=1,2)個棧的棧頂(兩個棧都空時top[1]= 1、top[2]= n),棧1的底在V[1],棧

  2的底在V[n], 則棧滿(即

  n

  個元素暫存在這兩個棧)的條件是( )。

  A.top[1]= top[2]

  B.top[1]+ top[2]==1

  C.top[1]+ top[2]==n

  D.top[1]- top[2]== 1

  【正確答案】:D

  【試題解析】:

  最后一個棧元素的位置加1為棧滿的情況,因此判斷的條件就是top[1]- top[2]== 1,選擇D。

  第 58 題:單選題(本題1分)

  采用循環(huán)隊列的優(yōu)點是( )。

  A.入隊和出隊可以在隊列的同端點進行操作

  B.入隊和出隊操作都不需要移動隊列中的其他元素

  C.避免出現(xiàn)隊列滿的情況

  D.避免出現(xiàn)隊列空的情況

  【正確答案】:B

  【試題解析】:

  循環(huán)隊列是將順序隊列形成一個環(huán)狀結(jié)構(gòu),元素入隊時修改尾指針,元素出隊時修改頭指針,入隊和出隊操作都不需要移動隊列中的其

  他元素。

  第 59 題:單選題(本題1分)

  二叉樹的高度是指其層數(shù),空二叉樹的高度為0,僅有根結(jié)點的二叉樹高度為1。若某二叉樹中共有1024個結(jié)點,則該二叉樹的高度是整數(shù)區(qū)間( )中的任一值。

  A.(10, 1024)

  B.[10, 1024]

  C.(11, 1024)

  D.[11, 1024]

  【正確答案】:D

  【試題解析】:

  本題分三種情況,第一種1024個結(jié)點排列成單枝樹,即非葉子結(jié)點只有一個孩子的樹。該二叉樹的高度為1024。第二種情況是完全二叉

  樹的情況,根據(jù)二叉樹特性:具有n個結(jié)點的完全二叉樹的深度為?log2n?+1,可得二叉樹深度為11。第三種情況是非完全二叉樹,層數(shù)在

  12-1023之間。綜上所述,該二叉樹的層數(shù)是整數(shù)區(qū)間 [11, 1024]中的任一值。

  第 60 題:單選題(本題1分)

  n個關(guān)鍵碼構(gòu)成的序列{k1,k2, ...kn,}當(dāng)且僅當(dāng)滿足下列關(guān)系時稱其為堆。 以下關(guān)鍵碼序列中,( ) 不是堆。

  A.15,25, 21,53,73, 65,33

  B.15,25, 21,33, 73, 65,53

  C.73, 65, 25, 21, 15,53, 33

  D.73, 65, 25,33, 53,15, 21

  【正確答案】:C

  【試題解析】:

  將一個一維數(shù)組看成是一棵完全二叉樹,如果該完全二叉樹中所有非終端結(jié)點的值均不小于其左、右孩子結(jié)點的值,則稱之為大頂

 。ǜ┒。如果該完全二叉樹中所有非終端結(jié)點的值均不大于其左、右孩子結(jié)點的值,則稱之為小頂(根)堆。將選項C的數(shù)組構(gòu)造成完

  全二叉樹,顯然是不滿足堆的條件的。如下圖所示。

  第 61 題:單選題(本題1分)

  對有向圖G進行拓?fù)渑判虻玫降耐負(fù)湫蛄兄校旤cVi在頂點Vj之前,則說明G中( )。

  A.一定存在有向弧image.pngVi, Vj>

  B.一定不存在有向弧image.pngVj, Vi>

  C.可能存在從Vi到Vj的路徑

  D.必定存在從Vj到Vi的路徑

  【正確答案】:C

  【試題解析】:

  如下圖所示有向圖,頂點V0在頂點V3之前,且并無有向弧image.pngV0,V2>,image.pngV2,V3>的路徑。左圖V1到V2并無路徑,右圖

  V2到V1沒有路徑。

  第 62 題:單選題(本題1分)

  歸并排序算法在排序過程中,將待排序數(shù)組分為兩個大小相同的子數(shù)組,分別對兩個子數(shù)組采用歸并排序算法進行排序,排好序的兩個子數(shù)組采用時間復(fù)雜度

  為O(n)的過程合并為一個大數(shù)組。根據(jù)上述描述,歸并排序算法采用了(作答此空)算法設(shè)計策略。歸并排序算法的最好和最壞情況下的時間復(fù)雜度為( )。

  A.分治

  B.動態(tài)規(guī)劃

  C.貪心

  D.回溯

  【正確答案】:A

  【試題解析】:

  歸并排序?qū)栴}先分解、再處理、再合并的方式采用了分治法的思想。

  第 63 題:單選題(本題1分)

  歸并排序算法在排序過程中,將待排序數(shù)組分為兩個大小相同的子數(shù)組,分別對兩個子數(shù)組采用歸并排序算法進行排序,排好序的兩個子數(shù)組采用時間復(fù)雜度

  為O(n)的過程合并為一個大數(shù)組。根據(jù)上述描述,歸并排序算法采用了( )算法設(shè)計策略。歸并排序算法的最好和最壞情況下的時間復(fù)雜度為(作答此空)。

  【正確答案】:C

  【試題解析】:

  歸并排序?qū)栴}先分解、再處理、再合并的方式采用了分治法的思想。

  第 64 題:單選題(本題1分)

  已知一個文件中出現(xiàn)的各字符及其對應(yīng)的頻率如下表所示。采用Huffman 編碼,則該文件中字符a和c的碼長分別為 (作答此空)。若采用Huffman編碼,則字符序

  列110001001101”的編碼應(yīng)為 ( )。

  A.1和3

  B.1和

  4

  C.3和3

  D.3和

  4

  【正確答案】:A

  【試題解析】:

  根據(jù)題意構(gòu)造哈夫曼樹如下。6個字符的編碼分別是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100

  第 65 題:單選題(本題1分)

  已知一個文件中出現(xiàn)的各字符及其對應(yīng)的頻率如下表所示。采用Huffman 編碼,則該文件中字符a和c的碼長分別為 ( )。若采用Huffman編碼,則字符序列

  110001001101”的編碼應(yīng)為 (作答此空)。

  A.face

  B.bace

  C.acde

  D.fade

  【正確答案】:A

  【試題解析】:

  根據(jù)題意構(gòu)造哈夫曼樹如下。6個字符的編碼分別是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100

  第 66 題:單選題(本題1分)

  用戶在電子商務(wù)網(wǎng)站上使用網(wǎng)上銀行支付時,必須通過( )在Internet與銀行專用網(wǎng)之間進行數(shù)據(jù)交換。

  A.支付網(wǎng)關(guān)

  B.防病毒網(wǎng)關(guān)

  C.出口路由器

  D.堡壘主機

  【正確答案】:A

  【試題解析】:

  支付網(wǎng)關(guān)可以將Internet上傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為銀行專用網(wǎng)數(shù)據(jù),是金融網(wǎng)絡(luò)系統(tǒng)與Internet網(wǎng)絡(luò)之間的接口。

  第 67 題:單選題(本題1分)

  ARP 報文分為ARP Request和ARP Response,其中ARP Request采用(作答此空)進行傳送,ARP Response采用( ) 進行傳送。

  A.廣播

  B.組播

  C.多播

  D.單播

  【正確答案】:A

  【試題解析】:

  ARP request報文用來獲取目的主機的MAC地址,ARP request報文采用廣播的方式在網(wǎng)絡(luò)上傳送,該網(wǎng)絡(luò)中所有主機包括網(wǎng)關(guān)都會接受到

  此ARP request 報文。接收到報文的目的主機會返回一個ARP Response報文來響應(yīng),ARP Response報文是以單播的方式傳送的。

  第 68 題:單選題(本題1分)

  ARP 報文分為ARP Request和ARP Response,其中ARP Request采用( )進行傳送,ARP Response采用(作答此空) 進行傳送。

  A.廣播

  B.組播

  C.多播

  D.單播

  【正確答案】:D

  【試題解析】:

  ARP request報文用來獲取目的主機的MAC地址,ARP request報文采用廣播的方式在網(wǎng)絡(luò)上傳送,該網(wǎng)絡(luò)中所有主機包括網(wǎng)關(guān)都會接受到

  此ARP request 報文。接收到報文的目的主機會返回一個ARP Response報文來響應(yīng),ARP Response報文是以單播的方式傳送的。

  第 69 題:單選題(本題1分)

  下面的標(biāo)記對中人 ( )用于表示網(wǎng)頁代碼的起始和終止。

  A.image.pnghtml>image.png/html>

  B.image.pnghead>image.png/head>

  C.image.pngbody>image.png/body>

  D.image.pngmeta> image.png/meta>

  【正確答案】:A

  【試題解析】:

  image.pnghead>image.png/head>表示文檔的頭部標(biāo)簽。如文檔的標(biāo)題,以及、腳本、樣式、meta 信息以及其他更多的信息。

  image.pngbody>image.png/body>表示文檔的內(nèi)容,比如文本、超鏈接、圖像、表格和列表等等。image.pngmeta> image.png/meta>表示

  HTML 文檔的元數(shù)據(jù),主要包括網(wǎng)頁的描述,關(guān)鍵詞,文件的最后修改時間,作者及其他元數(shù)據(jù)。image.pnghtml>image.png/html>用于表

  示網(wǎng)頁代碼的起始和終止。

  第 70 題:單選題(本題1分)

  以下對于路由協(xié)議的敘述中,錯誤的是( )。

  A.路由協(xié)議是通過執(zhí)行一個算法來完成路由選擇的一種協(xié)議

  B.動態(tài)路由協(xié)議可以分為距離向量路由協(xié)議和鏈路狀態(tài)路由協(xié)議

  C.路由協(xié)議是一種允讓許數(shù)據(jù)包在主機之間傳送信息的一種協(xié)議

  D.路由器之間可以通過路由協(xié)議學(xué)習(xí)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)

  【正確答案】:C

  【試題解析】:

  選項C 路由協(xié)議是一種允讓許數(shù)據(jù)包在路由器之間傳送信息的一種協(xié)議。

  第 71 題:單選題(本題1分)

  DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and

  oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and

  software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software

  engineer and the other is a DevOps engineer. The biggest different is in their (作答此空). Software engineers focus on how well the computer software fits the needs of the

  client while a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the

  software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works

  on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side

  of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more

  serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with

  automated processes. Both professions require knowledge of computer programming languages.

  A.focus

  B.process

  C.goal

  D.function

  【正確答案】:A

  第 72 題:單選題(本題1分)

  DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and

  oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and

  software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software

  engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while

  a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing (作答此空) support through the cloudwhile the

  software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works

  on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side

  of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more

  serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with

  automated processes. Both professions require knowledge of computer programming languages.

  A.developing

  B.deploying

  C.training

  D.operational

  【正確答案】:D

  第 73 題:單選題(本題1分)

  DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and

  oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and

  software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software

  engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while

  a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is

  continually (作答此空) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works

  on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side

  of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more

  serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with

  automated processes. Both professions require knowledge of computer programming languages.

  A.developeD.

  B.functional

  C.constructeD.

  D.secure

  【正確答案】:B

  第 74 題:單選題(本題1分)

  DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and

  oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and

  software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software

  engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while

  a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is

  continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on

  computer applications, but manages the building, deployment and operation as a(作答此空) autormated process. Software engineers often work separately from the

  o

  perations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are

  necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly

  function with automated processes. Both professions require knowledge of computer programming languages.

  A.single

  B.whole

  C.continuous

  D.independent

  【正確答案】:C

  第 75 題:單選題(本題1分)

  DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and

  oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and

  software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software

  engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while

  a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is

  continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on

  computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side of

  a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more

  serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to (作答此空) software tosmoothly function with

  automated processes. Both professions require knowledge of computer programming languages.

  A.develop

  B.integrate

  C.analyse

  D.maintain

  【正確答案】:B

  第 1 題:解析題(本題1分)

  【說明】某現(xiàn)代農(nóng)業(yè)種植基地為進一步提升農(nóng)作物種植過程的智能化,欲開發(fā)智慧農(nóng)業(yè)平臺,集管理和銷售于一體,該平臺的主要功能有:

  1.信息維護。農(nóng)業(yè)專家對農(nóng)作物、環(huán)境等監(jiān)測數(shù)據(jù)的監(jiān)控處理規(guī)則進行維護。

  2.數(shù)據(jù)采集。獲取傳感器上傳的農(nóng)作物長勢、土壤墑情、氣候等連續(xù)監(jiān)測數(shù)據(jù),解析后將監(jiān)測信息進行數(shù)據(jù)處理、可視化和存儲等操作。

  3.數(shù)據(jù)處理。對實時監(jiān)測信息根據(jù)監(jiān)控處理規(guī)則進行監(jiān)測分析,將分析結(jié)果進行可視化并進行存儲、遠程控制對歷史監(jiān)測信息進行綜合統(tǒng)計和預(yù)測,將預(yù)測信息

  進行可視化和存儲。

  4.遠程控制。根據(jù)監(jiān)控處理規(guī)則對分析結(jié)果進行判定,依據(jù)判定結(jié)果自動對控制器進行遠程控制。平臺也可以根據(jù)農(nóng)業(yè)人員提供的控制信息對控制器進行遠程控

  制。

  5.可視化。實時向農(nóng)業(yè)人員展示監(jiān)測信息:實時給農(nóng)業(yè)專家展示統(tǒng)計分析結(jié)果和預(yù)測信息或根據(jù)農(nóng)業(yè)專家請求進行展示。

  現(xiàn)采用結(jié)構(gòu)化方法對智慧農(nóng)業(yè)平臺進行分析與設(shè)計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。

  【問題1】(4分)

  使用說明中的詞語,給出圖1-1中的實體E1~E4的名稱。

  【問題2】(4分)

  使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D4的名稱。

  【問題3】(4分)

  根據(jù)說明和圖中術(shù)語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。

  【問題4】(3分)

  根據(jù)說明,“數(shù)據(jù)處理”可以分解為哪些子加工?進一步進行分解時,需要注意哪三種常見的錯誤?

  【試題解析】:

  【問題1】(4分)

  E1:傳感器;E2:農(nóng)業(yè)專家;E3:農(nóng)業(yè)人員;E4:控制器

  【問題2】(4分)

  D1:監(jiān)控處理規(guī)則文件 D2:監(jiān)測信息表 D3:分析結(jié)果文件 D4:預(yù)測信息表

  【問題3】(4分)

  起點D1,終點P4,規(guī)則起點E2,終點P5,請求

  起點D3,終點P5,分析結(jié)果

  起點D4,終點P5,預(yù)測信息

  【問題4】(3分)

  數(shù)據(jù)處理加工分為數(shù)據(jù)分析,可視化與存儲;

  黑洞、奇跡、灰洞

  第

  2 題:解析題(本題1分)

  某汽車維修公司為了便于管理車輛的維修情況,擬開發(fā)一套汽車維修管理系統(tǒng),請根據(jù)下述需求描述完成該系統(tǒng)的數(shù)據(jù)庫設(shè)計。

  【需求描述】

  (1)客戶信息包括:客戶號、客戶名、客戶性質(zhì)、折扣率、聯(lián)系人、聯(lián)系電話?蛻粜再|(zhì)有個人或單位?蛻籼栁ㄒ粯(biāo)識客戶關(guān)系中的每一個元組。

  (2)車輛信息包括:車牌號、車型、顏色和車輛類別。一個客戶至少有一輛車,一輛車只屬于一個客戶。

  (3)員工信息包括:員工號、員工名、崗位、電話、家庭住址。其中,員工號唯一標(biāo)識員工關(guān)系中的每一個元組。崗位有業(yè)務(wù)員、維修工、主管。業(yè)務(wù)員根據(jù)車

  輛的故障情況填寫維修單。

  (4)部門信息包括:部門號、名稱、主管和電話,其中部門號唯一-確定部門關(guān)系的每一個元組。每個部門只有一名主管,但每個部門有多名員工,每名員工只屬

  于一個部門。

  (5)維修單信息包括:維修單號、車牌號、維修內(nèi)容、工時。維修單號唯一標(biāo)識維修單關(guān)系中的每一個元組。一個維修工可接多張維修單,但一張維修單只對應(yīng)一

  個維修工。

  【概念模型設(shè)計】

  根據(jù)需求階段收集的信息,設(shè)計的實體聯(lián)系圖,如圖2-1所示

  【邏輯結(jié)構(gòu)設(shè)計】

  根據(jù)概念模型設(shè)計階段完成的實體聯(lián)系圖,得出如下關(guān)系模式:

  客戶(客戶號,客戶名,(a);折扣率,聯(lián)系人,聯(lián)系電話)

  車輛(車牌號,(b),車型,顏色,車輛類別)

  員工(員工號,員工名,崗位,(c),電話,家庭住址)

  部門(部門號,名稱,主管,電話)

  維修單(維修單號,(d),維修內(nèi)容,工時)

  【問題1】(6分)

  根據(jù)問題描述,補充3個聯(lián)系,完善圖2-1的實體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系2和聯(lián)系3代替,聯(lián)系的類型為1:1、1:n和m:n(或1:1、1:*和*.*)。

  【問題2】(4分)

  根據(jù)題意,將關(guān)系模式中的空(a)~(d)的屬性補充完整,并填入答題紙對應(yīng)的位置上。

  【問題3】(2分)

  分別給出車輛關(guān)系和維修單關(guān)系的主鍵與外鍵。

  【問題4】(3分)

  如果一張維修單涉及多項維修內(nèi)容,需要多個維修工來處理,那么哪個聯(lián)系類型會發(fā)生何種變化?你認(rèn)為應(yīng)該如何解決這一問題?

  【試題解析】:

  【問題1】(6分)

  聯(lián)系1:客戶和車輛,1:1

  聯(lián)系2:部門和員工,1:n

  聯(lián)系3:維修工和維修單,1:n

  【問題2】(4分)

  a:客戶性質(zhì) b:客戶號c:部門號d:車牌號,員工號

  【問題3】(2分)

  車輛關(guān)系的主鍵:(車輛號,客戶號)外鍵:客戶號

  維修單關(guān)系的主鍵:維修單號外鍵:車牌號,員工號

  【問題4】(3分)

  維修工和維修單之間的聯(lián)系類型會發(fā)生變化,從1:n變成m:n。

  第 3 題:解析題(本題1分)

  某游戲公司欲開發(fā)一款吃金幣游戲。游戲的背景為一種回廊式迷宮(Maze),在迷宮的不同位置上設(shè)置有墻。迷宮中有兩種類型的機器人(Robos):小精靈(PacMan)和

  幽靈(Ghost)。游戲的目的就是控制小精靈在迷宮內(nèi)游走,吞吃迷宮路徑上的金幣,且不能被幽靈抓到。幽靈在迷宮中游走,并會吃掉遇到的小精靈。機器人游

  走時,以單位距離的倍數(shù)計算游走路徑的長度。當(dāng)迷宮中至少存在一個小精靈和一個幽靈時,游戲開始。

  機器人上有兩種傳感器,使機器人具有一定的感知能力。這兩種傳感器分別是:

  (1)前向傳感器(FrontSensor),探測在機器人當(dāng)前位置的左邊、右邊和前方是否有墻(機器人遇到墻時,必須改變游走方向)。機器人根據(jù)前向傳感器的探測結(jié)果,

  決定朝哪個方向運動。

  (2)近距離傳感器(ProxiSesor),探測在機器人的視線范圍內(nèi)(正前方)是否存在隱藏的金幣或幽靈。近距離傳感器并不報告探測到的對象是否正在移動以及朝哪個方

  向移動。但是如果近距離傳感器的連續(xù)兩次探測結(jié)果表明被探測對象處于不同的位置,則可以推導(dǎo)出該對象在移動。

  另外,每個機器人都設(shè)置有一個計時器(Timer),用于支持執(zhí)行預(yù)先定義好的定時事件。

  機器人的動作包括:原地向左或向右旋轉(zhuǎn)90°;向前或向后移動。

  建立迷宮:用戶可以使用編輯器(Editor) 編寫迷宮文件,建立用戶自定義的迷宮。將迷宮文件導(dǎo)入游戲系統(tǒng)建立用戶自定義的迷宮。

  現(xiàn)采用面對家分析與設(shè)計方法開發(fā)該游戲,得到如圖3-1所示的用例圖以及圖3-2所示的初始類圖。

  【問題1】(3分)

  根據(jù)說明中的描述,給出圖3-1中U1~U3所對應(yīng)的用例名。

  【問題2】(4分)

  圖3-1中用例U1~U3分別與哪個(哪些)用例之間有關(guān)系,是何種關(guān)系?

  【問題3】(8分)

  根據(jù)說明中的描述,給出圖3-2中C1~C8所對應(yīng)的類名。

  【試題解析】:

  【問題1】(3分)

  U1編寫迷宮文件;U2導(dǎo)入迷宮文件;U3設(shè)置計時器

  【問題2】(4分)

  U1和U2與建立迷宮用例是泛化關(guān)系;U3與操作機器人是包含關(guān)系

  【問題3】(8分)

  C1 機器人(Robos);

  C2 計時器(Timer);

  C3小精靈(PacMan);

  C4幽靈(Ghost)

  C5 傳感器;

  C6 前向傳感器(FrontSensor)

  C7 近距離傳感器(ProxiSesor) ;

  C8 迷宮(Maze)

  其中C3與C4可換;C6與C7可換

  第

  4 題:解析題(本題1分)

  生物學(xué)上通常采用編輯距離來定義兩個物種DNA序列的相似性,從而刻畫物種之間的進化關(guān)系。具體來說,編輯距離是指將首一個字符串變換為另一個字符所需

  要的最小操作次數(shù)。操作有三種,分別為:插入一個字符、刪除一個字符以及將一個字符修改為另 一個字符。用字符數(shù)組str1和str2分別表示長度分別為len1和len2

  的字符串,定義二維數(shù)組d記錄求解編輯距離的子問題最優(yōu)解,則該二維數(shù)組可以遞歸定義為:

  C代碼

  下面是算法的C語言實現(xiàn)。

  (1)常量和變更說明

  A,B:兩個字符數(shù)組

  d:二維數(shù)組

  i,j:循環(huán)變量

  temp:臨時變量

  (2)C程序

  #include<stdio.h>

  #define N 100

  return ( 4 );

  }

  【問題1】 (8分)

  根據(jù)說明扣C代碼,填充C代碼中的空(1)~(4)的。

  【問題2】 (4分)

  根據(jù)說明和C代碼,算法采用了(5)設(shè)計策略,時間復(fù)雜度為(6)(用

  O符號表示,兩個字符串的長度分別用m

  和

  n表示)。

  【問題3】 (3分)

  已知兩個字符串A="CTGA"和B="ACGCTA",根據(jù)說明和C代碼,可得出這兩個字符串的編輯距離為(7)。

  【試題解析】:

  【問題1】

  (1) d[0][j]=j

  (2)str1[i-1]==str2[j-1]

  (3)d[i-1][i-1]

  (4) d[len1][len2]

  【問題2】

  (5)動態(tài)規(guī)劃法

  (6)0(m*n)

  【問題3】

  (7)4

  第 5 題:解析題(本題1分)

  享元(flyweight)模式主要用于減少創(chuàng)建對象的數(shù)量,以降低內(nèi)存占用,提高性能,F(xiàn)要開發(fā)一個網(wǎng)絡(luò)圍棋程序,允許多個玩家聯(lián)機下棋。由于只有一臺服務(wù)器,為

  節(jié)省內(nèi)存空間,采用享元模式實現(xiàn)該程序,得到如圖5-1所示的類圖。

  C++代碼

  #include <iostream>

  #include <vector>

  using namespace std;

  enum PieceColor{BLACK, WHITE}; //棋子顏色

  class PiecePos{ //棋子位置

  private:

  int x;

  int y;

  public:

  PiecePos(int a,int b); x(a),y(b){}

  int getX(){return x;}

  int getY(){return y;}

  };

  class Piece{ //棋子定義

  piece=new BlackPiece(color,pos); //獲取一顆黑子

  count<<m_blackName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";

  ( 4 );

  }else{ //放白子

  piece=new WhitePiece(color,pos); //獲取一顆白子

  count<<m_whiteName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";

  ( 5 );

  }

  m_vecPiece.push_back(piece);

  }

  };

  【試題解析】:

  (1) virtual void DrawO {}

  (2) Piece*

  (3) Piece *

  (4) piece->Draw0

  (5) piece->Draw0

  第 6 題:解析題(本題1分)

  享元(flyweight)模式主要用于減少創(chuàng)建對象的數(shù)量,以低內(nèi)存占用,提高性能,F(xiàn)要開發(fā)一個網(wǎng)絡(luò)圍棋程序允許多個玩家聯(lián)機下棋。由于只有一臺服務(wù)器,為節(jié)

  內(nèi)存空間,采用享元模式實現(xiàn)該程序,得到如圖6-1所的類圖。

  【Java代碼】

  import java.util.*:

  enum PieceColor {BLACK,WHITE}//棋子顏色

  class PiecePos{//棋子位置

  private intx;

  private int y:

  pubic PiecePos(int a,int b){x=a;y=b;}

  public int getX0{retun x;}

  public int getYO{return y;}

  }

  abstract class Piece{//棋子定義

  protected PieceColor m_color;//顏色

  protected Piecemopos m_pos;//位置

  public Piece(PieceColor,color PiecePos

  pos){m color=color;

  {:sod=sod u

  (1);

  }

  class BlackPiece extends Piece{

  public BlackPiece(PieceColor

  color,PiecePos pos){super(color,pos);}

  public void drawO{

  System out println("draw a black

  piece");}

  }

  class WhitePiece extends Piece{

  public WhitePiece(PieceColor

  color,PiecePos pos){super(c

  olor,pos):}

  public void draw0{

  System.out.println("draw a white

  piece");

  }

  {

  class PieceBoard{

  //棋盤上已有的棋子

  private static final

  ArrayList<(2)>m_arrayPiece=new Arra

  yList

  private String m_blackName;//黑方名稱

  private String m_whiteName;//白方名稱

  public PieceBoard(String black,String

  white){

  m_blackName=black;m_whiteName=white;

  }

  //一步棋,在棋盤上放一顆棋子

  public void SetePiece(PieceColor

  color,PiecePos pos){

  (3)piece=null;

  if(color==PieceColor.BLACK)(//放黑子

  piece=new BlackPiece(color,pos);//獲取一顆黑子

  System.out.println(m_blackName+"在位置("+pos.getX0)

  +","+pos.getYO+")");

  (4):

  {

  else{//放白子

  piece=new WhitePiece(color,pos);//獲取一顆白子

  System.out.println(m whiteName+"在位置("+pos.getX0)+

  ","+pos.getYO+")");

  (5):

  }

  m_arrayPiece.add(piece);

  }

  }

  【試題解析】:

  (1)public abstract void draw( )

  (2)Piece

  (3)Piece

  (4)piece.draw( )

  (5)piece.draw( )

【軟件設(shè)計師歷年真題】相關(guān)文章:

歷年自考真題10-09

職稱英語歷年真題《綜合A》詞匯選項真題09-24

基金銷售從業(yè)考試歷年真題03-18

雅思?xì)v年真題作文(精選22篇)03-27

歷年考研英語閱讀理解真題09-22

考研英語閱讀理解歷年真題09-27

考研英語一歷年真題「2016」01-21

江蘇自考?xì)v年真題(精選10篇)09-24

小學(xué)教資歷年真題試卷10-12

大學(xué)英語四級真題試卷歷年真題及答案10-11