對於正規化的步驟中,那一種N o r m a l F o r m ( N F ) 主要是在處理「消除所有的非鍵屬性之
間的功能相依性」的問題?
1. 2 N F
2. 4 N F
3. 3 N F
4. 1 N F 。
答案:(3) 3 N F
解析:正規化中,1NF要求屬性值為原子值;2NF在1NF基礎上消除「部分功能相依」(非鍵屬性對複合鍵的部分相依);3NF在2NF基礎上進一步消除「遞移相依」,也就是處理非鍵屬性之間以及其對鍵的間接相依。題目所述「消除所有的非鍵屬性之間的功能相依性」即為3NF的目標(更嚴格消除遞移相依由BCNF處理,但乙級以3NF為標準)。4NF處理多值相依,1NF僅處理原子值。故選3(3NF)。
在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. 類別圖( C l a s s D i a g r a m )
4. 使用案例圖( U s e C a s e D i a g r a m ) 。
答案:(1) 循序圖( S e q u e n c e D i a g r a m )
解析:UML中,循序圖(Sequence Diagram)以垂直生命線(Lifeline)與水平訊息箭頭,表達物件之間隨時間的「訊息傳遞」順序,屬描述系統動態行為的互動圖,故選1。狀態圖(State Diagram)描述單一物件因事件產生的狀態轉換;類別圖(Class Diagram)描述靜態的類別結構與關聯;使用案例圖(Use Case Diagram)描述系統功能與外部參與者之關係,均非以物件間訊息傳遞為主軸。
物件導向程式中,類別中提供內部使用的 F u n c t i o n / M e t h o d,最好是宣告成以下那一種類
別?
1. p u b l i c
2. p r i v a t e
3. s t a t i c
4. p r o t e c t e d 。
答案:(2) p r i v a t e
解析:物件導向設計中,僅供類別內部使用的成員(方法或屬性)應宣告為 private,以落實「封裝(Encapsulation)」原則,隱藏內部實作細節、避免外部直接存取造成耦合。public會對外完全公開;protected允許子類別與同套件存取;static表示屬於類別而非物件實體,與存取範圍無直接關係。題目強調「內部使用」,故選 private(選項2)。
有關J a v a 敘述,下述何者錯誤?
1. 變數和陣列的儲存特性是暫時性的儲存,該應用程式結束就會消失
2. 資料放在檔案中稱為短暫瞬間資料
3. 當超出區域變數範圍時,區域變數資料將無法使用
4. 檔案可以長期維持大量資料。
答案:(2) 資料放在檔案中稱為短暫瞬間資料
解析:選項2錯誤。檔案(File)中的資料屬「持久性(Persistent)資料」,可長期保存於儲存裝置,不會隨程式結束而消失,故不能稱為「短暫瞬間資料」;短暫資料指變數、陣列等存在於記憶體的暫存資料。選項1正確:變數與陣列存於記憶體,程式結束即釋放。選項3正確:區域變數僅在其宣告區塊的作用域內有效,超出便無法使用。選項4正確:檔案適合長期、大量保存資料。
第5題
針對以下J a v a 程式片段,執行後s u m 值為何?
1. 15
2. 66
3. 55
4. 10 。
答案:(1) 15
第6題
有一整數序列26 , 59 , 77 , 31 , 51 , 11 , 19 , 42 以M e r g e S o r t 由小而大排序,第一階段( P
a s s ) 的合併結果,下列何者是正確的?
1. 11 , 19 , 26 , 31 , 42 , 59 , 51 , 77
2. 31 , 51 , 11 , 42 , 26 , 77 , 59 , 19
3. 26 , 11 , 19 , 31 , 51 , 59 , 77 , 42
4. 26 , 59 , 31 , 77 , 11 , 51 , 19 , 42 。
答案:(4) 26 , 59 , 31 , 77 , 11 , 51 , 19 , 42
解析:合併排序(Merge Sort)採分割再合併的策略,第一階段(Pass)是把相鄰的兩個元素兩兩合併成已排序的小串列:(26,59) 合併後為 26,59;(77,31) 合併後為 31,77;(51,11) 合併後為 11,51;(19,42) 合併後為 19,42。依原位置串接即得 26,59,31,77,11,51,19,42。選項 1 的序列已完全由小到大排序,那是後續多階段合併完成後的結果,不是第一階段;其餘選項的兩兩合併結果與上述不符。
下列何者為J a v a 語言停止程式執行的指令?
1. S y s t e m . e x i t ( 0 ) ;
2. S y s t e m . a b o r t ( 0 ) ;
3. S y s t e m . e n d ( 0 ) ;
4. S y s t e m . q u i t ( 0 ) ; 。
答案:(1) S y s t e m . e x i t ( 0 ) ;
解析:Java中終止程式的標準指令為 System.exit(int status),傳入0表示正常結束(非0通常表示異常終止),故選項1正確。Java標準函式庫中並無 System.abort()、System.end()、System.quit() 這些方法,選項2、3、4均為不存在的呼叫,編譯或執行時會發生錯誤。exit屬System類別的靜態方法,呼叫後會立即結束目前執行的Java虛擬機(JVM)。
專利專責機關接到發明專利申請文件後,經審查認為無不合規定程式,且無應不予公開之
情事者,自申請日起幾個月後,應將該申請案公開?
1. 二十四個月
2. 三十六個月
3. 十八個月
4. 十二個月。
答案:(3) 十八個月
解析:依我國《專利法》第42條規定,專利專責機關(經濟部智慧財產局)接到發明專利申請文件後,經審查認無不合程式且無應不予公開情事者,自申請日起「18個月」後,應將該申請案公開之(早期公開制度)。故選項3(十八個月)正確。此制度使申請內容及早揭露,平衡申請人權益與公眾知情;該時點與新型、設計專利之公開規定不同。
由國際標準組織( I S O ) 所訂O S I 通訊協定中,那一層具有安排資料傳輸路徑 ( R o u t i n g ) 的
功能?
1. 實體層
2. 交談層
3. 網路層
4. 資料連結層。
答案:(3) 網路層
解析:OSI 七層中,網路層(Network Layer)負責邏輯位址(IP)與路由選擇(Routing),決定封包從來源到目的要經過哪些路徑,並處理分段與擁塞控制。實體層只處理位元(bit)的電氣與機械訊號傳輸;資料連結層負責同一段鏈路上的訊框(Frame)、MAC 位址與錯誤偵測,不跨越網段選路;交談層管理連線的建立、維持與結束。因此安排資料傳輸路徑屬於網路層的工作。
在實體關係模式( 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. 最大值可為無限大
2. 最小值一定為0
3. 最大值可為任何實數( R e a l N u m b e r )
4. 最小值可為負數。
答案:(1) 最大值可為無限大
解析:實體關係模式以基數率描述兩實體間參與關聯的最大數量,常見型態為 1:1、1:N、M:N,其中「N」、「M」代表多的一方,數量上限並無限制,可視為無限大。最小值對應參與限制(Participation Constraint),可為 0(部分參與)或 1(全部參與),故不一定為 0。基數代表個體發生次數,必須是正整數,不能是任意實數,更不可能為負數。
對物品之形狀、花紋、色彩或其結合,透過視覺訴求之創作,屬於下列何者?
1. 新式樣專利
2. 新型專利
3. 創新專利
4. 開發專利。
答案:(1) 新式樣專利
解析:依專利法規定,新式樣(現行法稱「設計」)專利保護的是對物品之形狀、花紋、色彩或其結合,透過視覺訴求所產生的創作,著重外觀美感。新型專利保護的是物品之形狀、構造或裝置上的技術創作,強調功能與結構;發明專利則保護技術思想與方法。專利法中並無「創新專利」或「開發專利」此類別,故本題應選新式樣專利。
下列何者是採用半雙工的傳輸模式?
1. 擴音器
2. 收音機
3. 電話
4. 警用對講機。
答案:(4) 警用對講機
解析:半雙工(Half Duplex)指雙方都能傳送與接收,但同一時間只能有一個方向傳輸,需輪流使用通道。警用對講機即典型例子,講話時按住發射鍵,放開才能接收。電話可同時雙向通話,屬於全雙工;收音機只接收廣播訊號,屬於單工;擴音器僅單向輸出聲音,也是單工。因此採半雙工模式者為警用對講機。
將數值資料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. 1 、3、2、5、4
2. 5、4、3、2、1
3. 3 、5 、2 、4 、1
4. 4 、2、1 、3 、5 。
答案:(1) 1 、3、2、5、4
解析:依序插入 5、4、3 時,5 的左左側過深,對 5 做一次右旋,得根 4(左 3、右 5)。插入 2 後樹為 4(3(2),5),仍平衡。插入 1 後路徑為 4→3→2→1,節點 3 的左子樹高度 2、右子樹 0,平衡因子為 2,屬 LL 型,對 3 右旋,子樹變成 2(1,3),整棵樹為 4(2(1,3),5)。後序追蹤依「左、右、根」:1、3、2、5、4。
下列何者不是J a v a 語言整數資料型態?
1. s h o r t
2. i n t
3. d o u b l e
4. b y t e 。
答案:(3) d o u b l e
解析:Java 的整數資料型態有 byte(8 位元)、short(16 位元)、int(32 位元)與 long(64 位元),皆為帶號整數。double 屬於浮點數(Floating Point)型態,採 IEEE 754 雙精度格式,用來表示含小數的實數值,並非整數型態;另有 float 為單精度浮點數。因此 double 不是整數資料型態。
關於圖( G r a p h ) 的漢米頓迴路( H a m i l t o n i a n C y c l e ),請問下列何者是錯誤的?
1. 除了起點以外,必須經過每一個節點正好一次
2. 判斷一個圖是否具有漢米頓迴路是N P - C o m p l e t e
3. 若不是連結圖( C o n n e c t e d G r a p h ),則不具有漢米頓迴路
4. 必須經過每一個邊正好一次。
答案:(4) 必須經過每一個邊正好一次
解析:漢米頓迴路(Hamiltonian Cycle)要求從起點出發,經過圖中每一個「節點」恰好一次後回到起點,故選項 1 的描述正確;判斷是否存在漢米頓迴路屬於 NP-Complete 問題,選項 2 正確;圖若不連通,就不可能走訪全部節點再回到起點,選項 3 正確。選項 4 所稱「每個邊恰好一次」是尤拉迴路(Euler Circuit)的定義,並非漢米頓迴路,故為錯誤敘述。
第16題
下圖若以A 為起始點,並以深度優先搜尋( D e p t h F i r s t S e a r c h ) 時,下列順序何者不可能
產生?
1. A B D E C
2. A E C D B
3. A C D E B
4. A B D C E 。
答案:(4) A B D C E
對堆疊( S t a c k ) 的敘述,下列何者為錯誤?
1. 其具有後進後出的特性
2. 所有的加入( I n s e r t i o n ) 和刪除( D e l e t i o n ) 動作均在頂端( T o p ) 進行
3. 是一個有序串列( O r d e r e d L i s t )
4. 通常使用 P u s h 及P o p 進行資料處理。
答案:(1) 其具有後進後出的特性
解析:堆疊(Stack)是一種後進先出(LIFO,Last In First Out)的線性結構,資料由頂端(Top)插入與刪除,插入稱 Push、刪除稱 Pop,因此選項 2、4 正確。堆疊元素間有先後次序,屬有序串列,選項 3 亦正確。選項 1 稱「後進後出」意味最後進入者最後離開,等於先進先出(FIFO),那是佇列(Queue)的特性,故為錯誤敘述。
在S Q L 語法中,若查詢參考了兩個或多個同名的屬性,我們必須用關聯表名稱來修飾屬
性名稱,做法是將關聯表名稱置於屬性名稱之前,並用那個符號加以區隔?
1. .
2. ,
3. ~
4. _ 。
答案:(1) .
解析:在 SQL 中,當查詢同時參考兩個以上具有同名屬性的關聯表時,必須以「關聯表名稱.屬性名稱」的形式限定欄位,中間用句點(.)隔開,例如 學生.姓名、選課.姓名,這樣 DBMS 才能判斷指的是哪一張表的欄位。逗號(,)在 SELECT 中用來分隔多個欄位;底線(_)只是識別字命名可用的字元;波浪符(~)並非 SQL 的語法符號。因此正確符號為句點。
下列敘述何者為不正確?
1. E t h e r n e t 使用的通訊協定是T C P / I P
2. S M T P 是一種網際網路上傳輸電子郵件的通訊協定
3. 在區域網路中,T o k e n - R i n g 使用的通訊協定是802 . 5
4. 在區域網路中,T o k e n - B u s 使用的通訊協定是802 . 4 。
答案:(1) E t h e r n e t 使用的通訊協定是T C P / I P
解析:乙太網路(Ethernet)本身是區域網路的連結層技術,對應 IEEE 802.3,並非使用 TCP/IP;TCP/IP 是網路層與傳輸層的通訊協定組合,可承載於乙太網路上,但不能說乙太網路的通訊協定就是 TCP/IP。SMTP 確實是網際網路上傳送電子郵件的協定;Token-Ring 對應 IEEE 802.5、Token-Bus 對應 IEEE 802.4 也都正確。故不正確者為第 1 項。
假設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. 12000
2. 16000
3. 16200
4. 12200 。
答案:(4) 12200
解析:TCP 採用累計確認機制,確認值代表接收端「下一個期望收到的位元組序號」,等於已成功收到的資料序號加上資料長度。A 送出的序號為 12000、資料量 200 位元組,代表涵蓋 12000~12199,因此 B 回覆時確認值應為 12000+200=12200。封包中的 16000 是 A 對 B 的反向確認,與本次回覆無關;12000 是原序號;16200 則多加了兩次資料量。
下列何者是系統開發中,雛型法( P r o t o t y p i n g ) 模型所強調的特點?
1. 可維護性
2. 品質
3. 快速設計
4. 演算法效率。
答案:(3) 快速設計
解析:雛型法強調「快速設計」,先以最短時間建構出可操作、可展示的系統雛型,讓使用者及早看到介面與功能並提出修正,藉由反覆迭代釐清需求,降低因需求誤解而重做的風險。可維護性、品質屬於系統完成後的長期屬性,並非雛型法的主要訴求;演算法效率是程式設計與效能層面的議題,與雛型法強調的快速溝通與需求確認沒有直接關係。
關於I P v 4 ( I n t e r n e t P r o t o c o l 第四版) 通訊協定,下列敘述那一項錯誤?
1. I P 是一種路由協定( R o u t i n g P r o t o c o l )
2. I P 為網路層( N e t w o r k L a y e r ) 的通訊協定
3. I P 位址( I P A d d r e s s ) 佔4 個位元組
4. I P 的標頭有存放來源端的I P 位址。
答案:(1) I P 是一種路由協定( R o u t i n g P r o t o c o l )
解析:IP 是網路層負責定址與封包轉送的協定,本身並不交換路由資訊,因此不是路由協定;RIP、OSPF、BGP 這類協定才負責讓路由器彼此交換路徑資訊。IPv4 位址長度為 32 位元,即 4 個位元組;IPv4 標頭中確實包含來源 IP 位址與目的 IP 位址欄位。故錯誤者為第 1 項。
針對數列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. 12
2. 24
3. 4
4. 0 。
答案:(4) 0
解析:雙向佇列的兩端都可進行插入與刪除。以 1、2、3、4 依序進入為例,可把較大的元素推到前端、較小的元素推到後端,再視需要從前端或後端取出,即可排出全部 4!=24 種排列。例如要得到 4,2,3,1:先把 1、2 放後端,再把 3、4 放前端,取出 4 後由後端取出 2,再由前端取出 3、最後取出 1。既然 24 種排列都能得到,無法得到的排列數就是 0。
資料庫交易(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. 持續性( D u r a b l e )
3. 簡易性( S i m p l i c i t y )
4. 一致性 ( C o n s i s t e n t ) 。
答案:(2) 持續性( D u r a b l e )
解析:交易的四個重要特性常以 ACID 表示:原子性(Atomicity)指交易內的操作全做或全不做;一致性(Consistency)指交易前後資料庫都處於合法狀態;隔離性(Isolation)指並行交易之間互不干擾;持續性(Durability)指交易一旦承諾(Commit),其變更就會永久保存,即使隨後發生當機或停電也不會遺失。題目所述「已承諾的改變永遠保留」正是持續性。
有關演算法與程式的比較,下列何者正確?
1. 演算法和程式都不一定要具有限性,可以有無窮迴路
2. 演算法和程式都可存在無窮迴路
3. 程式必須具有限性,但演算法則不一定
4. 演算法必須具有限性,但程式則不一定。
答案:(4) 演算法必須具有限性,但程式則不一定
解析:演算法是解決問題的有限步驟描述,必須具備有限性,也就是經過有限個步驟後一定會結束,不能是無窮迴圈;程式則是演算法的實作,語言語法並不強制要求程式一定會終止,例如作業系統服務或互動式程式常以無窮迴圈持續執行。因此「演算法必須具有限性,但程式則不一定」正確。其餘選項不是把兩者的有限性說反,就是主張演算法可以無窮執行。
若 t 表示二元樹之樹根,下列程式之意涵,何者是正確的?
1. 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中較多節點之個數
2. 傳回二元樹之節點個數
3. 比較二元樹樹根之左右兩子樹,然後傳回兩子樹中高度較高之數值
4. 傳回二元樹之高度。
答案:(4) 傳回二元樹之高度
解析:此遞迴函式通常以樹根 t 為參數,當 t 為 null 時傳回 0,否則傳回 1 + max(處理左子樹, 處理右子樹)。對左右子樹各別遞迴求得高度後取較大值再加 1(代表樹根本層),整體結果即為整棵二元樹的高度,對應選項 4。若函式僅取 max 而不加 1,才會只得到較高子樹的高度(選項 3)。選項 1 誤將比較對象當作節點個數;選項 2 的節點總數應為左右子樹節點數相加再加 1,而非取 max。二元樹高度遞迴定義:空樹高度 0,非空樹高度 = 1 + max(左子樹高度, 右子樹高度)。
在U N I X 作業系統中,下列那類使用者與檔案使用權限無關?
1. G r o u p
2. U n i v e r s e
3. S e t
4. O w n e r 。
答案:(3) S e t
解析:UNIX 檔案權限的適用對象分為三類:擁有者(Owner,簡稱 u)、群組(Group,簡稱 g)與其他使用者(Others,亦稱 world 或 universe,簡稱 o),chmod 指令即使用 u、g、o、a 指定對象。Set 並非權限歸屬的使用者類別,它通常指 setuid、setgid、sticky 等特殊權限位元,與「誰擁有權限」無關,故選項 3 正確。選項 1、4 為標準權限類別;選項 2 的 universe 在舊版文獻中即指 others,仍與權限相關。
在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. 粗略操作( R o u g h O p e r a t i o n )
2. 未定操作( U n r e s o l v e d O p e r a t i o n )
3. 不完全操作( I n c o m p l e t e O p e r a t i o n )
4. 抽象操作( A b s t r a c t O p e r a t i o n ) 。
答案:(4) 抽象操作( A b s t r a c t O p e r a t i o n )
解析:在 UML 類別圖中,若某個操作(Operation)只定義規格(signature:方法名稱、參數、傳回值),而沒有實作方法(方法本體),稱為「抽象操作」(Abstract Operation),通常出現於抽象類別或介面中,且以斜體字表示。繼承的子類別必須覆寫(override)並提供具體實作。選項 1、2、3 均非 UML 標準術語。抽象操作搭配抽象類別,是物件導向多型與介面設計的基礎觀念,故選項 4 正確。
有一分支度( o r d e r ) 為256 之B - t r e e ,將10 萬筆記錄存入此B - t r e e 中,其高度之最小值
為下列何者?
1. 4
2. 2
3. 5
4. 3 。
答案:(4) 3
解析:B-tree 的分支度(order)m=256,代表每個節點最多 256 個子節點、255 個鍵值。要使高度最小,就讓每層節點都存滿:根節點 255 筆;第二層 256 個節點,共 256×255=65280 筆,兩層合計 65535 筆,仍小於 100000 筆;第三層可再容納 256×256×255 筆,遠超過需求。因此至少需要 3 層,高度最小值為 3。
下列那種系統轉換方式的優點是可以比較新舊系統的輸出統計,以確認新系統的結果是否
正確,並且是非常穩健的方法?
1. 階段性轉換( P h a s e d C o n v e r s i o n )
2. 直接轉換 ( D i r e c t C o n v e r s i o n )
3. 實驗轉換 ( P i l o t C o n v e r s i o n )
4. 平行轉換 ( P a r a l l e l C o n v e r s i o n ) 。
答案:(4) 平行轉換 ( P a r a l l e l C o n v e r s i o n )
解析:平行轉換(Parallel Conversion)是新系統與舊系統同時上線、並行運作一段時間,將兩者產出相互比對,確認新系統的處理結果正確後再汰換舊系統。其優點正是可對照新舊系統輸出、風險最低且最穩健(robust),缺點是硬體與人力成本翻倍。階段性轉換按模組分批上線;直接轉換一次切換風險高;實驗轉換僅先在小範圍試行。故選項 4 正確。
第31題
在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. 秒。
答案:(3) 秒
以下J a v a 程式執行完後,輸出結果為何?
1. 無法編譯,因為I n s t r u m e n t 類別的p l a y ( ) 方法沒有設定為a b s t r a c t
2. B r a s s P l a y
3. 無法編譯,因為I n s t r u m e n t 物件不是B r a s s 類別
4. 無法編譯,因為I n s t r u m e n t 類別設定為a b s t r a c t 。
答案:(1) 無法編譯,因為I n s t r u m e n t 類別的p l a y ( ) 方法沒有設定為a b s t r a c t
解析:在 Java 中,只要方法沒有實作本體(只寫 void play(); 而沒有大括號),就必須加上 abstract 修飾,而且該方法必須位於抽象類別內。題目中 Instrument 雖宣告為 abstract,但 play() 少了 abstract,編譯器會判定為「缺少方法主體」而無法編譯。抽象類別本身是完全合法的語法,只是不能直接以 new 建立物件;因此把錯誤歸因於「類別被設定為 abstract」並不正確,真正的原因在於方法修飾子不完整。
下列二維整數陣列宣告,何者正確?
1. i n t a [ ] [ ] = n e w i n t [ 3 ] [ 3 ] ;
2. i n t a [ 3 ] [ 3 ] = n e w i n t [ ] [ ] ;
3. i n t a [ ] [ ] = n e w i n t [ 3 , 3 ] ;
4. i n t a [ ] = n e w i n t [ 3 ] [ 3 ] ; 。
答案:(1) i n t a [ ] [ ] = n e w i n t [ 3 ] [ 3 ] ;
解析:Java 二維陣列本質是「陣列的陣列」,正確宣告為 int a[][] = new int[3][3];,左側可寫 int a[][] 或 int[][] a,右側用 new int[3][3] 建立 3×3 陣列,選項 1 正確。選項 2 左側 int a[3][3] 不能在宣告時指定維度,且 new int[][] 未給列數,錯誤。選項 3 的 new int[3,3] 語法錯誤,Java 須寫 [3][3]。選項 4 左側 int a[] 為一維卻指派二維 new int[3][3],型別不符。
第34題
河內塔( T o w e r o f H a n o i ) 問題中,欲搬動n 個套環,最少必須移動幾次?
1.
2. n ( n + 1 ) / 2
3.
4. n 。
答案
下列那一項不是作業系統的記憶體管理方式?
1. 置換法 ( S w a p p i n g )
2. 垃圾搜集法 ( G a r b a g e C o l l e c t i o n )
3. 需求分頁法 ( D e m a n d P a g i n g )
4. 分段法 ( S e g m e n t a t i o n ) 。
答案:(2) 垃圾搜集法 ( G a r b a g e C o l l e c t i o n )
解析:作業系統的記憶體管理機制包含置換法(Swapping,將整個行程在記憶體與磁碟間換入換出)、需求分頁法(Demand Paging,只在需要時才把分頁載入)與分段法(Segmentation,依程式邏輯區段配置),這些都由作業系統核心負責位址轉換與空間調度。垃圾搜集法(Garbage Collection)則是 Java、C# 等語言執行環境(如 JVM)自動找出並回收不再被引用之物件的機制,屬於執行環境層次,並非作業系統管理實體記憶體的方式,故選 2。
U N I X 檔案系統必須先安裝才可被系統中的行程取得,下列何者為此種安裝動作?
1. C o n n e c t
2. I n s t a l l
3. S e t u p
4. M o u n t 。
答案:(4) M o u n t
解析:UNIX/Linux 採單一樹狀目錄結構,任何檔案系統(含磁碟分割區、光碟、USB)都必須先「掛載」到某個既有目錄(掛載點,mount point),系統才會把該檔案系統的根目錄接上目錄樹,行程也才能用路徑存取其中的檔案。這個動作對應 mount 指令,卸載則為 umount。Connect、Install、Setup 都不是 UNIX 檔案系統的掛載術語,故選 4。
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. 程式設計。
答案:(1) 建立文件的模型
解析:DTD(Document Type Definition)用來宣告 XML 文件允許出現的元素、屬性、屬性型別、元素巢狀順序與出現次數(如 +、*、?),等於先建立一份文件結構的模型或文法,讓解析器據以驗證文件是否合法。它不負責文件格式轉換,也不做布林運算或程式設計,那些屬於 XSLT、邏輯運算與程式語言的範疇,故選 1。
下列為含有五個運算元之運算式,此運算式是以後序追蹤( 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. 12 * 34 * 5 * *
2. 123 * * 45 * *
3. 12 * 34 * * 5 *
4. 12 * 3 * 4 * 5 * 。
答案:(4) 12 * 3 * 4 * 5 *
解析:後序式建運算樹的法則:運算元依序入堆疊,遇到運算子就彈出兩個運算元建成子樹後再推回。以葉節點高度為 1 計算,前三式的運算子分別在不同深度結合,樹高均為 4;第四式 12*3*4*5* 每次都把前一棵子樹與新運算元結合,形成一路向左傾斜的鏈狀樹,高度依序累增為 5,為四者中最高,故選 4。
在磁碟機陣列中採R A I D 技術,其資料須經過H a m m i n g C o d e 編碼後儲存的,為下列那
一項?
1. R A I D 0 + 1
2. R A I D 1
3. R A I D 5
4. R A I D 2 。
答案:(4) R A I D 2
解析:RAID 2 採位元級(bit-level)資料分割,並使用 Hamming Code 計算錯誤更正碼,將檢查位元存放在專用的檢查碟上,可即時偵測並更正單一位元錯誤,代價是需多顆檢查碟且效率不高。RAID 1 為鏡射(Mirroring),RAID 5 採分散式同位元(Parity)並以 XOR 運算重建,RAID 0+1 則是條帶化後再鏡射,三者皆非以 Hamming Code 編碼儲存,故選 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 n s t r a i n t L a n g u a g e
3. 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
4. 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 。
答案:(2) 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(物件限制語言),是 OMG 制定、隨 UML 一起使用的形式化表示式語言,用來在類別圖等模型上撰寫不變量(invariant)、前置條件(pre)與後置條件(post)等限制,讓模型語意更精確且可被工具檢查。Open Constraint Language、Open/Communication Language 皆非正確全稱,故選 2。
將右列堆積( H e a p ) [ 15 , 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 1 , 2 , 6 ] 的最大元素刪除後,所形成的堆積何者正
確?
1. 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2
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 , 8 , 7 , 6 , 5 , 4 , 2 , 1 , 0 。
答案:(1) 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2
解析:最大堆積刪除最大值即刪除根節點 15,作法是將最後一個元素 6 移到根,再從根向下調整(heapify):根的兩子為 13、9,與較大的 13 交換,得 [13,6,9,5,12,8,7,4,0,1,2];此時索引 1 的子節點為 5 與 12,再與 12 交換,得 [13,12,9,5,6,8,7,4,0,1,2];6 的兩子 1、2 皆小於 6,調整結束,故選 1。
假設某程式變數X 的有效值應是在0 至10000 間,有關此程式變數X 測試案例,下列何
者不正確?
1. 應特別測試10000
2. 應在0 至10000 間,隨機選取測試值
3. 應特別測試0
4. 不需測試負數。
答案:(4) 不需測試負數
解析:變數 X 的有效範圍為 0 至 10000,依邊界值分析應特別測試兩個有效邊界 0 與 10000,並在範圍內取代表性或隨機的一般值驗證正常運作;此外還必須測試無效區間,例如 -1 與 10001,確認程式能正確拒絕或處理越界輸入。因此「不需測試負數」的說法錯誤,負數正是必測的無效邊界,故選 4。
在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. 只有一個條件為真的情況會被執行。
答案:(3) 只要條件為真的情況就會被執行
解析:opt 運算子代表「選擇性片段(optional)」,當其防護條件(guard condition)為真時,內部訊息才會被執行;若條件不成立,則整個片段可省略不執行。選項1「所有架構平行執行」對應的是 par 運算子;選項2「表示另外一個循序圖架構」對應 ref 運算子;選項4「只有一個條件為真的情況會被執行」對應 alt(選擇)運算子,alt 在多個分支中僅執行第一個成立的分支。因此正確為3。
下列何者為J a v a 語言的關鍵字?
1. i n t e r f a c e
2. D o u b l e
3. F l o a t
4. s t r i n g 。
答案:(1) i n t e r f a c e
解析:Java 的關鍵字(keyword)是由語言保留、具特定語意且不可作為識別字使用的字。interface 用來宣告介面,是 Java 的保留字,故選項1正確。選項2 Double、選項3 Float 首字母大寫,是 Java 的包裝類別(class)名稱,非關鍵字;選項4 string 全小寫,Java 中字串型態為 String(首字母大寫的類別),小寫 string 並非關鍵字。常見關鍵字尚有 class、public、static、void、int 等。
第45題
若一個J a v a 類別使用一個介面( I n t e r f a c e ) ,它必須使用以下那一個關鍵字?
1. e x t e n d s
2. i n h e r i t s
3. s u p e r
4. i m p l e m e n t s 。
答案:(4) i m p l e m e n t s
解析:在 Java 中,類別要實作(使用)介面,必須使用 implements 關鍵字,語法如 class A implements B { }。選項 1 extends 用於類別繼承類別,或介面繼承介面;選項 2 inherits 並非 Java 關鍵字;選項 3 super 用於在子類別中呼叫父類別的建構式或方法。故實作介面正確關鍵字為 implements,答案 4。
下列那一種程式語言支援物件導向中之多重類別繼承( 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. J a v a
2. S m a l l t a l k
3. C + +
4. P A S C A L 。
答案:(3) C + +
解析:多重繼承(multiple inheritance)指一個子類別可同時繼承多個父類別。C++ 支援以逗號列舉多個基礎類別(如 class D : public A, public B),故選項3正確。Java 僅支援單一類別繼承(單一 extends),但可透過 implements 實作多個介面;Smalltalk 採單一繼承;PASCAL 為結構化語言,不具物件導向多重繼承機制。因此本題答案為 C++。
第47題
以下J a v a 程式執行後,何者輸出正確?
1. B A
2. A A
3. A B
4. B B 。
答案:(3) A B
第48題
下列那兩種備份方法可達到最快速備份產生時間?
1. 部分備份( 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 )
2. 遞增備份與差異備份
3. 完整備份與遞增備份
4. 完整備份( 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 ) 。
答案:(3) 完整備份與遞增備份
對於物件導向語言建構子的敘述,以下何者正確?
1. 可以使用變數命名規則命名
2. 使用時一定要配合n e w 指令
3. 名稱要跟類別名稱一致
4. 一個類別只能有一個建構子。
答案:(3) 名稱要跟類別名稱一致
解析:建構子(constructor)的名稱必須與所屬類別(class)名稱完全一致,這是 Java 等物件導向語言的強制規定,故選項3正確。選項1錯誤,建構子不能用一般變數命名規則(如首字母小寫)命名;選項4錯誤,同一類別可透過多載(overloading)擁有多個參數列不同的建構子;選項2雖然在 Java 中多以 new 呼叫建構子,但透過 clone 或反序列化(deserialization)建立物件時並不會呼叫建構子,因此「一定要配合 new」並非絕對正確。
下面的文法可以產生那一種字串( S t r i n g ) ?
1. a a b a 0 a b a a
2. a a b a 0 a a b a a
3. a b 0 a b
4. a b b a 。 <W >: : = 0 | a <W >a | b <W >b
答案:(1) a a b a 0 a b a a
解析:該文法 <W> ::= 0 | a<W>a | b<W>b 產生的字串特徵為:中心必定是 0,且左右兩側為鏡像對稱(迴文,palindrome)。選項1「aaba0abaa」:以 0 為中心,左側 aaba、右側 abaa,右側反轉即為 aaba,構成對稱,且可由 a(a(b(a0a)b)a)a 推導產生,故正確。選項2「aaba0aabaa」非對稱;選項3「ab0ab」左右不對稱;選項4「abba」不含中心 0,均無法由本規則產生。因此答案為1。
針對程式語言陣列的描述,下述何者正確?
1. 陣列索引一定從1 開始
2. 可以任意改變陣列空間長度
3. 必須儲存相同資料型態
4. 程式設計師必須使用指標技術設計。
答案:(3) 必須儲存相同資料型態
解析:陣列(array)是一種同質(homogeneous)的資料結構,同一個陣列內的所有元素必須儲存相同的資料型態,故選項3正確。選項1錯誤,Java 陣列索引從 0 開始;選項2錯誤,Java 陣列長度在建立(new)後即固定,不可任意改變;選項4錯誤,Java 不提供指標(pointer)語法,程式設計師不需也不允許使用指標技術操作陣列,係以參考(reference)方式存取。因此答案為3。
一個只包含根節點的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
解析:B-tree 節點鍵值數範圍為 [⌈m/2⌉-1, m-1]。題目給分支度 order = 3,即 m = 3,葉節點最多鍵值 = 2。高度 h = 4 表示路徑上有 4 個節點(根層級 1、葉層級 4)。根層級 1 個節點;第 2 層最多 3 個節點;第 3 層最多 3×3=9 個節點;第 4 層最多 3×9=27 個葉節點。最多鍵值總數 = 27 × 2 = 54?不正確:B-tree 內部節點也存鍵值。一般教科書定義 B-tree 所有節點都存鍵值,內部節點最多 m-1=2 個鍵。節點總數 = 1 + 3 + 9 + 27 = 40,最多鍵值 = 40 × 2 = 80。選項 3 為 80,故選 3。
為了維護資料的安全,下列敘述何者不正確?
1. 備份資料應與系統設備及應用系統分開放置
2. 系統密碼一旦設定後請勿更改
3. 應用系統應使用日誌檔( L o g F i l e ) 詳細記錄使用情形
4. 系統資料必須定期予以備份。
答案:(2) 系統密碼一旦設定後請勿更改
解析:資安基本原則:備份應異地分離(選項 1 正確)、系統應有稽核日誌(選項 3 正確)、定期備份(選項 4 正確)。密碼應定期更換且不可長期固定,「系統密碼一旦設定後請勿更改」違反最小權限與定期輪換原則,為不正確敘述。
有一仿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 i v a t e : d o u b l e m e t h o d X ( i n t x ) { . . . } ;
2. p u b l i c : 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 ( d o u b l e x ) { . . . } ;
4. 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 u b l i c : d o u b l e m e t h o d X ( i n t x ) { . . . } ;
解析:C++ 覆寫規則:存取層級不可比基底類別更嚴格(protected 可被 public 或 protected 覆寫,不可被 private)、回傳型別須相同或共變、參數列表須完全相同。選項 1 存取層級降為 private 不合法;選項 2 public 存取層級較寬鬆、回傳與參數皆同,合法;選項 3 參數型別改為 double 屬於多載非覆寫;選項 4 回傳型別改為 int 且參數改 double,皆不符。
在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. 組合( C o m p o s i t i o n )
2. 聚合( A g g r e g a t i o n )
3. 實體化( M a t e r i a l i z a t i o n )
4. 一般化( G e n e r a l i z a t i o n ) 。
答案:(1) 組合( C o m p o s i t i o n )
解析:UML 類別圖中以實心菱形(filled diamond)表示組合(Composition),這是一種強烈的整體與部分關係:部分物件的生命週期依附於整體,整體消失時部分也隨之消滅,例如建築物拆除後,房間不再獨立存在。空心菱形則是聚合(Aggregation),部分物件可以獨立於整體存在。實體化(Materialization)以虛線加空心三角箭頭表示類別實作介面;一般化(Generalization)則以實線加空心三角箭頭表示繼承關係。
下列何者為I P 位址168 . 95 . 192 . 1 / 22 的子網路遮罩?
1. 255 . 255 . 255 . 0
2. 255 . 255 . 255 . 255
3. 255 . 255 . 252 . 0
4. 255 .
答案:(3) 255 . 255 . 252 . 0
解析:/22 表示前 22 個位元為網路位元,後 10 個位元為主機位元。子網路遮罩二進位:11111111.11111111.11111100.00000000,換算為十進位即 255.255.252.0。
下列那一種排序法,由於資料量大,無法直接存放在記憶體中,必須先存放於輔助記憶體
內再處理?
1. 選擇排序( S e l e c t i o n S o r t )
2. 快速排序( Q u i c k S o r t )
3. 內部排序( I n t e r n a l S o r t )
4. 外部排序( E x t e r n a l S o r t ) 。
答案:(4) 外部排序( E x t e r n a l S o r t )
解析:外部排序(External Sort)正是為了解決資料量超過主記憶體容量的問題:先分批將資料讀入記憶體排序,寫回輔助記憶體(磁碟)形成有序的 run,再以合併(merge)方式整合成完整排序結果。選擇排序與快速排序都屬於內部排序(Internal Sort),前提是全部資料都能載入記憶體。選項中的「內部排序」本身即指在記憶體中完成排序,與題目所述必須先存放於輔助記憶體再處理的情境相反。
電腦對於副程式的呼叫通常使用下列何種資料結構?
1. 陣列( A r r a y )
2. 堆疊( S t a c k )
3. 樹 ( T r e e )
4. 佇列( Q u e u e ) 。
答案:(2) 堆疊( S t a c k )
解析:副程式呼叫採用堆疊(Stack)這種後進先出(LIFO)的資料結構。呼叫時,系統會把返回位址、傳入參數與區域變數等活動記錄(activation record)推入系統堆疊,被呼叫的副程式執行完畢後再彈出(pop),回到原來的返回位址繼續執行;遞迴呼叫能逐層返回也是靠堆疊。佇列是先進先出(FIFO),適合排隊服務如列印工作;陣列支援隨機存取;樹則用於表達階層關係。
下列關聯式代數( 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. 差集運算( D i f f e r e n c e )
2. 乘積運算( C a r t e s i a n P r o d u c t )
3. 連結運算( J o i n )
4. 聯集運算( U n i o n ) 。
答案:(3) 連結運算( J o i n )
解析:關聯式代數的完全集合(Complete Set)由五個原始運算子組成:聯集(Union)、差集(Difference)、笛卡兒乘積(Cartesian Product)、選擇(Selection,σ)與投影(Projection,π)。連結運算(Join)並非原始運算子,它可以由笛卡兒乘積再搭配選擇運算推導出來,因此屬於衍生(derived)運算子。其餘的差集、乘積與聯集都是構成完全集合的基本成員,不可被其他運算子取代。
下列那一項不是T C P / I P 的特點?
1. 網路不會遭受攻擊
2. 網路的種類無關
3. 容錯力高
4. T C P 是可靠的傳輸。
答案:(1) 網路不會遭受攻擊
解析:TCP/IP 的設計特點包括:與網路種類無關(可跨異質網路互通)、容錯力高(透過路由選擇繞開故障節點)、TCP 提供可靠性(序號、確認、逾時重傳、順序控制)。但 TCP/IP 本身在設計之初並未內建安全機制,仍可能遭到 DoS 攻擊、竊聽、IP 偽造等威脅,因此「網路不會遭受攻擊」並非其特點,安全性必須靠 SSL/TLS、IPSec、防火牆等外加機制補強。
有關H T T P S 的敘述,下列那些正確?
1. H T T P S 預設的通訊埠為80
2. 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 是屬於傳輸層( T r a n s p o r t L a y e r ) 的協定。
答案:(2) H T T P S 連線所使用的公鑰是以明文傳輸、(3) H T T P S 是H T T P 與S S L / T L S 的結合
解析:HTTPS 即 HTTP 加上 SSL/TLS,用以提供加密、完整性與伺服器身分驗證,故第 3 項正確。TLS 握手時,伺服器會把含公開金鑰的憑證以明文送出;公開金鑰本來就可公開,真正需要保護的是之後用非對稱加密協商出的對稱金鑰,故第 2 項正確。HTTPS 預設埠為 443 而非 80;HTTPS 屬應用層協定(SSL/TLS 位於應用層與傳輸層之間),並非傳輸層協定,故第 1、4 項錯誤。
物件導向語言私有實體( P r i v a t e I n s t a n c e ) 變數的描述,以下哪些正確?
1. 外面的類別可以使用該類別名稱,加上一點和私有實體變數名稱修改
2. 外面的類別可以透過該類別的公開方法修改
3. 外面的類別可以使用該類別產生的物件物件名稱,加上一點和私有實體變數名稱修改
4. 不能被外面的類別直接修改。
答案:(2) 外面的類別可以透過該類別的公開方法修改、(4) 不能被外面的類別直接修改
解析:私有(private)實體變數的可見範圍僅限宣告它的類別內部,外部類別無法用「物件名稱.變數」或「類別名稱.變數」直接存取或修改,因此第 4 項正確、第 1、3 項錯誤。封裝的做法是提供 public 的 getter/setter 方法,讓外部透過方法間接讀取或修改,並可在方法中加入驗證邏輯,故第 2 項正確。附帶說明:以類別名稱加點存取的是 static 成員,不是私有實體變數。
使用S Q L 查詢,若要以部門為計算單位,計算出每個部門的員工人數時,必須用到下列
那些關鍵字?
1. C O U N T
2. S U M
3. H A V I N G
4. G R O U P B Y 。
答案:(1) C O U N T、(4) G R O U P B Y
解析:以部門為單位統計人數,需先用 GROUP BY 依部門欄位分組,再用聚合函數 COUNT(*) 或 COUNT(員工編號) 計算每組筆數,語法如 SELECT 部門, COUNT(*) FROM 員工 GROUP BY 部門。SUM 是數值加總,用來算薪資總額而非人數;HAVING 是對分組後的結果再篩選條件(例如只列出人數大於 5 的部門),本題僅要求算出各部門人數,並不必然使用。
使用J a v a 程式語言的t h r o w s 指令時,下列那些項目可以被丟出?
1. O b j e c t
2. E v e n t
3. E x c e p t i o n
4. E r r o r 。
答案:(3) E x c e p t i o n、(4) E r r o r
解析:Java 的 throws 與 throw 所處理的物件必須是 java.lang.Throwable 或其子類別。Throwable 下有兩大分支:Exception(如 IOException、RuntimeException)與 Error(如 OutOfMemoryError),兩者都可被丟出,故第 3、4 項正確。Object 是類別階層的根,範圍過廣,不能丟出;Event 屬於 AWT 事件類別,與例外處理機制無關,亦不能丟出。
第65題
下列那些是P H P 中用以定義類別且會被繼承的關鍵字?
1. p a r e n t
2. i n t e r f a c e
3. f i n a l
4. d e f i n e 。
答案:(1) p a r e n t、(2) i n t e r f a c e、(4) d e f i n e
第66題
以下J a v a 程式片段,執行後會印出那些值?
1. 4
2. 2
3. 5
4. 0 。
答案:(1) 4、(2) 2、(3) 5
在作業系統中,當發生猛移現象( T h r a s h i n g ) 時,會產生那些情形?
1. C P U 使用率太低
2. 磁碟I / O 次數太多
3. 網路使用率太低
4. 磁碟空間不足。
答案:(1) C P U 使用率太低、(2) 磁碟I / O 次數太多
解析:猛移(Thrashing)是指記憶體過度配置、分頁(page)置換過於頻繁,行程大部分時間都耗在等待分頁載入而非執行指令。此時磁碟 I/O 次數大幅增加,CPU 卻經常閒置等待資料,使用率明顯偏低,形成「I/O 很忙、CPU 很閒」的現象,故第 1、2 項正確。網路使用率與磁碟剩餘空間並非猛移的直接成因或表徵,第 3、4 項錯誤。改善方式為降低多程式度或增加實體記憶體。
第68題
以相鄰矩陣( 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 至節點5 的最短的路徑之長度為9
2. 節點3 至節點4 的最短的路徑之長度為3
3. 節點3 至節點1 沒有路徑
4. 節點3 至節點2 的最短的路徑之長度為3 。
答案:(2) 節點3 至節點4 的最短的路徑之長度為3、(3) 節點3 至節點1 沒有路徑
有關於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. 在三層式架構中,用戶( C l i e n t ) 端需要針對每個不同的應用程式安裝相對應的用戶端程式
3. 中間層的伺服器經常用來處理企業邏輯( B u s i n e s s L o g i c )
4. 三層式架構是在用戶端和資料庫 伺服器端的中間增加一個中間層( M i d d l e - T i e r ) 。
答案:(1) 中間層的伺服器經常被稱為應用程式伺服器( A p p l i c a t i o n S e r v e r )、(3) 中間層的伺服器經常用來處理企業邏輯( B u s i n e s s L o g i c )、(4) 三層式架構是在用戶端和資料庫 伺服器端的中間增加一個中間層( M i d d l e - T i e r )
解析:三層式架構將系統分為呈現層(客戶端)、中間層與資料層。中間層通常由應用程式伺服器擔任,負責企業邏輯與交易處理,客戶端只負責介面呈現與輸入,因此第1、3、4項正確。第2項描述的是雙層式(胖客戶端)架構:每個應用程式都要安裝專屬用戶端程式,正好是三層式要解決的部署與維護問題;三層式的用戶端只需瀏覽器或通用介面即可,不需逐一安裝。
「若p 則q 」 ( p
q ) ,與下列那些意義相同?
1. N O T q N O T p
2. ( N O T p ) O R q
3. p O R ( N O T q )
4. N O T p N O T q 。
答案:(1) N O T q N O T p、(2) ( N O T p ) O R q
解析:「若p則q」即p→q,等價於「非p或q」,故第2項正確;其等價的逆否命題為「非q則非p」,故第1項正確。第3項p或非q化簡後等價於q→p,是把因果方向顛倒的 converse,只在p、q同真假時才與原式同值;第4項非p則非q是 inverse,當p為假、q為真時原式為真但此式為假。用真值表逐列比對即可確認只有第1、2項與p→q完全相同。
有關於資料庫中候選鍵( C a n d i d a t e K e y ) 的敘述,下列那些是正確的?
1. 任一個候選鍵都是表格中滿足唯一性的最小屬性子集
2. 表格中任兩筆資料( T u p l e ) 的候選鍵值可能相同,但主要鍵( P r i m a r y K e y ) 值必定不相同
3. 一個候選鍵有可能為兩個屬性的集合
4. 一個表格有可能有兩個候選鍵。
答案:(1) 任一個候選鍵都是表格中滿足唯一性的最小屬性子集、(3) 一個候選鍵有可能為兩個屬性的集合、(4) 一個表格有可能有兩個候選鍵
解析:候選鍵是能唯一識別每一筆資料(tuple)且不可再刪除任何屬性的最小超鍵,因此第1項正確;候選鍵可由單一屬性或兩個以上屬性組合而成,故第3項正確;一個表格允許存在多個候選鍵,再從中挑一個當主要鍵,故第4項正確。第2項錯誤:候選鍵本身即須滿足唯一性,任兩筆資料的候選鍵值不可相同,否則無法識別資料;主要鍵只是被選定的那個候選鍵,兩者都必須唯一。
第72題
下列J a v a 語言程式片段執行後,會分別印出那些值?
1. 37
2. 35
3. 93
4. 83 。
答案:(1) 37、(4) 83
下列那些項目屬正確防範電子郵件社交工程的方法?
1. 避免開啟郵件內的超連結
2. 離線閱讀
3. 避免開啟可疑的附件檔案
4. 開啟預覽窗格。
答案:(1) 避免開啟郵件內的超連結、(3) 避免開啟可疑的附件檔案
解析:防範電子郵件社交工程的正確方法包括:不任意點擊郵件內的超連結(選項1),因惡意連結常導向仿冒釣魚網站以竊取帳號密碼;以及避免開啟可疑的附件檔案(選項3),附件可能隱藏木馬、勒索軟體或惡意巨集。選項2「離線閱讀」並不能防範社交工程,威脅在於郵件內容的誘騙與惡意程式本身,與是否連網無必然關係;選項4「開啟預覽窗格」反而提高風險,部分惡意程式可在郵件被預覽時即自動載入或觸發,故不屬防範方法。綜上,正確為選項1與3。
依序讀入1 , 2 , 3 , 4 , 5 , 6 ,並建造一棵A V L 樹,下列那些正確?
1. 2 與5 在同一階層
2. 2 為 1 的父節點
3. 6 為5 的父節點
4. 4 為2 的父節點。
答案:(1) 2 與5 在同一階層、(2) 2 為 1 的父節點、(4) 4 為2 的父節點
解析:依序插入1、2、3時,節點1發生右右不平衡,對1做一次左旋,根成為2,左子1、右子3。插入4接在3右側,各節點平衡因子仍在容許範圍。插入5後,節點2的右子樹高3、左子樹高1,屬右右型,對2左旋,根改為4,左子2(子節點1、3)、右子5。插入6接在5右側,此時根4左右子樹高度皆為2,無需旋轉。最終2與5同在第2階層,2為1的父節點,4為2的父節點;6是5的右子節點,並非5的父節點。
下列內容哪些屬於執行副程式時活動紀錄中之元素?
1. 實際參數( A c t u a l P a r a m e t e r )
2. 返回點( R e t u r n P o i n t )
3. 全域變數( G l o b a l V a r i a b l e )
4. 區域資料( L o c a l D a t a ) 。
答案:(1) 實際參數( A c t u a l P a r a m e t e r )、(2) 返回點( R e t u r n P o i n t )、(4) 區域資料( L o c a l D a t a )
解析:副程式被呼叫時,系統會在執行堆疊上配置一筆活動紀錄(activation record,或稱堆疊框架),內容包含返回位址(返回點)、傳入的實際參數、區域變數與區域資料、暫存器保存值及回傳值等,供該次呼叫使用,返回後即釋放。全域變數配置於靜態資料區,生存期涵蓋整個程式執行期間,所有副程式共用同一份,並不隨個別呼叫建立,因此不屬於活動紀錄的元素。故第1、2、4項正確。
假設輸入資料有n 個,在最糟情形下,下列那些排序法的時間複雜度不是θ ( n l o g n ) ?此
處n 為資料個數
1. I n s e r 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. S e l e c t i o n S o r t 。
答案:(1) I n s e r 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) S e l e c t i o n S o r t
解析:插入排序(Insertion Sort)最差情形每個元素須與前方已排序部分逐一比較並搬移,時間複雜度為O(n²);選擇排序(Selection Sort)每回合選最小元素,同為O(n²)。希爾排序(Shell Sort)依間隔序列而定,最差為O(n²)或更優但非θ(n log n),亦不符。基數排序(Radix Sort)為非比較式排序,複雜度為O(d·(n+k))(d為位數、k為基數),與θ(n log n)無關。故四者最差情形均非θ(n log n)。
在軟體開發中,下列那些為U M L 使用案例之間的關係?
1. 包含( I n c l u d e )
2. 組合( A g g r e g a t e )
3. 繼承( I n h e r i t )
4. 擴展( E x t e n d ) 。
答案:(1) 包含( I n c l u d e )、(3) 繼承( I n h e r i t )、(4) 擴展( E x t e n d )
解析:UML使用案例圖中,使用案例間的關係主要有包含(Include)、擴展(Extend)與泛化(Generalization,即繼承)。包含表示基底用例一定呼叫被包含用例;擴展表示特定條件下才執行延伸用例;繼承表示子用例繼承父用例行為。組合(Aggregate/Aggregation)是類別圖中表達整體與部分的關聯,不屬於使用案例之間的關係。故正確為包含、繼承、擴展,即1、3、4。
有關於服務導向架構( S O A ) 的概念,下列那些敘述是正確的?
1. W e b 服務協定的S O A P 和 W S D L 等標準都是以X M L 為基礎
2. 服務請求者( 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 到服務提供者以獲取所需的服務
3. 服務提供者( 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
4. 不同W e b 服務的整合具有嚴謹的架構,所有服務使用的程式語言和作業系統平台必須都相同。
答案:(1) W e b 服務協定的S O A P 和 W S D L 等標準都是以X M L 為基礎、(2) 服務請求者( 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 到服務提供者以獲取所需的服務、(3) 服務提供者( 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
解析:SOA三大角色為服務提供者(Provider)、服務中介者(Broker/Registry)、服務請求者(Requestor),運作含發行(Publish)、尋找(Find)、繫結(Bind)。選項1:SOAP(簡單物件存取協定)與WSDL(服務描述)均以XML為基礎,正確。選項2、3描述請求者搜尋Registry後Bind、提供者Publish至Broker的Registry,符合標準模型,正確。選項4錯誤:SOA強調鬆耦合與跨平台互通,各服務可使用不同程式語言與作業系統,不必相同。故選1、2、3。
有關乙太網路( E t h e r n e t ) 的傳輸距離,下列那些正確?
1. 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 - T > 10 B a s e - 2
4. 10 B a s e - 5 > 10 B a s e - T 。
答案:(1) 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、(4) 10 B a s e - 5 > 10 B a s e - T
解析:乙太網路「10Base-X」中10表10Mbps、Base表基頻、X表最大區段長度。10Base-2為細同軸電纜,最大區段185公尺;10Base-5為粗同軸電纜,最大區段500公尺;10Base-T為雙絞線,最大區段100公尺。比較:185>100故10Base-2>10Base-T(選1對);500>185故10Base-5>10Base-2(選2對);100<185故10Base-T>10Base-2為非(選3錯);500>100故10Base-5>10Base-T(選4對)。答案1、2、4。
下列那些為專利法中所指的專利申請權人?
1. 專利案代理人
2. 設計人
3. 新型創作人之受讓人
4. 發明人。
答案:(2) 設計人、(3) 新型創作人之受讓人、(4) 發明人
解析:依專利法第5條,專利申請權人為發明人、新型創作人、設計人或其受讓人、繼承人;申請權得讓與或繼承。選項2設計人(設計專利之創作人)具申請權;選項4發明人具申請權;選項3新型創作人之受讓人經受讓取得申請權,均正確。選項1專利案代理人僅受委任代辦申請程序,並非申請權人,錯誤。故選2、3、4。