软件设计师习题笔记-重点习题三
1.CPU執行算術運算或者邏輯運算時,常將源操作數和結果暫存在(累加器 (AC))中。
解析:
本題考查計算機組成原理中的CPU構成。
答案應該是累加寄存器,用來暫時存放算術邏輯運算部件ALU運算的結果信息。
程序計數器(PC)是存放執行指令的地方,計算之前就要用到。
指令寄存器(IR)保存當前正在執行的一條指令。
地址寄存器(AR)用來保存當前CPU所要訪問的內存單元的地址。
2.計算機系統中常用的輸入/輸出控制方式有無條件傳送、中斷、程序查詢和DMA方式等。當采用(DMA)方式時,不需要CPU執行程序指令來傳送數據。
解析:
本題考查DMA方式的特點。在計算機中,實現計算機與外部設備之間數據交換經常使用的方式有無條件傳送、程序查詢、中斷和直接存儲器存取(DMA)。其中前三種都是通過CPU執行某一段程序,實現計算機內存與外設間的數據交換。只有DMA方式下,CPU交出計算機系統總線的控制權,不參與內存與外設間的數據交換。而DMA方式工作時,是在DMA控制硬件的控制下,實現內存與外設間數據的直接傳送,并不需要CPU參與工作。由于DMA方式是在DMA控制器硬件的控制下實現數據的傳送,不需要CPU執行程序,故這種方式傳送的速度最快。
3.某系統由下圖所示的冗余部件構成。若每個部件的千小時可靠度都為 R ,則該系 統的千小時可靠度為((1-(1-R)3)(1-(1-R)2))。
解析:
本題考查系統可靠度的概念。
串聯部件的可靠度=各部件的可靠度的乘積。
并聯部件的可靠度=1-部件失效率的乘積。
題目中給出的系統是“先并后串”。
此時先求出三個R并聯可靠度為:1-(1-R)^3
然后求出兩個R并聯可靠度為:1-(1-R)^2
最終整個系統的可靠度是兩者之積:(1-(1-R)^3)*(1-(1-R)^2)。
4.己知數據信息為 16 位,最少應附加(5)位校驗位,才能實現海明碼糾錯。
解析:
本題考查組成原理中的海明校驗碼。
只要是海明碼按合法的方式編碼,就能糾錯。所以,本題實際上就是求海明碼中校驗位的長度。海明碼中所需要的校驗碼位數,有這樣的規定的:假設用N表示添加了校驗碼位后整個信息的二進制位數,用K代表其中有效信息位數,r表示添加的校驗碼位,它們之間的關系應滿足:2^r-1>=K+r
本題中K=16,則要求2^r>=16+r+1,根據計算可以得知r的最小值為5。
5.以下關于Cache(高速緩沖存儲器)的敘述中,不正確的是(Cache 的設置擴大了主存的容量)
解析:
本題考查計算機組成原理中的高速緩存基礎知識。高速緩存Cache有如下特點:它位于CPU和主存之間,由硬件實現;容量小,一般在幾KB到幾MB之間;速度一般比主存快5到10倍,由快速半導體存儲器制成;其內容是主存內容的副本(所以Cache無法擴大主存的容量),對程序員來說是透明的;Cache既可存放程序又可存放數據。
Cache存儲器用來存放主存的部分拷貝(副本)??刂撇糠值墓δ苁?#xff1a;判斷CPU要訪問的信息是否在Cache存儲器中,若在即為命中,若不在則沒有命中。命中時直接對 Cache存儲器尋址。未命中時,若是讀取操作,則從主存中讀取數據,并按照確定的替換原則把該數據寫入Cache存儲器中:若是寫入操作,則將數據寫入主存即可。
6.以下加密算法中適合對大量的明文消息進行加密傳輸的是(RC5)
解析:
本題考查的是信息安全中的加密算法。其中:RSA屬于非對稱加密算法;SHA-1與MD5屬于信息摘要算法;RC-5是一種對稱加密算法。這些算法中SHA-1與MD5是不能用來加密數據的,而RSA由于效率問題,一般不直接用于大量的明文加密,適合明文加密的,也就只有RC-5了。
7.假定用戶A、B 分別在I1和I2兩個 CA 處取得了各自的證書,下面(I1、I2互換公鑰)是 A、B 互信的必要條件。
解析:
本題考查的是信息安全中的CA認證。題目難度較高,但用排除法來分析不難得出結論。首先,在公鑰體系中,交換私鑰是無論什么情況下都絕對不允許發生的情況,所以A與C選項必然錯誤。余下的B與D,B選項的做法沒意義,要AB互信,其信任基礎是建立在CA之上的,如果僅交換AB的公鑰并不能解決信任的問題。而I1與I2的公鑰交換倒是可以做到互信,因為I1與I2的公鑰正是驗證CA簽名的依據。所以本題應選D。
8.根據我國商標法,下列商品中必須使用注冊商標的是(煙草制品)。
解析:
目前根據我國法律法規的規定必須使用注冊商標的是煙草類商品。《煙草專賣法》(1991年6月29日通過,1992年1月1日施行)第二十條規定:“卷煙、雪茄煙和有包裝的煙絲必須申請商標注冊,未經核準注冊的,不得生產、銷售。禁止生產、銷售假冒他人注冊商標的煙草制品。”《煙草專賣法實施條例》(1997年7月3日施行)第二十四條規定:“卷煙、雪茄煙和有包裝的煙絲,應當使用注冊商標;申請注冊商標,應當持國務院煙草專賣行政主管部門的批準生產文件,依法申請注冊?!?/p>
9.數字語音的采樣頻率定義為 8kHz,這是因為(語音信號定義的頻率最高值為4kHz)
解析:
取樣:每隔一定時間間隔,取模擬信號的當前值作為樣本,該樣本代表了模擬信號在某一時刻的瞬間值。經過一系列的取樣,取得連續的樣本可以用來代替模擬信號在某一區間隨時間變化的值。那么究竟以什么樣頻率取樣,就可以從取樣脈沖信號中無失真地恢復出原來的信號這是問號尼奎斯特取樣定理:如果取樣速率大于模擬信號最高頻率的2倍,則可以用得到的樣本中恢復原來的模擬信號。
10.使用圖像掃描儀以300DPI的分辨率掃描一幅3×4英寸的圖片,可以得到(900×1200 )像素的數字圖像。
解析:
300*3*300*4=900*1200
11.在進行軟件開發時,采用無主程序員的開發小組,成員之間相互平等;而主程序員負責制的開發小組,由一個主程序員和若干成員組成,成員之間沒有溝通。在一個由8名開發人員構成的小組中,無主程序員組和主程序員組的溝通路徑分別是(28和7)。
解析:
無主程序員組進行溝通時,需要兩兩溝通,所以溝通路徑數為:7*8÷2=28。
有主程序員組,有問題可以與主程序員溝通,由主程序負責協調,所以除主程序員自己,其他7人,每人與主程序員建立一條溝通路徑,一共7條溝通路徑。
12.在高級語言源程序中,常需要用戶定義的標識符為程序中的對象命名,常見的命名對象有( ②③④ )
①關鍵字(或保留字)②變量③函數④數據類型⑤注釋
解析:
關鍵字和注釋不能作為標識符給對象命名。
13.某文件管理系統在磁盤上建立了位示圖(bitmap) ,記錄磁盤的使用情況。若計算機 系統的字長為 32 位,磁盤的容量為 300GB ,物理塊的大小為4MB ,那么位示圖的大小需要(?2400 )個字。
解析:
由于磁盤容量為300GB,物理塊大小4MB,所以共有300*1024/4=300*256塊物理塊,位示圖用每1位表示1個磁盤塊的使用情況,1個字是32位,所以1個字可以表示32塊物理塊使用情況,那么需要300*256/32=300*8=2400個字表示使用情況。
14.某系統中有3個并發進程競爭資源R,每個進程都需要5個R,那么至少有(?13 )個R,才能保證系統不會發生死鎖。
解析:
在有限的資源下,要保證系統不發生死鎖,則可以按這種邏輯來分析。首先給每個進程分配所需資源數減1個資源,然后系統還有1個資源,則不可能發生死鎖。即:3*4+1=13個。
15.某計算機系統頁面大小為4K ,進程的頁面變換表如下所示。若進程的邏輯地址為2D16H。該地址經過變換后,其物理地址應為(?4D16H )
解析:
頁面大小為4K,說明頁內地址有12位,所以16進制數中的D16H是頁內地址,邏輯頁號則為2。查表可知物理塊號為4,所以物理地址為4D16H。
16.進程P1、P2 、P3、P4 和P5的前趨圖如下所示
若用PV操作控制進程P1、P2、P3、P4和P5并發執行的過程,需要設置5個信號量S1、S2、S3、S4和S5,且信號量S1~S5的初值都等于零。如下的進程執行圖中a和b處應分別填寫(?P(S1)和V(S2)V(S3) );c和d處應分別填寫(?P(S2)和V(S4) );e和f處應分別填寫(?P(S4)和V(S5) ) 。
17.以下關于螺旋模型的敘述中,不正確的是(?它不適用于大型軟件開發 )
解析:
螺旋模型是一種演化軟件開發過程模型,它兼顧了快速原型的迭代的特征以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在于引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟件應用。
18.以下關于極限編程(XP) 中結對編程的敘述中,不正確的是(?編碼速度更快 )。
解析:
極限編程是一個輕量級的、靈巧的軟件開發方法;同時它也是一個非常嚴謹和周密的方法。它的基礎和價值觀是交流、樸素、反饋和勇氣;即,任何一個軟件項目都可以從四個方面入手進行改善:加強交流;從簡單做起;尋求反饋;勇于實事求是。XP是一種近螺旋式的開發方法,它將復雜的開發過程分解為一個個相對比較簡單的小周期;通過積極的交流、反饋以及其它一系列的方法,開發人員和客戶可以非常清楚開發進度、變化、待解決的問題和潛在的困難等,并根據實際情況及時地調整開發過程。XP就提倡結對編程(PairProgramming),而且代碼所有權是歸于整個開發隊伍。其中的結對編程就是一種對代碼的審查過程,XP主要解決代碼質量低的問題,編碼速度不能改變。
19.在設計軟件的模塊結構時, (?完善模塊的功能 )不能改進設計質量。
解析:
在結構化設計中,系統由多個邏輯上相對獨立的模塊組成,在模塊劃分時需要遵循如下原則:
(1)模塊的大小要適中。系統分解時需要考慮模塊的規模,過大的模塊可能導致系統分解不充分,其內部可能包括不同類型的功能,需要進一步劃分,盡量使得各個模塊的功能單一;過小的模塊將導致系統的復雜度增加,模塊之間的調用過于頻繁,反而降低了模塊的獨立性。一般來說,一個模塊的大小使其實現代碼在1~2頁紙之內,或者其實現代碼行數在50~200行之間,這種規模的模塊易于實現和維護。
(2)模塊的扇入和扇出要合理。一個模塊的扇出是指該模塊直接調用的下級模塊的個數;扇出大表示模塊的復雜度高,需要控制和協調過多的下級模塊。扇出過大一般是因為缺乏中間層次,應該適當增加中間層次的控制模塊;扇出太小時可以把下級模塊進一步分解成若干個子功能模塊,或者合并到它的上級模塊中去。一個模塊的扇入是指直接調用該模塊的上級模塊的個數;扇入大表示模塊的復用程度高。設計良好的軟件結構通常頂層扇出比較大,中間扇出較少,底層模塊則有大扇入。一般來說,系統的平均扇入和扇出系數為3或4,不應該超過7,否則會增大出錯的概率。
(3)深度和寬度適當。深度表示軟件結構中模塊的層數,如果層數過多,則應考慮是否有些模塊設計過于簡單,看能否適當合并。寬度是軟件結構中同一個層次上的模塊總數的最大值,一般說來,寬度越大系統越復雜,對寬度影響最大的因素是模塊的扇出。在系統設計時,需要權衡系統的深度和寬度,盡量降低系統的復雜性,減少實施過程的難度,提高開發和維護的效率。
20.模塊A、B和C有相同的程序塊,塊內的語句之間沒有任何聯系,現把該程序塊取出來,形成新的模塊D,則模塊D的內聚類型為(?巧合 )內聚。以下關于該內聚類型的敘述中,不正確的是(?不影響模塊間的耦合關系 )。
解析:
功能內聚:完成一個單一功能,各個部分協同工作,缺一不可。
順序內聚:處理元素相關,而且必須順序執行。
通信內聚:所有處理元素集中在一個數據結構的區域上。
過程內聚:處理元素相關,而且必須按特定的次序執行。
瞬時內聚:所包含的任務必須在同一時間間隔內執行(如初始化模塊)。
邏輯內聚:完成邏輯上相關的一組任務。
偶然內聚:完成一組沒有關系或松散關系的任務。
巧合內聚就是偶然內聚。偶然內聚由于內容都是不相關的,所以必然導致它與外界多個模塊有關聯,這也使得模塊間的耦合度增加。
21.采用面向對象方法進行軟件開發,在分析階段,架構師主要關注系統的(?行為 )。
解析:
采用面向對象方法進行軟件開發,分析階段,架構師主要關注系統的行為,即系統應該做什么。
22.在面向對象方法中,多態指的是(?客戶類無需知道所調用方法的特定子類的實現 )
解析:
多態:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執行結果。在運行時,可以通過指向基類的指針,來調用實現派生類中的方法。也就是說客戶類其實在調用方法時,并不需要知道特定子類的實現,都會用統一的方式來調用。
23.
41:通信圖
42:對象
43:消息
解析:
從圖示可以了解到,題目中的圖是通信圖。通信圖描述的是對象和對象之間的關系,即一個類操作的實現。簡而言之就是,對象和對象之間的調用關系,體現的是一種組織關系。該圖明顯表達的是對象與對象之間的關系。其中如果一個框中的名稱中帶有“:”號,說明這表示的是一個對象,“:”號前的部分是對象名,“:”號后面的部分是類名。而對象之間連線上面的箭頭所標識的是對象之間通信的消息。
24.下圖所示為觀察者(Observer)模式的抽象示意圖,其中(?Subject )知道其觀察者,可以有任何多個觀察者觀察同一個目標;提供注冊和刪除觀察者對象的接口。此模式體現的最主要的特征是(?類應該對擴展開放,對修改關閉 )
解析1:
觀察者將自己注冊到事件,那么具體的事件就知道了自己的觀察者。觀察者和事件都有自己的抽象,當實現具體的觀察者和事件的時候都要實現相應接口,所以對擴展是開放的。
解析2:
觀察者將自己注冊到事件,那么具體的事件就知道了自己的觀察者。觀察者和事件都有自己的抽象,當實現具體的觀察者和事件的時候都要實現相應接口,所以對擴展是開放的。
25.裝飾器 (Decorator) 模式用于 (?將一個對象加以包裝以提供一些額外的行為 );外觀 (Facade) 模式用于(?將一系列對象加以包裝以簡化其接口 )。
解析:
裝飾模式是一種對象結構型模式,可動態地給一個對象增加一些額外的職責,就增加對象功能來說,裝飾模式比生成子類實現更為靈活。通過裝飾模式,可以在不影響其他對象的情況下,以動態、透明的方式給單個對象添加職責;當需要動態地給一個對象增加功能,這些功能可以再動態地被撤銷時可使用裝飾模式;當不能采用生成子類的方法進行擴充時也可使用裝飾模式。
外觀模式是對象的結構模式,要求外部與一個子系統的通信必須通過一個統一的外觀對象進行,為子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
26.若事務T1對數據D1加了共享鎖,事務 T2、T3分別對數據D2、D3加了排它鎖,則事務T1對數據(?D2、D3加排它鎖和共享鎖都失敗 ) ;事務T2對數據(?D1加共享鎖成功 ,D3加排它鎖失敗 )
解析:
共享鎖(S鎖):又稱讀鎖,若事務T對數據對象A加上S鎖,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。
排他鎖(X鎖):又稱寫鎖。若事務T對數據對象A加上X鎖,其他事務不能再對A加任何鎖,直到T釋放A上的鎖。
27.假設關系R<U,F>,U= {A1,A2, A3},F = {A1A3→A2,A1A2→A3},則關系R的各候選關鍵字中必定含有屬性( A1 )。
解析:
既能唯一標識元組,包含的字段又是最精煉的,而且如果去掉其中任何一個字段后不再能唯一標識元組,那么就是候選關鍵字。此題中候選關鍵字有A1A3,A1A2。所以候選關鍵字中必有的屬性是A1。
28.在某企業的工程項目管理系統的數據庫中供應商關系Supp、項目關系Proj和零件關系Part的E-R模型和關系模式如下:
Supp(供應商號,供應商名,地址,電話)
Proj(項目號,項目名,負責人,電話)
Part(零件號,零件名)
其中,每個供應商可以為多個項目供應多種零件,每個項目可由多個供應商供應多種零件。SP_P需要生成一個獨立的關系模式,其聯系類型為(*:*:*)給定關系模式SP_P(供應商號,項目號,零件號,數量)查詢至少供應了3個項目(包含3項)的供應商,輸出其供應商號和供應零件數量的總和,并按供應商號降序排列。
SELECT 供應商號,SUM(數量) FROM (?SP_P ) GROUP BY 供應商號 (?HAVING COUNT(DISTINCT(項目號))>2 ) ORDER BY 供應商號DESC;
?
解析:
由于1個供應商對應多個項目供應的多種零件,同時1個項目由多個供應商供應多種零件,所以三個實體都涉及到多。這個三元聯系為:*:*:*。
后面2個空考查的是SQL語言,目前需要查詢的是零件數量總和,很明顯在題目的多個關系中只有SP_P有這個屬性。所以查詢只能FROM SP_P。接下來分析如何能把至少供應了3個項目的供應商找出來,此時需要寫查詢條件。查詢條件Where 與Having的區別要弄清楚,Where是針對單條記錄的判斷條件,而Having是針對分組之后的判斷條件,此處應選Having,同時,由于考慮到項目號可能重復,所以需要加Distinct關鍵字以便去掉重復。
29.在異步通信中,每個字符包含 1 位起始位、7位數據位和2位終止位,若每秒鐘傳送500個字符,則有效數據速率為( 3500b/s )
解析:
每個字符的位數為1+7+2=10,每秒傳輸500個字符,故每秒傳輸的位數為10*500=5000,即碼元速率為5000波特,每個字符中的有效數據占7位,因此每秒的有效數據為3500bit,則有效數據速率為3500b/s。
30.以下路由策略中,依據網絡信息經常更新路由的是(?自適應路由 )
解析:
動態路由選擇算法就是自適應路由選擇算法,是依靠當前網絡的狀態信息進行決策,從而使路由選擇結果在一定程度上適應網絡拓撲結構和通信量的變化,需要依據網絡信息經常更新路由。
?
總結
以上是生活随笔為你收集整理的软件设计师习题笔记-重点习题三的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++工作笔记-作用域的巧妙使用,释放堆
- 下一篇: Qt工作笔记-在ListWidget中多