民國105年 第2梯次 11902 電腦軟體設計(C++)乙級 學科考古題與答案

民國105年 第2梯次 11902 電腦軟體設計(C++)乙級 學科歷屆試題與答案,共 80 題可線上瀏覽,適合查詢考古題、題庫與解答。

題目與答案

第1題

下列敘述何者為不正確? 1. E t h e r n e t 使用的通訊協定是T C P / I P 2. 在區域網路中,T o k e n - B u s 使用的通訊協定是802 . 4 3. 在區域網路中,T o k e n - R i n g 使用的通訊協定是802 . 5 4. S M T P 是一種網際網路上傳輸電子郵件的通訊協定。

答案:(1) E t h e r n e t 使用的通訊協定是T C P / I P

解析:乙太網路(Ethernet)規範的是 IEEE 802.3 的訊框格式與媒體存取控制,只涵蓋實體層與資料鏈結層;TCP/IP 則是上層的通訊協定堆疊,兩者分屬不同層級,不能說 Ethernet 使用的通訊協定是 TCP/IP,故此敘述不正確。Token-Bus 對應 IEEE 802.4、Token-Ring 對應 IEEE 802.5,SMTP 則是網際網路上傳送電子郵件的協定(伺服器間以 TCP 25 埠通信),後三項皆正確。

第2題

下列那一項不是T C P / I P 的特點? 1. 網路的種類無關 2. T C P 是可靠的傳輸 3. 網路不會遭受攻擊 4. 容錯力高。

答案:(3) 網路不會遭受攻擊

解析:TCP/IP 的特點包括:與實體網路種類無關,可跑在 Ethernet、光纖、無線等各種網路上;TCP 以序號、確認(ACK)與重傳機制提供可靠的連接導向傳輸;透過路由與替代路徑具備高容錯力。TCP/IP 本身並沒有任何防止攻擊的設計,網路安全仍須靠防火牆、加密、身分驗證等外加措施,因此「網路不會遭受攻擊」並非其特點。

第3題

對於物件導向語言建構子的敘述,以下何者正確? 1. 使用時一定要配合n e w 指令 2. 一個類別只能有一個建構子 3. 名稱要跟類別名稱一致 4. 可以使用變數命名規則命名。

答案:(3) 名稱要跟類別名稱一致

解析:建構子的名稱必須與類別名稱完全相同,且不寫回傳型別,在物件建立時自動被呼叫,負責初始化成員變數。以堆疊方式宣告物件(例如 MyClass a;)就會呼叫建構子,不一定要搭配 new;同一類別可以有多個建構子(多載),例如預設建構子與帶參數建構子並存;建構子名稱受類別名稱限制,不能像一般變數任意命名。

第4題

U M L 的限制可以使用O C L 說明,O C L 原文為以下那一個? 1. O p e n C o n s t r a i n t L a n g u a g e 2. O b j e c t C o m m u n i c a t i o n L a n g u a g e 3. O b j e c t C o n s t r a i n t L a n g u a g e 4. O p e n C o m m u n i c a t i o n L a n g u a g e 。

答案:(3) O b j e c t C o n s t r a i n t L a n g u a g e

解析:OCL 的原文是 Object Constraint Language(物件限制語言),由 UML 規範所定義,用來在類別圖等模型上以文字精確描述圖形難以表達的限制,例如不變條件(invariant)、前置條件(pre)與後置條件(post)。其字首為 Object 而非 Open,後半為 Constraint Language 而非 Communication Language,因此只有第 3 項的拼寫正確。

第5題

有關演算法與程式的比較,下列何者正確? 1. 演算法必須具有限性,但程式則不一定 2. 程式必須具有限性,但演算法則不一定 3. 演算法和程式都可存在無窮迴路 4. 演算法和程式都不一定要具有限性,可以有無窮迴路。

答案:(1) 演算法必須具有限性,但程式則不一定

解析:演算法須具備輸入、輸出、明確性、有效性與有限性五項特性,其中有限性指必須在有限個步驟內結束。程式是演算法以程式語言實作後的產物,可能因等待使用者輸入、事件驅動或刻意設計而持續執行,例如作業系統服務或無窮迴圈,因此程式不一定具有限性;但含無窮迴圈的流程本身已不符合演算法的定義,不能反過來說演算法可以沒有限制。

第6題

在磁碟機陣列中採R A I D 技術,其資料須經過H a m m i n g C o d e 編碼後儲存的,為下列那 一項? 1. R A I D 1 2. R A I D 5 3. R A I D 2 4. R A I D 0 + 1 。

答案:(3) R A I D 2

解析:RAID 2 採位元級(bit-level)資料分割,並使用 Hamming Code(漢明碼)進行錯誤偵測與更正,需配置額外的 ECC 磁碟,屬早期架構,現已少用。RAID 0 為條帶化、無備援;RAID 1 為鏡射;RAID 5 為分散式同位元檢查;RAID 0+1 是先條帶再鏡射。上述四者皆未使用漢明碼編碼儲存,故資料須經漢明碼編碼者為 RAID 2。

第7題

關於I P v 4 ( I n t e r n e t P r o t o c o l 第四版) 通訊協定,下列敘述那一項錯誤? 1. I P 位址( I P A d d r e s s ) 佔4 個位元組 2. I P 為網路層( N e t w o r k L a y e r ) 的通訊協定 3. I P 是一種路由協定( R o u t i n g P r o t o c o l ) 4. I P 的標頭有存放來源端的I P 位址。

答案:(3) I P 是一種路由協定( R o u t i n g P r o t o c o l )

解析:IPv4 位址長度為 32 位元,即 4 個位元組;IP 屬於 OSI 網路層(Network Layer)的協定;IP 標頭中確實含有來源與目的 IP 位址欄位,這三項皆正確。IP 是負責定址與封包轉送的「被路由」協定,本身不交換路由資訊;RIP、OSPF、BGP 這類路由協定才負責建立與維護路由表,因此稱 IP 為路由協定是錯誤的。

第8題

河內塔( T o w e r o f H a n o i ) 問題中,欲搬動n 個套環,最少必須移動幾次? 1. n 2. 3. 4. n ( n + 1 ) / 2 。

答案

  • 3

第9題

下列何者為I P 位址168 . 95 . 192 . 1 / 22 的子網路遮罩? 1. 255 . 255 . 248 . 0 2. 255 . 255 . 252 . 0 3. 255 . 255 . 255 . 0 4. 255 . 255 . 255 . 255 。

答案:(2) 255 . 255 . 252 . 0

解析:/22 代表前 22 個位元為網路位址、後 10 個位元為主機位址。子網路遮罩前 22 位設為 1,其餘設為 0,寫成二進位是 11111111.11111111.11111100.00000000,換算為十進位即 255.255.252.0。第三個位元組 11111100 的值為 128+64+32+16+8+4=252。255.255.248.0 對應 /21,255.255.255.0 對應 /24,255.255.255.255 則是 /32,皆不符合 /22。

第10題

為了維護資料的安全,下列敘述何者不正確? 1. 備份資料應與系統設備及應用系統分開放置 2. 系統資料必須定期予以備份 3. 應用系統應使用日誌檔( L o g F i l e ) 詳細記錄使用情形 4. 系統密碼一旦設定後請勿更改。

答案:(4) 系統密碼一旦設定後請勿更改

解析:資訊安全要求資料具備備份與稽核機制。備份應定期執行,且備份媒體宜與系統設備、應用系統分開放置,以免同一災害同時毀損原件與備份;日誌檔可記錄存取與操作軌跡,有助追查異常。密碼設定後仍應定期更改,並避免使用弱密碼或與他人共用,因此「設定後請勿更改」不正確。

第11題

下列關聯式代數( R e l a t i o n a l A l g e b r a ) 的運算子,何者不是形成完全集合 ( C o m p l e t e S e t ) 的原始運算子( P r i m i t i v e O p e r a t o r s ) ? 1. 連結運算( J o i n ) 2. 乘積運算( C a r t e s i a n P r o d u c t ) 3. 差集運算( D i f f e r e n c e ) 4. 聯集運算( U n i o n ) 。

答案:(1) 連結運算( J o i n )

解析:關聯式代數的原始運算子包含選擇、投影、聯集、差集與笛卡兒乘積,這組運算可表達其餘運算,稱為完全集合。連結運算可由笛卡兒乘積再配合選擇條件(必要時投影)推導出來,並非原始運算子;聯集、差集與乘積本身則屬於原始運算子。因此答案為連結運算。

第12題

對堆疊( S t a c k ) 的敘述,下列何者為錯誤? 1. 通常使用 P u s h 及P o p 進行資料處理 2. 所有的加入( I n s e r t i o n ) 和刪除( D e l e t i o n ) 動作均在頂端( T o p ) 進行 3. 其具有後進後出的特性 4. 是一個有序串列( O r d e r e d L i s t ) 。

答案:(3) 其具有後進後出的特性

解析:堆疊是一種有序串列,資料的加入與刪除都只在頂端進行,分別稱為 Push 與 Pop。最後放入的元素會最先被取出,特性是後進先出(LIFO),而非「後進後出」。佇列才是先進先出(FIFO)。堆疊的循序存取限制使資料順序固定,不能從中間插入或刪除,因此描述錯誤的是選項 3。

第13題

U N I X 檔案系統必須先安裝才可被系統中的行程取得,下列何者為此種安裝動作? 1. M o u n t 2. I n s t a l l 3. S e t u p 4. C o n n e c t 。

答案:(1) M o u n t

解析:在 UNIX/Linux 中,檔案系統要能被行程存取,必須先掛載到目錄樹的某個掛載點,這個動作稱為 mount;掛載後該目錄即代表檔案系統的根。install 通常指安裝軟體或套件,setup 是環境設定,connect 則是一般連線用語,皆非 UNIX 檔案系統的掛載指令。因此答案為 Mount。

第14題

電腦對於副程式的呼叫通常使用下列何種資料結構? 1. 佇列( Q u e u e ) 2. 堆疊( S t a c k ) 3. 樹 ( T r e e ) 4. 陣列( A r r a y ) 。

答案:(2) 堆疊( S t a c k )

解析:副程式呼叫時,系統需要保存返回位址、參數、區域變數與暫存器狀態,呼叫結束後再依相反順序回復,這種後進先出的存取順序正好由堆疊提供。每次呼叫 push 一層活動記錄,返回時 pop,因此能正確處理巢狀與遞迴呼叫。佇列是先進先出,樹與陣列不具備這種自動回復順序的特性。

第15題

由國際標準組織( I S O ) 所訂O S I 通訊協定中,那一層具有安排資料傳輸路徑 ( R o u t i n g ) 的 功能? 1. 實體層 2. 資料連結層 3. 交談層 4. 網路層。

答案:(4) 網路層

解析:OSI 七層中,網路層負責邏輯位址、封包路由與轉送,會依路由表選擇資料傳輸路徑,因此 Routing 屬於網路層。實體層處理位元傳輸與電氣訊號;資料連結層處理訊框、MAC 位址與錯誤偵測;交談層管理會話建立與同步。答案為網路層。

第16題

有關C + + 語言前置處理的描述,何者正確? 1. # i n c l u d e 和 # s e t 是前置處理指令 2. 前置處理指令只能出現在程式的最前頭 3. 前置處理是在編譯前進行 4. 前置處理指令屬於C 的語法指令。

答案:(3) 前置處理是在編譯前進行

解析:C++ 的前置處理在編譯前由前置處理器執行,負責處理 #include、#define、條件編譯等指令,展開結果才交給編譯器。前置處理指令不必全部集中在程式最前面,只要遵守行導向語法即可出現在適當位置;#set 並非標準指令,且這類指令不屬於 C++ 的敘述語法。因此正確的是前置處理在編譯前進行。

第17題

資料庫交易(T r a n s a c t i o n )中,所有已承諾(C o m m i t )的改變將永遠保留的特性,稱為 下列何者特性? 1. 隔離性( I s o l a t e d ) 2. 簡易性( S i m p l i c i t y ) 3. 持續性( D u r a b l e ) 4. 一致性 ( C o n s i s t e n t ) 。

答案:(3) 持續性( D u r a b l e )

解析:資料庫交易的 ACID 四大特性中,持續性(Durability)指交易一旦完成 Commit,其變更就必須永久保存,即使之後系統斷電、當機或重新啟動,已承諾的資料仍能透過交易記錄(log)回復,不會遺失。隔離性指多個交易同時執行時互不干擾,各自看到的中間狀態不互相污染;一致性指交易前後資料庫都必須滿足完整性限制;簡易性並非 ACID 的成員。本題關鍵字是「已承諾的改變將永遠保留」,對應的正是持續性。

第18題

有關C + + 程式寫作風格,以下何者正確? 1. 一個變數宣告使用一行比較好 2. 程式設計師寫作風格不標準,程式將無法編譯執行 3. 每一行長度最好不要少於100 字 4. 註解符號可以使用/ / . . . 和/ * . . . 。

答案:(1) 一個變數宣告使用一行比較好

解析:良好程式風格建議一個變數宣告使用一行,讓每個變數的型別、初值與用途一目了然,也方便日後註解與版本比對時看出差異。程式碼風格(縮排、空白、變數命名)屬於人為慣例,編譯器只檢查語法,風格不標準並不會導致無法編譯執行。每行長度過長會使閱讀與除錯困難,實務上多建議控制在一螢幕寬度內,而不是要求不得少於 100 字。註解部分,行註解為 //,區塊註解須成對使用 /* 與 */,選項敘述並不完整。

第19題

假設A 以T C P 連線將一資料封包送給B ,其中序號( S e q u e n c e N u m b e r ) 為12000 、確認 值( A c k n o w l e d g e m e n t ) 為16000 、資料大小為200 位元組,則當B 順利收到A 所傳送過 來的這個封包並對A 進行回應時,在B 所回應給A 的封包中,確認值應為下列何者? 1. 16200 2. 12000 3. 12200 4. 16000 。

答案:(3) 12200

解析:TCP 的確認號採累計確認(cumulative ACK),代表「我已經正確收到這個位元組之前的所有資料,下一個期待收到的位元組編號」。計算方式為:確認值=收到的序號+資料長度=12000+200=12200。因此 B 回覆的封包中確認值應為 12200。選項 16200 是把原本 A 送出的確認值 16000 再加上 200,屬於誤用欄位;12000 只是原封包的序號,代表已收到的起點而非下一個期待位元組;16000 則是 A 對 B 的確認,方向相反。

第20題

依據C + + 以下之變數宣告,欲將n u m 值加1,下列敘述何者正確? 1. p + + ; 2. ( * p ) + + ; 3. ( & n u m ) + + ; 4. ( * n u m ) + + ; 。

答案:(2) ( * p ) + + ;

解析:假設 int num; int *p = #。要將 num 的值加 1,必須先透過 *p 取值(dereference)得到 num,再以 (*p)++ 對該整數加 1,故選項2正確。選項1 p++ 是讓指標 p 往後移動一個 int 位置(p 指向 num 之後的記憶體),改變的是指標本身而非 num;選項3 (&num)++ 中 &num 是右值(位址常數),不能對其遞增;選項4 (*num)++ 試圖對 int 變數 num 取值,語法錯誤,因為 num 不是指標。

第21題

對於正規化的步驟中,那一種N o r m a l F o r m ( N F ) 主要是在處理「消除所有的非鍵屬性之 間的功能相依性」的問題? 1. 1 N F 2. 3 N F 3. 2 N F 4. 4 N F 。

答案:(2) 3 N F

解析:正規化的核心是消除不良的功能相依性。1NF 要求每個欄位都是不可分割的單元值(去除重複群組);2NF 是在 1NF 基礎上消除「非鍵屬性對主鍵的部分相依」,適用於主鍵由多個屬性組成的資料表;3NF 則進一步消除「非鍵屬性之間的功能相依」,也就是遞移相依(A→B、B→C 造成 A→C),使非鍵屬性只能相依於主鍵。題目所述「消除所有非鍵屬性之間的功能相依性」正是 3NF 的定義。4NF 處理的是多值相依,與題意不同。

第22題

下面的文法可以產生那一種字串( S t r i n g ) ? 1. a b b a 2. a a b a 0 a b a a 3. a b 0 a b 4. a a b a 0 a a b a a 。 <W >: : = 0 | a <W >a | b <W >b

答案:(2) a a b a 0 a b a a

解析:此文法採遞迴定義:<W> 可為 0,也可在左右同時各加上一個相同的 a 或 b,所以產生的字串必定以 0 為中心、左右完全對稱,形式為 w0wᵀ。選項 2 中 0 的左邊是 aaba、右邊是 abaa,abaa 正好是 aaba 的反轉,因此合法。選項 1 完全沒有 0,無法由文法推導出來;選項 3 左邊 ab 的反轉是 ba,與右邊的 ab 不符;選項 4 左邊只有四個字元、右邊有五個字元,長度不相等也不合法。

第23題

D T D ( D o c u m e n t T y p e D e f i n i t i o n ) 的功用是下列那一項? 1. 文件格式的轉換 2. 建立文件的模型 3. 程式設計 4. 布林運算。

答案:(2) 建立文件的模型

解析:DTD(Document Type Definition)用來定義 XML 文件的結構模型,內容包括可出現哪些元素、元素的巢狀順序、出現次數(如 ?、*、+)、屬性名稱與型別,以及實體宣告等,讓文件能依既定結構被驗證。它本身不做文件格式轉換(例如 XML 轉 PDF 需靠 XSLT 等工具),也不是程式語言,更與布林運算無關。因此「建立文件的模型」是最貼近的描述。

第24題

在U N I X 作業系統中,下列那類使用者與檔案使用權限無關? 1. O w n e r 2. G r o u p 3. U n i v e r s e 4. S e t 。

答案:(4) S e t

解析:UNIX 檔案權限以三類身分區分:Owner(檔案擁有者)、Group(與檔案同群組的成員)、Universe/Others(其他所有使用者),分別對應 r、w、x 三種權限,形成九個位元的權限設定。Set 並非使用者類別,而是指 setuid、setgid、sticky bit 這類特殊權限位元,作用在改變執行時的權限或刪除限制,與「以何種身分被歸類」無關。因此與檔案使用權限分類無關的是 Set。

第25題

下列那一項不是作業系統的記憶體管理方式? 1. 置換法 ( S w a p p i n g ) 2. 分段法 ( S e g m e n t a t i o n ) 3. 需求分頁法 ( D e m a n d P a g i n g ) 4. 垃圾搜集法 ( G a r b a g e C o l l e c t i o n ) 。

答案:(4) 垃圾搜集法 ( G a r b a g e C o l l e c t i o n )

解析:作業系統的記憶體管理方式包括置換法(Swapping,將整個行程在記憶體與磁碟間搬移)、分段法(Segmentation,依程式邏輯區段配置)、分頁法與需求分頁法(Demand Paging,只在真正存取時才載入分頁,並配合置換與 page fault 處理)。垃圾搜集法(Garbage Collection)是程式語言或執行環境自動回收不再使用之物件記憶體的技术,例如 Java、C# 的執行環境,屬於語言層次的記憶體管理機制,並非作業系統管理實體記憶體的方式,故選 4。

第26題

有一整數序列26 , 59 , 77 , 31 , 51 , 11 , 19 , 42 以M e r g e S o r t 由小而大排序,第一階段( P a s s ) 的合併結果,下列何者是正確的? 1. 31 , 51 , 11 , 42 , 26 , 77 , 59 , 19 2. 11 , 19 , 26 , 31 , 42 , 59 , 51 , 77 3. 26 , 59 , 31 , 77 , 11 , 51 , 19 , 42 4. 26 , 11 , 19 , 31 , 51 , 59 , 77 , 42 。

答案:(3) 26 , 59 , 31 , 77 , 11 , 51 , 19 , 42

解析:Merge Sort 第一階段將 8 個元素兩兩配對、各自排序後合併。原序列 (26,59)(77,31)(51,11)(19,42) 各組內部排序得 (26,59)(31,77)(11,51)(19,42),依序串接即為 26,59,31,77,11,51,19,42。選項 1、2、4 分別為未排序、完全排序、錯誤分組結果。

第27題

針對數列1 、2 、3 、4 ,有多少種排列( P e r m u t a t i o n ) 無法用雙向佇列 ( D e q u e , D o u b l e - e n d e d Q u e u e ) 得到? 1. 24 2. 0 3. 12 4. 4 。

答案:(2) 0

第28題

C + + 語言視為f a l s e ,是以下那一個值? 1. - 1 2. - 100 3. 0 4. 1 。

答案:(3) 0

解析:C++ 規定零值(0、0.0、nullptr、false)在布林脈絡下為 false,其餘非零整數(含 -1、-100、1)皆為 true。故唯有選項 3 的 0 會被視為 false。

第29題

在C S M A / C D 的通訊協定中,當發生碰撞之後,網路卡會等待K × 512 b i t t i m e 的時間再 嘗試重送資料(K 為一隨機挑選的數字),請問若K =6,在頻寬100 M b p s 的乙太網路上, 網路卡需等待多久的時間才會再嘗試重送資料? 1. 秒 2. 秒 3. 秒 4. 秒。

答案:(2) 秒

第30題

若 t 表示二元樹之樹根,下列程式之意涵,何者是正確的? 1. 傳回二元樹之高度 2. 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中高度較高之數值 3. 傳回二元樹之節點個數 4. 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中較多節點之個數。

答案:(1) 傳回二元樹之高度

解析:常見遞迴函式:若 t 為 nullptr 回傳 0;否則回傳 1 + max(height(t->left), height(t->right)),此即計算二元樹高度(根節點算第 1 層)。選項 2 僅比較左右子樹高度且少了根節點本身;選項 3、4 為計算節點數邏輯。

第31題

物件導向程式中,類別中提供內部使用的 F u n c t i o n / M e t h o d,最好是宣告成以下那一種類 別? 1. p u b l i c 2. s t a t i c 3. p r o t e c t e d 4. p r i v a t e 。

答案:(4) p r i v a t e

解析:封裝原則要求內部實作細節對外隱藏,僅供類別自身或友元使用的函式應宣告為 private;protected 允許衍生類別存取,public 則完全公開,static 僅影響儲存期與連結屬性,非存取權限。

第32題

在S Q L 語法中,若查詢參考了兩個或多個同名的屬性,我們必須用關聯表名稱來修飾屬 性名稱,做法是將關聯表名稱置於屬性名稱之前,並用那個符號加以區隔? 1. ~ 2. . 3. _ 4. ,。

答案:(2) .

解析:SQL 使用「資料表名稱.屬性名稱」(dot notation)來消除同名欄位歧義,例如 SELECT t1.id, t2.id FROM table1 t1, table2 t2。其餘符號 ~、_、, 均非標準限定符號。

第33題

針對程式語言陣列的描述,下述何者正確? 1. 程式設計師必須使用指標技術設計 2. 必須儲存相同資料型態 3. 陣列索引一定從1 開始 4. 可以任意改變陣列空間長度。

答案:(2) 必須儲存相同資料型態

解析:陣列是一組連續配置的記憶體空間,同一陣列中的所有元素必須是相同資料型態,編譯器才能依型態大小換算出每個元素的位址,這是陣列最基本的特性。C/C++ 的陣列索引由 0 開始,並非從 1 開始;陣列長度在宣告時就已固定,不能任意改變。存取元素時直接用索引即可,並不強制程式設計師使用指標技術。因此只有選項 2 正確。

第34題

一個只包含根節點的B - t r e e 其高度為1。一個分支度( o r d e r ) 為3 的B - t r e e ,若其高度為 4 ,最多可儲多少筆資料? 1. 120 2. 39 3. 80 4. 26 。

答案:(3) 80

第35題

專利專責機關接到發明專利申請文件後,經審查認為無不合規定程式,且無應不予公開之 情事者,自申請日起幾個月後,應將該申請案公開? 1. 十八個月 2. 三十六個月 3. 二十四個月 4. 十二個月。

答案:(1) 十八個月

解析:我國專利法對發明專利採早期公開制度:專利專責機關接到申請文件後,經審查認為程式並無不合規定,且沒有涉及國防機密或其他應不予公開的情事者,自申請日起滿十八個月,就應將該申請案公開,使公眾得以知悉並據以提出意見;申請人若希望提早,也可主動請求提前公開。十八個月是法定的一般公開時點,而非十二、二十四或三十六個月,故選項 1 正確。

第36題

下列有關建構子( C o n s t r u c t o r ) 與解構子( D e s t r u c t o r ) 的描述何者是正確? 1. 物件建立時會自動呼叫類別的建構子,物件毀去時會自動呼叫類別的解構子 2. 建構子與解構子可以被繼承 3. 一個類別僅能定義一個建構子與解構子 4. 建構子與解構子可以宣告傳回值。

答案:(1) 物件建立時會自動呼叫類別的建構子,物件毀去時會自動呼叫類別的解構子

解析:建構子在物件生成時自動呼叫,解構子在物件銷毀時自動呼叫,兩者均無傳回型別(連 void 也不能寫),不可被繼承(衍生類別會自行定義),且類別可定義多個多載建構子,但解構子僅能有一個。

第37題

下列何者是採用半雙工的傳輸模式? 1. 電話 2. 警用對講機 3. 收音機 4. 擴音器。

答案:(2) 警用對講機

解析:半雙工傳輸模式指通訊雙方可以互相傳送與接收資料,但不能同時進行,必須輪流切換。警用對講機典型操作需按下發話鍵才能說話,放開才能聽對方回應,完全符合半雙工特性。電話屬全雙工(可同時雙向通話);收音機與擴音器僅單向傳輸,屬單工模式。

第38題

下列之區塊,何者可以捕捉任何型態之例外? 1. c a t c h ( * ) { } 2. c a t c h ( . . . ) { } 3. c a t c h ( e x c e p t i o n ) { } 4. c a t c h ( ) { } 。

答案:(2) c a t c h ( . . . ) { }

解析:C++ 中若要捕捉所有型態的例外,須使用省略號參數 `catch(...) {}`,此為標準語法的「catch-all」處理器。選項 1 的 `catch(*)` 非合法語法;選項 3 僅能捕捉衍生自 `std::exception` 的例外,無法捕捉基本型別或非標準例外;選項 4 的空參數列 `catch()` 屬語法錯誤。

第39題

下列那一種程式語言支援物件導向中之多重類別繼承( M u l t i p l e C l a s s I n h e r i t a n c e ) ? 1. S m a l l t a l k 2. J a v a 3. P A S C A L 4. C + + 。

答案:(4) C + +

解析:多重類別繼承指一個類別可同時繼承多個基底類別。C++ 原生支援多重繼承;Smalltalk、Java 僅支援單一繼承(Java 透過介面達成類似效果,但非類別繼承);Pascal 為傳統結構化語言,不支援物件導向繼承機制。

第40題

下列那兩種備份方法可達到最快速備份產生時間? 1. 完整備份與遞增備份 2. 部分備份( P a r t i a l B a c k u p ) 與遞增備份( I n c r e m e n t a l B a c k u p ) 3. 完整備份( F u l l B a c k u p ) 與差異備份( D i f f e r e n t i a l B a c k u p ) 4. 遞增備份與差異備份。

答案:(1) 完整備份與遞增備份

第41題

將數值資料5 、4 、3 、2 、1 依序插入空的A V L 樹後,再以後序追蹤( P o s t o r d e r T r a v e r s a l ) 的順序為何? 1. 5 、4、3、2、1 2. 4、2、1、3、5 3. 1 、3 、2 、5 、4 4. 3 、5、2 、4 、1 。

答案:(3) 1 、3 、2 、5 、4

解析:AVL 樹要求每個節點左右子樹的高度差絕對值不超過 1,插入後若失衡就必須旋轉。依序插入 5、4、3 時,節點 5 的左子樹比右子樹高 2,做一次 LL(向右)旋轉後,根成為 4,左子為 3、右子為 5。再插入 2 掛在 3 的左邊,仍維持平衡。插入 1 後,節點 3 的左子樹高 2、右子樹高 0,再次做 LL 旋轉,2 升為該子樹的根,左子為 1、右子為 3。最終樹根為 4,左子樹為 2(左 1、右 3),右子樹為 5。後序追蹤依左、右、根進行,得到 1、3、2、5、4。

第42題

依據以下C + + 之程式片段,其x 之輸出結果何者正確? 1. 5 2. 2 3. 3 4. 4 。

答案:(4) 4

第43題

有一分支度( o r d e r ) 為256 之B - t r e e ,將10 萬筆記錄存入此B - t r e e 中,其高度之最小值 為下列何者? 1. 3 2. 2 3. 4 4. 5 。

答案:(1) 3

解析:B-tree分支度order=256,意指每節點最多256個子節點,最多255個鍵值。高度最小發生於樹節點全滿時。公式:最大記錄數 = (order^h)-1。欲容納100,000筆:256^1-1=255<100,000;256^2-1=65,535<100,000;256^3-1=16,777,215>100,000。故最小高度h=3。選項1正確。

第44題

對於C 程式的宣告c h a r s [ 5 ] [ 6 ] ; c h a r * p ;,下列那一個正確? 1. p = s [ 0 ] [ 0 ] ; 2. p = s [ 2 ] [ 4 ] ; 3. p = s ; 4. p = * s ; 。

答案:(4) p = * s ;

解析:char s[5][6] 是二維字元陣列,s 在運算式中會衰減為指向一列(char[6])的指標,型別為 char (*)[6];*s 等同 s[0],取得第一個一維陣列,會再衰減為 char*,因此可指定給 char *p。第1項 s[0][0] 是單一字元 char,不能指定給指標;第2項 s[2][4] 同樣是 char;第3項 p=s 型別為 char (*)[6] 與 char* 不相容。故選第4項。

第45題

假設某程式變數X 的有效值應是在0 至10000 間,有關此程式變數X 測試案例,下列何 者不正確? 1. 不需測試負數 2. 應在0 至10000 間,隨機選取測試值 3. 應特別測試10000 4. 應特別測試0 。

答案:(1) 不需測試負數

解析:邊界值分析要求測試上下邊界(0、10000)與無效等價類(負數、>10000)。選項 1 指出「不需測試負數」錯誤,負數屬無效等價類,必須測試以驗證輸入檢查機制。選項 2、3、4 均符合黑盒測試原則:隨機抽樣有效區間、重點測試上下邊界值。

第46題

下列那一種排序法,由於資料量大,無法直接存放在記憶體中,必須先存放於輔助記憶體 內再處理? 1. 外部排序( E x t e r n a l S o r t ) 2. 內部排序( I n t e r n a l S o r t ) 3. 選擇排序( S e l e c t i o n S o r t ) 4. 快速排序( Q u i c k S o r t ) 。

答案:(1) 外部排序( E x t e r n a l S o r t )

解析:外部排序是指資料量太大,無法一次全部載入主記憶體,必須先分批讀入、在記憶體內排序成暫存串列(run),寫回磁碟等輔助記憶體,再進行合併的一類排序法。內部排序(如選擇排序、快速排序)的前提是全部資料都能放進記憶體,因此資料量大時並不適用;選擇排序與快速排序都屬於內部排序的具體演算法,並非處理輔助記憶體的方式。本題關鍵在於「資料量大、須先存放輔助記憶體」,故答案為外部排序。

第47題

在U M L 中,下列那一種圖可代表物件間訊息傳遞的動態模型? 1. 循序圖( S e q u e n c e D i a g r a m ) 2. 狀態圖( S t a t e D i a g r a m ) 3. 使用案例圖( U s e C a s e D i a g r a m ) 4. 類別圖( C l a s s D i a g r a m ) 。

答案:(1) 循序圖( S e q u e n c e D i a g r a m )

解析:循序圖以時間軸由上而下的順序,描述多個物件之間訊息的傳送與接收,屬於動態模型,最能表達物件間互動的先後關係。狀態圖描述的是單一物件在生命週期中的狀態轉移;使用案例圖描述系統對外界提供的功能與参与者互動;類別圖描述類別、屬性、操作與彼此的靜態結構關係,不含時間順序。因此代表物件間訊息傳遞動態模型者為循序圖。

第48題

下列那種系統轉換方式的優點是可以比較新舊系統的輸出統計,以確認新系統的結果是否 正確,並且是非常穩健的方法? 1. 階段性轉換( P h a s e d C o n v e r s i o n ) 2. 實驗轉換 ( P i l o t C o n v e r s i o n ) 3. 平行轉換 ( P a r a l l e l C o n v e r s i o n ) 4. 直接轉換 ( D i r e c t C o n v e r s i o n ) 。

答案:(3) 平行轉換 ( P a r a l l e l C o n v e r s i o n )

解析:平行轉換讓新舊系統同時運作一段時間,把兩者產出的報表與統計結果相互比對,可確認新系統計算是否正確,是四種轉換方式中最穩健、風險最低的一種,但需同時維護兩套系統,成本最高。階段性轉換是依功能或部門分階段上線;實驗轉換是先選定部分單位試行;直接轉換則是一次切換、舊系統立即停用,風險最大且無從比對輸出。題目強調「比較新舊系統輸出統計」,故為平行轉換。

第49題

將右列堆積( H e a p ) [ 15 , 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 1 , 2 , 6 ] 的最大元素刪除後,所形成的堆積何者正 確? 1. 13 , 12 , 9 , 8 , 7 , 6 , 5 , 4 , 2 , 1 , 0 2. 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 6 , 2 , 1 3. 13 , 12 , 9 , 5 , 2 , 8 , 7 , 4 , 0 , 1 , 6 4. 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2 。

答案:(4) 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2

解析:最大堆積刪除最大元素(根節點15)時,先將最後一個元素6移至根,再與較大的子節點交換向下調整。第一次6與13交換,得13,6,9,5,12,8,7,4,0,1,2;第二次6與其子節點12交換,得13,12,9,5,6,8,7,4,0,1,2;此時6的子節點為1與2,皆小於6,調整結束。結果與選項4相符,其餘選項在父子節點大小關係上均不滿足最大堆積性質。

第50題

下列C + + 程式之輸出結果為何? 1. 2. 3. 4. 。

答案

  • 3

第51題

下列何者是系統開發中,雛型法( P r o t o t y p i n g ) 模型所強調的特點? 1. 可維護性 2. 快速設計 3. 品質 4. 演算法效率。

答案:(2) 快速設計

解析:雛型法強調快速建立一個可操作、可展示的系統模型,讓使用者在開發初期就能實際看到並試用,及早提出回饋,以釐清需求、降低溝通落差,因此其核心特點是快速設計與反覆修正。可維護性、品質與演算法效率並非雛型法所強調的重點;雛型常為求快速而忽略效率與結構,甚至可能被丟棄重做。故本題應選快速設計。

第52題

在U M L 類別圖( C l a s s D i a g r a m ) 中,操作( O p e r a t i o n ) 只有規格,沒有實施方法者 ( I m p l e m e n t a t i o n M e t h o d ) ,稱為下列何者? 1. 不完全操作( I n c o m p l e t e O p e r a t i o n ) 2. 抽象操作 ( A b s t r a c t O p e r a t i o n ) 3. 未定操作( U n r e s o l v e d O p e r a t i o n ) 4. 粗略操作( R o u g h O p e r a t i o n ) 。

答案:(2) 抽象操作 ( A b s t r a c t O p e r a t i o n )

解析:在UML類別圖中,若某項操作只宣告名稱、參數與回傳型別等規格(簽名),而沒有實作方法,稱為抽象操作(Abstract Operation),通常以斜體字表示,並由子類別覆寫提供實作;含有抽象操作的類別即為抽象類別,無法直接具現化。選項中的不完全操作、未定操作、粗略操作皆非UML的標準術語。故本題答案為抽象操作。

第53題

在實體關係模式( E n t i t y - R e l a t i o n s h i p M o d e l ) 中,對於基數率( C a r d i n a l i t y R a t i o ) 的描 述,下列何者正確? 1. 最大值可為任何實數( R e a l N u m b e r ) 2. 最小值一定為0 3. 最小值可為負數 4. 最大值可為無限大。

答案:(4) 最大值可為無限大

解析:實體關係模式中的基數率用來描述某一實體參與關係時的最小與最大次數。最大基數可以是1或N(多),當關聯的個數沒有限制時,即以無限大表示,故最大值可為無限大。最小基數只可能是0(選擇參與)或1(必然參與),不可能為負數;最大基數是參與次數的上限,屬於整數概念,而非任意實數。因此正確敘述為最大值可為無限大。

第54題

下列為含有五個運算元之運算式,此運算式是以後序追蹤( P o s t o r d e r T r a v e r s a l ) 方式表 示,其中" * " 表示乘法運算,這些後序追蹤所對應的運算樹( E x p r e s s i o n T r e e ) ,其高度何 者是最高? 1. 123 * * 45 * * 2. 12 * 3 * 4 * 5 * 3. 12 * 34 * 5 * * 4. 12 * 34 * * 5 * 。

答案:(2) 12 * 3 * 4 * 5 *

解析:依後序式建運算樹並比較高度:選項1為1*(2*3)與(4*5)相乘,高度3;選項2為((((1*2)*3)*4)*5),呈左斜鏈狀,高度4;選項3為(1*2)*((3*4)*5),高度3;選項4為((1*2)*(3*4))*5,高度3。五個運算元、四個運算子所能形成的樹,以完全偏斜的左鏈高度最大,故選項2的運算樹最高。

第55題

下圖若以A 為起始點,並以深度優先搜尋( D e p t h F i r s t S e a r c h ) 時,下列順序何者不可能 產生? 1. A C D E B 2. A B D C E 3. A B D E C 4. A E C D B 。

答案:(2) A B D C E

第56題

在U M L 循序圖( S e q u e n c e D i a g r a m ) 的互動架構( I n t e r a c t i o n F r a m e ) 中,o p t 運算子意義 是以下那一個? 1. 只要條件為真的情況就會被執行 2. 只有一個條件為真的情況會被執行 3. 表示另外一個循序圖架構 4. 所有架構平行執行。

答案:(1) 只要條件為真的情況就會被執行

解析:UML 循序圖的互動架構中,opt(Optional)運算子代表「選擇性」片段,其含義是「只要守衛條件(guard condition)為真,該片段內的訊息序列就會被執行;否則略過」。這與選項 1「只要條件為真的情況就會被執行」完全吻合。選項 2 描述的是 alt(Alternative)片段中單一分支的語意;選項 3 對應 ref(Reference)運算子;選項 4 對應 par(Parallel)運算子。

第57題

關於圖( G r a p h ) 的漢米頓迴路( H a m i l t o n i a n C y c l e ),請問下列何者是錯誤的? 1. 必須經過每一個邊正好一次 2. 若不是連結圖( C o n n e c t e d G r a p h ) ,則不具有漢米頓迴路 3. 判斷一個 圖是否具有漢米頓迴路是N P - C o m p l e t e 4. 除了起點以外,必須經過每一個節點正好一次。

答案:(1) 必須經過每一個邊正好一次

解析:漢米頓迴路定義為圖中經過每一個頂點剛好一次並回到起點的迴路。選項 1 說「必須經過每一個邊正好一次」,這其實是歐拉迴路的定義,與漢米頓迴路無關,故為錯誤敘述。選項 2 正確:非連結圖無法構成迴路。選項 3 正確:判定漢米頓迴路是經典 NP-Complete 問題。選項 4 正確描述漢米頓迴路必經每個節點一次(起點重複兩次)。

第58題

在U M L 類別圖( C l a s s D i a g r a m ) 中,在建築物( B u i l d i n g ) 與房間( R o o m ) 的關聯線上,靠 近建築物有個實心的小菱形這是代表下列何者? 1. 實體化( M a t e r i a l i z a t i o n ) 2. 聚合( A g g r e g a t i o n ) 3. 一般化( G e n e r a l i z a t i o n ) 4. 組合( C o m p o s i t i o n ) 。

答案:(4) 組合( C o m p o s i t i o n )

解析:UML 類別圖中,關聯線靠近整體端出現實心菱形代表「組合」。組合表達強「整體-部分」關係:部分的生命週期依賴整體,整體銷毀時部分也會一同銷毀。建築物包含房間即為典型組合關係。空心菱形才代表聚合(弱關聯,生命週期獨立);實線空心三角箭頭代表一般化;實體化則是介面與實作類別間的關係。

第59題

有一仿C + + 物件導向語言F u n c t i o n 為p r o t e c t e d : d o u b l e m e t h o d X ( i n t x ) { . . . } ; 它可以 被以下那一個覆寫( O v e r r i d e ) ? 1. p r o t e c t e d : i n t m e t h o d X ( d o u b l e x ) { . . . } ; 2. p r i v a t e : d o u b l e m e t h o d X ( i n t x ) { . . . } ; 3. p u b l i c : d o u b l e m e t h o d X ( i n t x ) { . . . } ; 4. p u b l i c : d o u b l e m e t h o d X ( d o u b l e x ) { . . . } ; 。

答案:(3) p u b l i c : d o u b l e m e t h o d X ( i n t x ) { . . . } ;

解析:C++ 覆寫規則:1. 函式簽名(名稱、參數型別、const 屬性)必須完全相同。2. 回傳型別必須相同或為共變型別(covariant return type)。3. 存取層級不可比基底版本更嚴格(protected 可被 public 或 protected 覆寫,不可被 private 覆寫)。題目基底為 protected double methodX(int)。選項 3 public double methodX(int) 符合所有規則。選項 1 參數型別不同(構成多載而非覆寫);選項 2 存取層級降為 private 違規;選項 4 參數型別不同。

第60題

對物品之形狀、花紋、色彩或其結合,透過視覺訴求之創作,屬於下列何者? 1. 創新專利 2. 開發專利 3. 新型專利 4. 新式樣專利。

答案:(4) 新式樣專利

解析:依《專利法》第 2 條第 1 款,新式樣專利保護對象為「物品之形狀、花紋、色彩或其結合,透過視覺訴求之創作」。題目文字與法條完全一致。發明專利保護技術思想創作;新型專利保護物品形狀、構造或裝置之技術創作;無「開發專利」此法定名稱。

第61題

有關H T T P S 的敘述,下列那些正確? 1. H T T P S 預設的通訊埠為80 2. H T T P S 是屬於傳輸層( T r a n s p o r t L a y e r ) 的協定 3. H T T P S 是H T T P 與S S L / T L S 的結合 4. H T T P S 連線所使用的公鑰是以明文傳輸。

答案:(3) H T T P S 是H T T P 與S S L / T L S 的結合、(4) H T T P S 連線所使用的公鑰是以明文傳輸

解析:HTTPS = HTTP + SSL/TLS(選項 3 正確)。SSL/TLS 運作於傳輸層之上、應用層之下,HTTPS 本身屬應用層協定,非傳輸層(選項 2 錯誤)。HTTPS 預設通訊埠為 443,而非 80(選項 1 錯誤)。TLS 手協期間,伺服器會以明文傳送憑證(內含公鑰)給客戶端驗證,故公鑰確以明文傳輸(選項 4 正確)。

第62題

下列那些是P H P 中用以定義類別且會被繼承的關鍵字? 1. f i n a l 2. d e f i n e 3. p a r e n t 4. i n t e r f a c e 。

答案:(2) d e f i n e、(3) p a r e n t、(4) i n t e r f a c e

第63題

下列C + + 語言程式片段執行後,那些值包含在s 的輸出中? 1. 2 2. 3 3. 1 4. 4 。

答案:(1) 2、(3) 1、(4) 4

第64題

在軟體開發中,下列那些為U M L 使用案例之間的關係? 1. 擴展( E x t e n d ) 2. 繼承( I n h e r i t ) 3. 組合( A g g r e g a t e ) 4. 包含( I n c l u d e ) 。

答案:(1) 擴展( E x t e n d )、(2) 繼承( I n h e r i t )、(4) 包含( I n c l u d e )

第65題

下列內容哪些屬於執行副程式時活動紀錄中之元素? 1. 全域變數( G l o b a l V a r i a b l e ) 2. 實際參數( A c t u a l P a r a m e t e r ) 3. 返回點( R e t u r n P o i n t ) 4. 區域資料( L o c a l D a t a ) 。

答案:(2) 實際參數( A c t u a l P a r a m e t e r )、(3) 返回點( R e t u r n P o i n t )、(4) 區域資料( L o c a l D a t a )

解析:副程式執行時的活動紀錄存放於呼叫堆疊的框架中,主要元素包含:返回點、實際參數、區域資料(區域變數)、暫存器儲存區等。全域變數存放於資料段,不屬於特定副程式的活動紀錄。

第66題

有關於服務導向架構( S O A ) 的概念,下列那些敘述是正確的? 1. 服務提供者( S e r v i c e P r o v i d e r ) 實作服務,並將服務資訊發行( P u b l i s h ) 到服務中介者( S e r v i c e B r o k e r ) 的R e g i s t r y 2. W e b 服務協定的S O A P 和W S D L 等標準都是以X M L 為基礎 3. 不同W e b 服務的整合具有嚴謹的架構,所有服務使用的程式語言和作業系統平台必須都相同 4. 服務請求者( S e r v i c e R e q u e s t o r ) 搜尋服務中介者的R e g i s t r y 後,可以連結B i n d 到服務提供者以獲取所需的服務。

答案:(1) 服務提供者( S e r v i c e P r o v i d e r ) 實作服務,並將服務資訊發行( P u b l i s h ) 到服務中介者( S e r v i c e B r o k e r ) 的R e g i s t r y、(2) W e b 服務協定的S O A P 和W S D L 等標準都是以X M L 為基礎、(4) 服務請求者( S e r v i c e R e q u e s t o r ) 搜尋服務中介者的R e g i s t r y 後,可以連結B i n d 到服務提供者以獲取所需的服務

解析:SOA核心角色為服務提供者、服務請求者、服務中介者。提供者發布服務至Registry,請求者查詢並綁定服務,此為正確流程。SOAP與WSDL確為XML基礎標準。SOA特色在於跨平台、跨語言互通,選項3要求語言與平台相同錯誤。

第67題

下列有關C + + 的v e c t o r 與l i s t 樣版類別敘述那些是正確的? 1. v e c t o r 僅提供循序存取功能 2. v e c t o r 具l i s t 與s t a c k 的功能 3. v e c t o r 不具雙向串列( D o u b l y L i n k e d L i s t ) 功能 4. v e c t o r 可提供隨機存取功能。

答案:(2) v e c t o r 具l i s t 與s t a c k 的功能、(4) v e c t o r 可提供隨機存取功能

第68題

下列那些為專利法中所指的專利申請權人? 1. 專利案代理人 2. 設計人 3. 發明人 4. 新型創作人之受讓人。

答案:(2) 設計人、(3) 發明人、(4) 新型創作人之受讓人

第69題

在作業系統中,當發生猛移現象( T h r a s h i n g ) 時,會產生那些情形? 1. 磁碟空間不足 2. 磁碟I / O 次數太多 3. 網路使用率太低 4. C P U 使用率太低。

答案:(2) 磁碟I / O 次數太多、(4) C P U 使用率太低

解析:猛移發生於頁面錯誤頻率極高,系統花費大量時間處理頁面調度(磁碟I/O劇增),導致CPU實際執行程式時間大幅降低(CPU使用率太低)。選項1磁碟空間不足非直接原因;選項3網路使用率無直接關聯。

第70題

「若p 則q 」 ( p q ) ,與下列那些意義相同? 1. p O R ( N O T q ) 2. ( N O T p ) O R q 3. N O T q N O T p 4. N O T p N O T q 。

答案:(2) ( N O T p ) O R q、(3) N O T q N O T p

解析:邏輯推論中 p→q 等價於 ¬p ∨ q(選項2),亦等價於其逆否命題 ¬q → ¬p(選項3)。選項1 p ∨ ¬q 為 q→p;選項4 ¬p ∨ ¬q 非等價形式。

第71題

下列那些項目屬正確防範電子郵件社交工程的方法? 1. 避免開啟郵件內的超連結 2. 避免開啟可疑的附件檔案 3. 開啟預覽窗格 4. 離線閱讀。

答案:(1) 避免開啟郵件內的超連結、(2) 避免開啟可疑的附件檔案

解析:防範社交工程郵件:1.避免點擊郵件超連結(防釣魚網站);2.避免開啟可疑附件(防惡意程式)。選項1,2正確。選項3開啟預覽窗格會自動載入圖片/腳本增加風險;選項4離線閱讀無法即時驗證寄件者與連結安全性,非標準防範建議。

第72題

假設輸入資料有n 個,在最糟情形下,下列那些排序法的時間複雜度不是θ ( n l o g n ) ?此 處n 為資料個數 1. S e l e c t i o n S o r t 2. S h e l l S o r t 3. R a d i x S o r t 4. I n s e r t i o n S o r t 。

答案:(1) S e l e c t i o n S o r t、(2) S h e l l S o r t、(3) R a d i x S o r t、(4) I n s e r t i o n S o r t

解析:排序法在最糟情形下的時間複雜度需個別判斷。比較式排序中 Merge Sort、Heap Sort 最糟為 θ(n log n),但本題四者皆非:Selection Sort 不論輸入皆需約 n(n-1)/2 次比較,最糟為 θ(n²);Insertion Sort 在反序時每筆往回搬移,最糟亦為 θ(n²);Shell Sort 依間隔序列而定,常見序列最糟為 θ(n log² n) 或 θ(n^1.5),並非嚴格 θ(n log n);Radix Sort 屬非比較式,複雜度為 θ(d(n+k)),與 n log n 無關。故四者最糟情形均不屬 θ(n log n),全選。

第73題

有一C + + 類別B 定義如下,其成員函式x 無法被以下那些覆寫( O v e r r i d e ) ? 1. p u b l i c : d o u b l e x ( d o u b l e x ) ; 2. p u b l i c : d o u b l e x ( i n t x ) ; 3. p r o t e c t e d : i n t x ( d o u b l e x ) ; 4. p r i v a t e : d o u b l e x ( i n t x ) ; 。

答案:(1) p u b l i c : d o u b l e x ( d o u b l e x ) ;、(2) p u b l i c : d o u b l e x ( i n t x ) ;、(3) p r o t e c t e d : i n t x ( d o u b l e x ) ;

第74題

有關於資料庫中候選鍵( C a n d i d a t e K e y ) 的敘述,下列那些是正確的? 1. 一個候選鍵有可能為兩個屬性的集合 2. 任一個候選鍵都是表格中滿足唯一性的最小屬性子集 3. 一個表格有可能有兩個候選鍵 4. 表格中任兩筆資料( T u p l e ) 的候選鍵值可能相同,但主要鍵( P r i m a r y K e y ) 值必定不相同。

答案:(1) 一個候選鍵有可能為兩個屬性的集合、(2) 任一個候選鍵都是表格中滿足唯一性的最小屬性子集、(3) 一個表格有可能有兩個候選鍵

解析:候選鍵定義為能唯一識別元組的最小屬性集合,可為複合鍵(多屬性),故 1、2 正確;一張表可有多個候選鍵,故 3 正確。選項 4 錯誤:候選鍵值在任兩筆資料間必不相同,主要鍵僅是從候選鍵中挑選的一個,兩者唯一性相同。

第75題

物件導向語言私有實體( P r i v a t e I n s t a n c e ) 變數的描述,以下哪些正確? 1. 外面的類別可以使用該類別名稱,加上一點和私有實體變數名稱修改 2. 外面的類別可以使用該類別產生的物件物件名稱,加上一點和私有實體變數名稱修改 3. 不能被外面的類別直接修改 4. 外面的類別可以透過該類別的公開方法修改。

答案:(3) 不能被外面的類別直接修改、(4) 外面的類別可以透過該類別的公開方法修改

解析:私有實體變數(private member)僅能在類別內部直接存取;外部類別無法透過類別名稱或物件名稱加點運算子直接修改(1、2 錯誤)。必須透過該類別提供的 public 介面(setter/公開方法)間接修改,故 3、4 正確。

第76題

以相鄰矩陣( A d j a c e n c y M a t r i x ) 儲存一個有向( D i r e c t e d ) 權重圖( W e i g h t e d G r a p h ) ,下列 敘述那些是正確的?(符號∞代表距離無限大) 1. 節點3 至節點1 沒有路徑 2. 節點3 至節點4 的最短的路徑之長度為3 3. 節點3 至節點5 的最短的路徑之長度為9 4. 節點3 至節點2 的最短的路徑之長度為3 。

答案:(1) 節點3 至節點1 沒有路徑、(2) 節點3 至節點4 的最短的路徑之長度為3

第77題

有關乙太網路( E t h e r n e t ) 的傳輸距離,下列那些正確? 1. 10 B a s e - T > 10 B a s e - 2 2. 10 B a s e - 5 > 10 B a s e - 2 3. 10 B a s e - 5 > 10 B a s e - T 4. 10 B a s e - 2 > 10 B a s e - T 。

答案:(2) 10 B a s e - 5 > 10 B a s e - 2、(3) 10 B a s e - 5 > 10 B a s e - T、(4) 10 B a s e - 2 > 10 B a s e - T

解析:乙太網路命名規則為「速率 + 訊號方式 + 最大段長(以百公尺計)」。10Base-5 使用粗同軸電纜,單段最大距離 500 公尺;10Base-2 使用細同軸電纜,單段最大 185 公尺;10Base-T 使用雙絞線(Cat 3/5),單段最大 100 公尺。比較大小:10Base-5(500m)大於 10Base-2(185m)大於 10Base-T(100m)。故選項1 稱 10Base-T 大於 10Base-2(即 100 大於 185)錯誤;選項2(500 大於 185)、選項3(500 大於 100)、選項4(185 大於 100)皆正確。正確為 2、3、4。

第78題

使用S Q L 查詢,若要以部門為計算單位,計算出每個部門的員工人數時,必須用到下列 那些關鍵字? 1. G R O U P B Y 2. C O U N T 3. H A V I N G 4. S U M 。

答案:(1) G R O U P B Y、(2) C O U N T

解析:依部門統計員工數需使用 GROUP BY 子句分群,再搭配聚合函式 COUNT(*) 計算各群筆數。HAVING 用於過濾群組條件,非必要;SUM 用於加總數值,非計算筆數。故關鍵字為 GROUP BY、COUNT。

第79題

依序讀入1 , 2 , 3 , 4 , 5 , 6 ,並建造一棵A V L 樹,下列那些正確? 1. 6 為5 的父節點 2. 2 與5 在同一階層 3. 2 為1 的父節點 4. 4 為2 的父節點。

答案:(2) 2 與5 在同一階層、(3) 2 為1 的父節點、(4) 4 為2 的父節點

第80題

有關於W e b 資料庫系統所應用的三層式架構( T h r e e - T i e r A r c h i t e c t u r e ) ,以下的敘述那 些為正確? 1. 中間層的伺服器經常被稱為應用程式伺服器( A p p l i c a t i o n S e r v e r ) 2. 三層式架構是在用戶端和資料庫伺服器端的中間增加一個中間層( M i d d l e - T i e r ) 3. 中間層的伺服器經常用來處理企業邏輯( B u s i n e s s L o g i c ) 4. 在三層式架構中,用戶( C l i e n t ) 端需要針對每個不同的應用程式安裝相對應的用戶端程式。

答案:(1) 中間層的伺服器經常被稱為應用程式伺服器( A p p l i c a t i o n S e r v e r )、(2) 三層式架構是在用戶端和資料庫伺服器端的中間增加一個中間層( M i d d l e - T i e r )、(3) 中間層的伺服器經常用來處理企業邏輯( B u s i n e s s L o g i c )

解析:三層式架構將系統分為展示層、應用層與資料層,並在用戶端與資料庫伺服器之間加入中間層,因此第2項正確。中間層通常由應用程式伺服器擔任,集中處理企業邏輯、交易與權限控管,所以第1、3項正確。相對地,三層式架構的用戶端多為精簡型客戶端,常以瀏覽器或通用介面存取服務,不需為每個應用程式分別安裝專屬用戶端程式,故第4項錯誤。