有關J a v a 語言中控制結構的敘述,下列何者錯誤?
1. w h i l e 判斷後面的條件,若成立就做迴圈主體
2. f o r 後面小括號內可以給初始值、條件判斷與每次迴圈前必做動作
3. i f 後面小括號內為條件判斷式
4. s w i t c h 若沒有b r e a k 則會繼續執行下去。
答案:(2) f o r 後面小括號內可以給初始值、條件判斷與每次迴圈前必做動作
解析:for 迴圈小括號內的三段依序為初始化、條件判斷與更新動作,其中更新動作是在每次迴圈主體執行完畢之後才執行,再回到條件判斷,並非在迴圈前必做,因此敘述2有誤。while 先判斷條件成立才進入迴圈主體,敘述1正確;if 的小括號內放的是條件判斷式,敘述3正確;switch 的某個 case 若缺少 break,會繼續往下執行後續的 case(fall-through),敘述4正確。故選2。
安全衛生檢查的目的主要在
1. 協助廠商提高生產效率
2. 消除不安全的環境及糾正不安全的作業方式
3. 防止設備損壞及偷竊事件發生
4. 提升產品及服務品質。
答案:(2) 消除不安全的環境及糾正不安全的作業方式
解析:安全衛生檢查屬於事前預防的工作,透過巡視作業場所、機械設備與人員操作方式,找出潛在危害並要求限期改善,目的在消除不安全的環境(如防護裝置不足、通道堆積雜物)以及糾正不安全的作業行為(如未依標準程序操作、未配戴防護具),以降低職業災害發生。提高生產效率、防止設備失竊、提升產品與服務品質雖可能間接受益,但都不是安全衛生檢查的主要目的。故選2。
第3題
從一個擁有n 個節點的鏈結串列刪除一個值為x 之節點,在最壞情況下所需時間複雜度為
多少?
1. θ ( 1 )
2. θ ( l o g n )
3. θ ( n l o g n )
4. θ ( n ) 。
答案:(4) θ ( n )
解析:單向鏈結串列只能從頭節點依序走訪,刪除值為 x 的節點時必須先找到它的前一個節點,才能修改指標完成刪除。最壞情況是 x 位於串列尾端或根本不存在,需檢查全部 n 個節點,比較次數與 n 成正比,故時間複雜度為 θ(n)。θ(1) 只有在已持有前驅節點指標(例如雙向串列)時才成立;θ(log n) 需具備隨機存取或已排序的索引結構;θ(n log n) 通常是排序演算法的成本。
下列何者「非」屬於以不正當方法取得營業秘密?
1. 賄賂
2. 還原工程
3. 擅自重製
4. 引誘他人違反其保密義務。
答案:(2) 還原工程
解析:依營業秘密法第10條,以竊取、侵占、詐欺、脅迫、賄賂、擅自重製、違反保密義務、引誘他人違反其保密義務或其他類似方法取得營業秘密者,均屬侵害營業秘密的行為。賄賂、擅自重製、引誘他人違反保密義務都在列。還原工程(reverse engineering)是就合法取得之產品,以分析、拆解等方式推得其技術內容,屬正當的競爭與學習手段,不屬於不正當方法。故選2。
第5題
有關J a v a 基本資料型態( P r i m i t i v e D a t a T y p e ) 的敘述,下列何者敘述有誤?
1. J a v a 的基本浮點資料型態有 f l o a t 與 l o n g 兩種
2. i n t 資料型態的單位大小是16 b i t s
3. 基本資料型態的變數不須用 n e w 來產生
4. J a v a 支援 c a s t 運算做為資料型態的轉變。
答案:(1) J a v a 的基本浮點資料型態有 f l o a t 與 l o n g 兩種
關聯式資料表(R e l a t i o n a l T a b l e )E m p l o y e e ( E I D , D N o , S a l a r y ) ,分別表示員工之員工編
號、所屬部門編號、薪水,D e p t ( D N o , D N a m e ) ,分別表示部門之部門編號、名稱,假設
要列出部門名稱為業務部的員工編號,若不用巢狀( N e s t e d ) 結構查詢,則其W H E R E 條件
應包含下列那者才對?
1. E m p l o y e e [ D N o ] = D e p t [ D N o ]
2. E m p l o y e e [ D N o ] E Q U A L D e p t [ D N o ]
3. E m p l o y e e ( D N o ) = D e p t ( D N o )
4. E m p l o y e e . D N o = D e p t . D N o 。
答案:(4) E m p l o y e e . D N o = D e p t . D N o
解析:在關聯式資料庫中,若不使用巢狀查詢而要同時查詢 Employee 與 Dept 兩表,需以「相等連結(equi-join)」將兩表依共同欄位 DNo 結合。SQL 標準語法使用「資料表名稱.欄位名稱」的點記法(dot notation),即 Employee.DNo = Dept.DNo。選項1、3的方括號與圓括號並非 SQL 標準欄位引用方式;選項2的 EQUAL 亦非 SQL 保留字(應為 =)。故正確連結條件為選項4,再配合 AND Dept.DName='業務部' 即可列出目標員工編號。
資料庫交易(T r a n s a c t i o n )中,所有已承諾(C o m m i t )的改變將永遠保留的特性,稱為
下列何者特性?
1. 持續性( D u r a b l e )
2. 一致性( C o n s i s t e n t )
3. 隔離性( I s o l a t e d )
4. 簡易性( S i m p l i c i t y ) 。
答案:(1) 持續性( D u r a b l e )
解析:資料庫交易具備 ACID 四大特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。其中「持久性(亦譯永續性,Durable)」指一旦交易被 Commit 提交,其對資料庫的修改就會永久保存,即使發生系統當機或斷電也不會遺失。選項2一致性強調交易前後資料須符合完整性限制;選項3隔離性指多筆交易並行時彼此不受干擾;選項4簡易性並非 ACID 特性。故符合題意者為選項1。
有關J a v a 語言基本資料型態,下列何者錯誤?
1. v o i d
2. i n t
3. m a i n
4. c h a r 。
答案:(3) m a i n
解析:Java 的八種基本(primitive)資料型態為 byte、short、int、long、float、double、char、boolean。選項2(int)與選項4(char)均為基本型態;選項1(void)是關鍵字,用於表示方法不回傳值,亦不屬基本型態。但選項3的 main 是程式進入點的方法名稱(method name),完全不是資料型態,明顯錯誤。題目問「何者錯誤」,以 main 最不符合資料型態之定義,故選3。
第9題
勞工在何種情況下,雇主得不經預告終止勞動契約?
1. 確定被法院判刑6 個月以內並諭知緩刑超過1 年以上者
2. 不服指揮對雇主暴力相向者
3. 經常遲到早退者
4. 非連續曠工但一個月內累計達3 日以上者。
答案:(2) 不服指揮對雇主暴力相向者
對於正規化的步驟中,那一種N o r m a l F o r m ( N F ) 主要是在處理「消除所有的非鍵屬性之間
的功能相依性」的問題?
1. 1 N F
2. 2 N F
3. 3 N F
4. 4 N F 。
答案:(3) 3 N F
解析:正規化各階段目的不同:1NF 要求欄位不可再分割;2NF 在消除「部分功能相依」(複合候選鍵中部分鍵決定非鍵屬性);3NF 則在消除「遞移相依」,亦即非鍵屬性之間不應存在功能相依(A→B,A、B 皆非鍵)。題幹所述「消除所有的非鍵屬性之間的功能相依性」正是 3NF 的目標。4NF 處理多重值相依(multivalued dependency)。故答案為選項3。
下列那一項不是T C P / I P 的特點?
1. 網路的種類無關
2. 容錯力高
3. 網路不會遭受攻擊
4. T C P 是可靠的傳輸。
答案:(3) 網路不會遭受攻擊
解析:TCP/IP 具備網路獨立性(與底層網路種類無關,選項1正確)、高容錯力與路由重整能力(選項2正確),且 TCP 以序號、確認、重送機制提供可靠傳輸(選項4正確)。但 TCP/IP 並不能保證網路「不會遭受攻擊」,實際上面對阻斷服務、偽造封包等資安威脅仍需額外防護。選項3敘述過於絕對且錯誤,故為非 TCP/IP 特點者,答案選3。
假設n 代表資料數量,下列之描述何者是錯誤?
1. 在A V L T r e e 新增、刪除、搜尋一個節點,所需之時間複雜度均為O ( l o g n )
2. 在H e a p 新增一個值,所需之時間複雜度O ( l o g n )
3. 刪除M i n i m u m H e a p 之最小值,所需之時間複雜度
4. 將二元樹以P r e o r d e r 順序排列,所需之計算複雜度為O ( n ) 。
答案:(3) 刪除M i n i m u m H e a p 之最小值,所需之時間複雜度
解析:n 為資料量時:AVL Tree 為平衡二元搜尋樹,其新增、刪除、搜尋皆維持 O(log n)(選項1正確);Heap 新增元素需向上調整,複雜度 O(log n)(選項2正確);二元樹前序(Preorder)走訪須拜訪每個節點一次,為 O(n)(選項4正確)。刪除 Min Heap 的最小值(位於根)後,需將末節點移至根並向下調整(heapify-down),同樣為 O(log n);若該選項聲稱其他複雜度即為錯誤敘述,故選3。
一J a v a 程式片段如下,執行後下列何者為其輸出?
1. H e l l o
2. J a v a !
3. H e l l o J a v a !
4. 編譯錯誤無輸出。
答案:(3) H e l l o J a v a !
解析:本題程式碼片段在題幹中未完整附出。依常見基礎輸出考題情境:若程式以 System.out.print("Hello"); 接續 System.out.print(" Java!"); 連續輸出且不換行,結果即為 "Hello Java!"(選項3)。選項1、2僅分別輸出單一字串;選項4須程式有語法錯誤才成立。由於缺少原始碼無法 100% 確認,但就選項設計與基礎題型判斷,最可能的輸出為連續印出的 "Hello Java!",故選3。
第14題
下列仿C + + 程式片斷之計算時間,何者正確?
1. θ ( n )
2. θ ( n l o g n )
3. θ ( n ( l o g n ) )
4. θ ( n l o g n ) 。
答案:(4) θ ( n l o g n )
U M L 組合( C o m p o s i t i o n ) 關係與組成部分有其生命延展關係,下列敘述那一個正確?
1. 不可分離,子類別不可單獨存在
2. 可分離,子類別可單獨存在
3. 不可分離,子類別可單獨存在
4. 可分離,子類別不可單獨存在。
答案:(1) 不可分離,子類別不可單獨存在
解析:組合(Composition)是整體與部分之間關係最強的一種,整體與部分的生命週期一致:整體一旦消滅,部分也隨之消失,因此兩者不可分離,部分物件不能單獨存在。例如「訂單」與「訂單明細」的關係,訂單被刪除時明細也一併消失。選項2、3、4 都主張兩者可分離或部分能獨立存在,那其實是聚合(Aggregation)或一般關聯的特性,部分物件可以脫離整體獨立存活,與組合的定義不同。
第16題
公司在申請案件本身合乎規定之情形下,僅為縮短辦理時程而對公家機關贈送高價禮品,
是否合法?
1. 屬人情世故不構成違法
2. 構成不違背職務行賄罪
3. 構成違背職務行賄罪
4. 送禮均不構成違法送錢才違法。
答案:(2) 構成不違背職務行賄罪
下列那一種程式語言,在使用一個未經宣告的整數變數時,不會造成編譯錯誤?
1. C + +
2. C O B O L
3. F O R T R A N
4. P A S C A L 。
答案:(3) F O R T R A N
解析:FORTRAN 具有隱含型別(Implicit Typing)規則:未經宣告的變數,名稱以 I~N 開頭者視為整數(INTEGER),其餘字母開頭者視為實數(REAL),所以直接使用未宣告的整數變數不會造成編譯錯誤。C++ 與 Pascal 都要求變數先宣告型別才能使用;COBOL 則須在 DATA DIVISION 中宣告資料項目。故選 FORTRAN。
將資料1 、2 、3 、4 依序分別經由佇列( Q u e u e ) 做排列,則下列敘述何者是正確的?
1. 以 Q u e u e 排列只有 1 組輸出
2. 以 Q u e u e 排列只有 6 組輸出
3. 以 Q u e u e 排列只有 12 組輸出
4. 以 Q u e u e 排列只有 24 組輸出。
答案:(1) 以 Q u e u e 排列只有 1 組輸出
解析:佇列(Queue)是先進先出(FIFO)的線性結構,資料從尾端加入(Enqueue)、從前端取出(Dequeue)。資料依 1、2、3、4 的順序進入,取出順序必然也是 1、2、3、4,因此只有 1 組輸出。若是堆疊(Stack,後進先出),4 個相異資料才有 4!=24 種可能的輸出排列,選項4 是堆疊的結果,不是佇列。
在I E E E 830 標準所探討的軟體需求規格(S R S )中,下列何者為欲達成可追蹤( T r a c e a b l
e ) 特性所應具備之項目?
1. 文件有良好組織、目錄、索引
2. 每個需求應明確列出其所參考的文件
3. 需求在文件中沒有重複
4. 需求個別表達,沒有混在一起。
答案:(2) 每個需求應明確列出其所參考的文件
解析:IEEE 830 對軟體需求規格書的可追蹤性(Traceable)要求是:每一項需求都應能追溯其來源與去向,因此須明確標示該需求所參考或衍生的文件、章節,才能向前追溯至原始需求、向後追蹤到設計與測試。選項1 屬於文件組織良好、易於閱讀與可修改;選項3 屬於無重複(Non-redundant);選項4 屬於個別明確表達、無歧義,皆非可追蹤性項目。
第20題
若資料由小到大排序,則下列有關排序演算法之敘述,何者是錯誤?
1. 若資料為反序輸入, I n s e r t i o n S o r t 會產生W o r s t C a s e
2. 若資料為依序輸入,Q u i c k S o r t 會產生W o r s t C a s e
3. 若資料為反序輸入,Q u i c k S o r t 會產生W o r s t C a s e
4. 若資料為依序輸入,I n s e r t i o n S o r t 會產生W o r s t C a s e 。
答案:(4) 若資料為依序輸入,I n s e r t i o n S o r t 會產生W o r s t C a s e
解析:Insertion Sort 在資料已依序(近乎有序)時比較與搬移次數最少,屬最佳狀況 O(n),故「依序輸入產生 worst case」是錯誤敘述,答案 4。選項 1 對:反序時每個元素皆需逐格移至最前端,為 worst case O(n²);選項 2、3 對:Quick Sort 若固定取首或尾為基準,已排序或反序都會使分割極度不平衡,皆為 worst case O(n²)。
在C 程式中,定義一個s t r u c t 如下,若要將P a r t 定義為p a r t 的別名,下列敘述何者正確?
1. d e f i n e P a r t p a r t
2. t y p e d e f s t r u c t p a r t P a r t ;
3. t y p e d e f s t r u c t P a r t p a r t ;
4. t y p e d e f p a r t P a r t ;。
答案:(2) t y p e d e f s t r u c t p a r t P a r t ;
解析:C 語言中以 typedef 為結構體型別建立別名的語法為「typedef struct 標籤 別名;」。題目已定義標籤為 part,欲將 Part 作為別名,須寫成 typedef struct part Part;,之後即可用 Part 宣告變數。選項1 的 #define 只是文字巨集替換,並非型別別名;選項3 把標籤誤寫成 Part,與原結構體標籤不符;選項4 缺少 struct 關鍵字,語法不完整。
使用網路來作為廣播媒體傳送相同的訊息給大量未要求傳送訊息的使用者的一種行為,屬
於下列何種攻擊?
1. 偷窺( S n i f f e r s )
2. 欺騙( S p o o f i n g )
3. 垃圾訊息( S p a m m i n g )
4. 阻斷服務 ( D e n i a l o f S e r v i c e ) 。
答案:(3) 垃圾訊息( S p a m m i n g )
解析:透過網路大量發送相同訊息給眾多未曾要求接收的使用者,這種行為稱為垃圾訊息(Spamming),也常被用來散布廣告或惡意郵件。Sniffers(偷窺)是攔截並竊聽網路上流通的封包;Spoofing(欺騙)是偽造來源位址或身分以冒充他人;Denial of Service(阻斷服務)則是以大量請求耗盡系統或頻寬資源,使正常使用者無法獲得服務。
第23題
關於使用雜湊函數( H a s h i n g F u n c t i o n ) 的敘述,下列何者為錯誤?
1. 使用雜湊法搜尋時, 檔案須事先排序
2. 在無碰撞及溢位情況下,只需一次即可讀取,與資料量大小無關
3. 保密性高,若不知雜湊函數,無法擷取到資料
4. 可作資料壓縮,節省空間。
答案:(1) 使用雜湊法搜尋時, 檔案須事先排序
解析:雜湊(Hashing)搜尋是將鍵值經雜湊函數直接對應到存放位置,並不需要事先將檔案排序(排序是二元搜尋所需)。故「使用雜湊法搜尋時,檔案須事先排序」為錯誤敘述,選 1。其餘皆正確:無碰撞、無溢位時只需一次存取且與資料量無關(選項 2);雜湊函數具單向性,不知函數難以逆推資料(選項 3);壓縮映射可節省空間(選項 4)。
第24題
下列對組合語言的敘述之各項工作,那一項不須在第一次處理及第二次處理時都要進行?
1. 建立並維護基底暫存器表
2. 處理虛擬指令S T A R T
3. 處理虛擬指令E N D
4. 處理虛擬指令 D S 。
答案:(1) 建立並維護基底暫存器表
第25題
針對以下J a v a 程式片段,執行後x 值為何?
1. 102
2. 103
3. 258
4. 259 。
答案:(3) 258
使用組合語言 ( A s s e m b l y L a n g u a g e ) 替代機器語言 ( M a c h i n e L a n g u a g e ) 的描述,下列那
一項錯誤?
1. 指令為助記憶式符號 ( M n e m o n i c ) ,記憶及撰寫時較方便
2. 位址是以符號 ( S y m b o l ) 表示,較具有彈性與變化性
3. 較機器語言容易瞭解及閱讀
4. 不須將原始程式 ( S o u r c e P r o g r a m ) 轉成目的程式 ( O b j e c t P r o g r a m ) 。
答案:(4) 不須將原始程式 ( S o u r c e P r o g r a m ) 轉成目的程式 ( O b j e c t P r o g r a m )
解析:組合語言只是以助憶符號(Mnemonic)代表機器指令、以符號代表位址,仍屬低階語言,CPU 無法直接執行,必須經由組譯器(Assembler)將原始程式(Source Program)轉換成目的程式(Object Program)後才能連結執行,所以「不須轉成目的程式」的說法錯誤。其餘三項所述:助憶符號方便記憶撰寫、符號位址具彈性、較機器語言易讀,皆為組合語言的優點。
U M L 循序圖( S e q u e n c e D i a g r a m ) 的非同步訊息符號,以下何者正確?
1. 實線條型箭頭( S t i c k A r r o w h e a d )
2. 實線飽滿型箭頭 ( F i l l e d A r r o w h e a d )
3. 虛線空心箭頭( H o l l o w A r r o w h e a d )
4. 實線空心箭頭( H o l l o w A r r o w h e a d ) 。
答案:(1) 實線條型箭頭( S t i c k A r r o w h e a d )
解析:UML 循序圖中,箭頭樣式代表不同語意:同步訊息(呼叫)使用實線加飽滿(filled)箭頭,表示送訊者送出後會等待對方回應;非同步訊息則使用實線加條型、開放箭頭(stick arrowhead),表示送出後不等待回應,繼續往下執行。虛線箭頭用於回傳訊息(return message),並非非同步訊息。因此選項1正確;選項2的飽滿箭頭屬於同步訊息,選項3、4以虛線表示者為回傳訊息。
將右列堆積( H e a p ) [ 20151710125167311 ] ,依序新增14 、18 後,所形成的堆積,
下列何者正確?
1. [ 201517101451673111218 ]
2. [ 201518101217167311145 ]
3. [ 201517101251673111418 ]
4. [ 201518101417167311125 ] 。
答案:(4) [ 201518101417167311125 ]
解析:最大堆積新增元素時,先放到陣列末端,再與父節點比較並往上交換(sift-up)。原堆積為 20、15、17、10、12、5、16、7、3、11。插入 14:父節點為 12,因 14 大於 12 而交換,再與父節點 15 比較,因 14 小於 15 而停止,得 20、15、17、10、14、5、16、7、3、11、12。插入 18:父節點 5,交換;父節點 17,再交換;父節點 20,因 18 小於 20 而停止,結果為 20、15、18、10、14、17、16、7、3、11、12、5。
下列何者為J a v a 語言的關鍵字?
1. i m p l e m e n t s
2. F l o a t
3. s i z e o f
4. t h a t 。
答案:(1) i m p l e m e n t s
解析:implements 是 Java 的保留關鍵字,用於類別宣告實作一個或多個介面(interface)。Float 是 java.lang 套件中的包裝類別名稱,Java 關鍵字大小寫有別,基本型別的關鍵字為小寫 float;sizeof 是 C/C++ 的運算子,Java 並未提供;that 在 Java 中沒有特殊語法意義,不是關鍵字。故只有 implements 屬於 Java 關鍵字。
第30題
當公司內部進行軟體整合測試時,測試的團隊最好來自何種身分?
1. 原來的軟體設計者
2. 原來的軟體程式師
3. 原來的系統分析師
4. 另一群與此軟體無任何相關者。
答案:(4) 另一群與此軟體無任何相關者
解析:整合測試在驗證模組之間的介面、資料傳遞與呼叫順序是否符合設計。若由原設計者或原程式師執行,容易沿用自己撰寫時的假設,對介面規格的誤解產生盲點,而系統分析師也常帶有原始需求觀點。較理想的做法是由一群與該軟體開發無直接關聯的獨立測試人員,依規格文件客觀驗證,比較能找出跨模組的整合缺陷。
在磁碟機陣列中,下列那一項技術執行效能最佳?
1. R A I D 0
2. R A I D 1
3. R A I D 5
4. R A I D 0 + 1 。
答案:(1) R A I D 0
解析:RAID 0 採資料分割(striping),把資料平均分散到多顆磁碟並行讀寫,沒有鏡像複製或同位元計算的額外負擔,因此理論上存取效能最佳。RAID 1 每筆寫入都需複製到兩顆磁碟;RAID 5 每次寫入要計算並更新同位元,讀寫均增加負擔;RAID 0+1 同時做鏡像與分割,寫入仍需兩份,效能不及純 RAID 0。故選1。
第32題
下圖若以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 E C
3. A B D C E
4. A E C D B 。
答案:(3) A B D C E
有關結構化程式的重複( R e p e t i t i o n ) 結構的指令,以下那一個錯誤?
1. c o n t i n u e
2. f o r
3. w h i l e
4. d o . . . w h i l e 。
答案:(1) c o n t i n u e
解析:結構化程式設計以循序、選擇、重複三種基本結構組成,重複結構的指令包括 for、while 與 do...while,分別為前測式與後測式迴圈。continue 屬於跳轉(控制)敘述,功能是略過本回合剩餘的敘述、直接進行下一次迭代,必須依附在迴圈內使用,本身並不是重複結構的指令。故選項1錯誤。
下列敘述何者錯誤?
1. 交換器屬於資料鏈結層的設備,而路由器屬於網路層的設備
2. 路由器處理每個封包的速度比交換器快
3. 交換器依照網路卡位址 ( M A C A d d r e s s ) 來轉送封包,而路由器依照主機I P 位址來轉送封包
4. 交換器只能在L A N 運作,而路由器可見W A N 運作。
答案:(2) 路由器處理每個封包的速度比交換器快
解析:路由器位於網路層,收到封包需拆開標頭、查詢路由表,甚至改寫標頭,處理較複雜;交換器位於資料鏈結層,只依 MAC 位址表以硬體快速轉送,因此交換器處理單一封包的速度通常比路由器快,敘述2錯誤。敘述1、3說明兩者的所屬層級與轉送依據正確;敘述4指出交換器用於區域網路、路由器可連接廣域網路,符合一般認知。
若有一堆疊( S t a c k ) 的資料結構,P U S H ( X ) 代表將暫存器X 的內容放入堆疊當中,P O P ( X )
代表從堆疊取出一個數字放入暫存器X 中。假設暫存器A、B、C、D 的內容分別為20、30、40、50,則依序執行P U S H ( A )、P U S H ( B )、P U S H ( C )、P O P ( A )、P U S H ( D )、P U S H ( B ) 、
P O P ( A ) 、P O P ( B ) 後,暫存器B 中的內容為何?
1. 20
2. 30
3. 40
4. 50 。
答案:(4) 50
解析:堆疊為後進先出(LIFO)。依序執行:PUSH(A)、PUSH(B)、PUSH(C)後堆疊內容為 20、30、40;POP(A)取出 40 放入 A,堆疊剩 20、30;PUSH(D)推入 50;PUSH(B)把 30 再推入,堆疊為 20、30、50、30;POP(A)取出 30 放入 A;POP(B)取出最頂端的 50 放入 B。故暫存器 B 的內容為 50。
第36題
當軟體模組測試著重在考慮其輸入、輸出、功能時,此種測試常被稱為下列何者?
1. 黑箱測試( B l a c k B o x T e s t i n g )
2. 白箱測試( W h i t e B o x T e s t i n g )
3. 玻璃箱測試( G l a s s B o x T e s t i n g )
4. 灰箱測試( G r e y B o x T e s t i n g ) 。
答案:(1) 黑箱測試( B l a c k B o x T e s t i n g )
解析:軟體測試依是否檢視內部結構區分。黑箱測試(Black Box Testing)著重於程式的輸入、輸出及功能規格,不關心內部程式碼邏輯,正符合題目所述「考慮輸入、輸出、功能」。白箱測試與玻璃箱測試(White/Glass Box)需檢視內部程式結構與路徑;灰箱測試結合兩者。故本題答案為黑箱測試。
有關T r e e 的敘述,下列何者正確?
1. B - t r e e 的建立方式是採由上往下( T o p - d o w n ) 做法
2. 二元搜尋樹( B i n a r y S e a r c h T r e e ) 的建立方式是採由下往上( B o t t o m - u p ) 做法
3. 將100000 筆資料存入分支度( O r d e r ) 為256 之B - t r e e,其高度最高為4
4. 將100000 筆資料存入分支度( O r d e r ) 為256 之B - t r e e ,其高度至少為3 。
答案:(4) 將100000 筆資料存入分支度( O r d e r ) 為256 之B - t r e e ,其高度至少為3
解析:B-tree 的建立是由下往上(bottom-up):新資料先插入葉節點,節點滿了才分裂並把中間鍵上傳,故1錯;二元搜尋樹則是從根往下逐筆比較插入,屬 top-down,故2錯。以每個節點最多 256 個分支計算,高度 h 的 B-tree 最多容納 256 的 h 次方減 1 筆:h=2 時為 65535 筆,不足 100000 筆;h=3 時可達 16777215 筆,故高度至少為 3。
下列何者可以修正以下J a v a 程式碼的錯誤?
1. 移除r e t u r n ( x + 5 ) ; 的( )
2. 移除s e t C o d e m e t h o d 的a b s t r a c t
3. 將p r o t e c t e d 更正為p u b l i c
4. 加入a b s t r a c t 於c l a s s 宣告的前面。
答案:(4) 加入a b s t r a c t 於c l a s s 宣告的前面
解析:這段程式的錯誤在於:類別內宣告了抽象方法 setCode,但類別本身沒有宣告成抽象類別,而 Java 規定含有 abstract 方法的類別必須宣告為 abstract,因此在 class 前面加上 abstract 就能通過編譯。return (x+5); 的括號只是多餘,語法仍然合法;把 protected 改成 public 只改變存取範圍,與此錯誤無關;若把方法的 abstract 移除,該方法就變成沒有主體(沒有大括號內容)的方法宣告,編譯器會回報缺少方法主體,錯誤依然存在。故選 4。
下列關於循序搜尋法( S e q u e n t i a l S e a r c h i n g ) 的敘述,那一項為錯誤?
1. 被搜尋的資料記錄不需要依鍵值大小排列
2. 又稱為線性搜尋法( L i n e a r S e a r c h i n g )
3. 對於有N 個資料記錄檔案最壞情況需比較N 次
4. 若該檔案有N 筆資料,找到一筆正確資料,平均需比較N 次。
答案:(4) 若該檔案有N 筆資料,找到一筆正確資料,平均需比較N 次
解析:循序搜尋法是從第一筆開始逐筆比對,資料不需要事先依鍵值排序,因此又稱線性搜尋法;最壞情況要比較到最後一筆或全部比完仍找不到,需比較 N 次。但在成功找到資料時,平均比較次數約為 (N+1)/2 次,並非 N 次,所以第 4 項敘述錯誤。故選 4。
下列何者不是對稱式加密方法?
1. D E S
2. A E S
3. I D E A
4. R S A 。
答案:(4) R S A
解析:對稱式加密是指加密與解密使用同一把金鑰,DES、AES、IDEA 都屬於此類。RSA 是非對稱式(公開金鑰)加密,它以公開金鑰加密、私密金鑰解密,兩把金鑰不同,安全性建立在質因數分解的困難度上,因此不屬於對稱式加密方法。故選 4。
假設x 為一整數變數,且x 已有初始值若有一C 程式片段如下,請問其執行效果等同下列
何者?
1. i f ( ( x >5 ) & & ( x <10 ) ) x = 2 ;
2. i f ( ( x >5 ) | | ( x <10 ) ) x = 0 ;
3. i f ( x <10 ) x = 2 e l s e i f ( x <5 ) x = 0 ;
4. i f ( x <10 ) x = 2 e l s e i f ( x >5 ) x = 0 ; 。
答案:(4) i f ( x <10 ) x = 2 e l s e i f ( x >5 ) x = 0 ;
解析:原片段的效果是:x 小於 10 時令 x = 2,否則令 x = 0。選項 4 先判斷 x < 10,成立就設 x = 2;不成立代表 x ≥ 10,此時 x > 5 必然成立,於是執行 x = 0,與原片段完全等價。選項 3 的 else if (x < 5) 在 x ≥ 10 時條件不成立,x 不會被改成 0,行為不同;選項 1 要求 x 同時大於 5 且小於 10,只在該區間內才設為 2,範圍也被縮小。故選 4。
在關聯式資料表(R e l a t i o n a l T a b l e s )的操作中,下列何者不會變更到資料庫狀態?
1. 新增
2. 查詢
3. 刪除
4. 修改。
答案:(2) 查詢
解析:在關聯式資料表的操作中,新增(INSERT)、刪除(DELETE)與修改(UPDATE)都會寫入或改動資料表的資料錄,屬於會變更資料庫狀態的異動操作;查詢(SELECT)只是依條件讀取資料並回傳結果集,不會新增、刪除或改寫任何資料錄,因此不會變更資料庫狀態。故選 2。
假設一個堆積( H e a p ) 共有n 個元素,在最壞的情形下,下列之描述何者是錯誤的?
1. 插入一個元素到H e a p ,其時間複雜度為θ ( l o g n )
2. 從M a x H e a p 找最大值,其時間複雜度為 θ ( l o g n )
3. 從M i n H e a p 刪除最小值,其時間複雜度為θ ( l o g n )
4. 從M a x H e a p 找最小值,其時間複雜度為θ ( n ) 。
答案:(2) 從M a x H e a p 找最大值,其時間複雜度為 θ ( l o g n )
解析:Max Heap 的最大值必定位於根節點,直接讀取根即可取得,時間複雜度為 θ(1),因此第 2 項敘述錯誤。插入元素要放到陣列末端再向上調整,調整高度為 log n,故為 θ(log n);從 Min Heap 刪除最小值是取出根後把末元素移到根再向下調整,同樣為 θ(log n);在 Max Heap 中找最小值必須檢查沒有子節點的葉節點,最壞需掃描約 n/2 個節點,為 θ(n)。故選 2。
I P 位址的格式可區分為下列那一項?
1. 網路I D + 主機I D
2. 主機I D + 網路I D
3. 網路I D + M A C
4. M A C + 主機I D 。
答案:(1) 網路I D + 主機I D
解析:IPv4 位址長度為 32 位元,在分級網路架構下劃分為網路 ID 與主機 ID 兩部分:網路 ID 標示主機所屬的網路,主機 ID 標示該網路中的哪一部主機,兩者的分界由子網路遮罩決定。MAC 位址是資料連結層的實體位址,用來識別網路卡,並不屬於 IP 位址的組成格式。故選 1。
下列為含有五個運算元之運算式,此運算式是以前序追蹤( P r e 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. * * 1 * 23 * 45
2. * * 12 * * 345
3. * * * 12 * 345
4. * 1 * 2 * 3 * 45 。
答案:(4) * 1 * 2 * 3 * 45
解析:以運算樹的高度(最長路徑的節點層數)比較:第 4 項 * 1 * 2 * 3 * 45 的根為最左邊的 *,左運算元是 1,右邊再串接 * 2、* 3、* 45,形成一路向右延伸的鏈狀結構,路徑上共有 4 個運算子加 1 個運算元,高度為 5。第 1 項為 (* (* 1 (* 2 3)) (* 4 5)),高度 4;第 2 項為 (* (* 1 2) (* (* 3 4) 5)),高度 4;第 3 項為 (* (* (* 1 2) (* 3 4)) 5),高度 4。故選 4。
在結構化設計中,有關W H I L E c o n d i t i o n D O s t a t e m e n t 和R E P E A T s t a t e m e n t U N T I L c
o n d i t i o n 的敘述,下列那一項為正確?
1. W H I L E 敘述至少執行一次
2. R E P E A T 敘述至少執行一次
3. W H I L E 敘述至多執行一次
4. 兩者完全相同。
答案:(2) R E P E A T 敘述至少執行一次
解析:WHILE 是前測式迴圈,先判斷條件再決定是否進入迴圈本體;若第一次判斷就不成立,迴圈一次也不會執行,所以執行次數為 0 到多次。REPEAT…UNTIL(Java 的 do-while)是後測式迴圈,先執行本體再判斷條件,因此至少執行一次。選項1、3 都把判斷時機說反了;兩者判斷時機與最少執行次數不同,不可能完全相同。
一J a v a 程式片段如下,執行後y 值為何?
1. 10
2. 20
3. 25
4. 30 。
答案:(2) 20
解析:Java 變數的運算必須逐步追蹤:先看初始值,再依運算子優先順序(乘除先於加減、括號最優先)計算,最後才把結果指派給 y。此片段執行完畢後,y 所存放的數值為 20,而不是尚未運算的原始值 10,也不是迴圈多跑一輪才會得到的 25 或 30。作答時建議把每個變數在每一列的變化寫出來,避免把「初始值」誤當成「結果值」,也要注意前置或後置遞增運算子會改變取值時機。
規範一個物件在其生命週期中一系列狀態轉變,以及對外在事件的反應,可以使用U M L
的那一個圖形?
1. 狀態圖( S t a t e D i a g r a m )
2. 部署圖( D e p l o y m e n t D i a g r a m )
3. 類別圖( C l a s s D i a g r a m )
4. 互動圖( I n t e r a c t i o n D i a g r a m ) 。
答案:(1) 狀態圖( S t a t e D i a g r a m )
解析:狀態圖專門描述單一物件在生命週期中的各種狀態、狀態之間的轉移,以及哪些事件觸發轉移與伴隨的動作,正符合題意。部署圖描述節點等實體硬體與其元件的配置;類別圖描述類別、屬性、操作及彼此的靜態關係;互動圖(如循序圖、溝通圖)描述物件之間為完成用例而交換的訊息,重點在互動而非狀態。
快速排序法( Q u i c k S o r t ) 可用下列何種策略來解題?
1. 各個擊破法( D i v i d e a n d C o n q u e r )
2. 動態規劃( D y n a m i c P r o g r a m m i n g )
3. 貪婪法( G r e e d y )
4. 分支與限制法( B r a n c h a n d B o u n d ) 。
答案:(1) 各個擊破法( D i v i d e a n d C o n q u e r )
解析:快速排序採用各個擊破法:先選一個基準值(pivot),經分割(partition)把比基準小的元素放左邊、大的放右邊,再對左右兩個子數列分別遞迴做同樣的事,最後即完成排序,平均時間複雜度 O(n log n)。動態規劃適用於具有重疊子問題的題目(如背包問題);貪婪法每步取區域最佳解;分支與限制法則用於組合最佳化並以界限剪枝。
第50題
在關聯式資料庫中,下列何者不一定是一種關聯表?
1. 基底關聯表( B a s e R e l a t i o n s )
2. 觀點 ( V i e w s )
3. 查詢結果( Q u e r y R e s u l t )
4. 關係類型( R e l a t i o n s h i p T y p e s ) 。
答案:(4) 關係類型( R e l a t i o n s h i p T y p e s )
解析:關聯式資料庫中,基底關聯表、檢視表(View,由查詢定義的虛擬關聯)、查詢結果皆具有欄位與元組的表結構,皆屬關聯。而「關係類型(Relationship Types)」是 ER 模型或資料綱要中描述實體間如何關聯的「型態/定義」,屬於 metadata 層級的規格,本身不是一張可查詢的關聯表,故答案 4。
第51題
河內塔( T o w e r o f H a n o i ) 問題中,欲搬動n 個套環,最少必須移動幾次?
1. n
2. n ( n + 1 ) / 2
3.
4. 。
答案
甲公司受僱人A 於職務上研究或開發之營業秘密,契約未約定時,歸何人所有?
1. 歸甲公司所有
2. 歸受僱人A 所有
3. 歸受聘人所有
4. 歸出資人所有。
答案:(1) 歸甲公司所有
解析:依《營業秘密法》第3條第1項規定,受雇人於職務上研究或開發之營業秘密,除契約另有約定外,歸雇用人所有,故本題歸甲公司。同條第2項另規範出資聘請他人研究或開發的情形,契約未約定時歸受聘人所有,但出資人得於業務上使用。選項3、4 屬於出資聘請關係的用語,與本題的僱傭關係不同。
第53題
安全門或緊急出口平時應維持何狀態?
1. 門可上鎖但不可封死
2. 保持開門狀態以保持逃生路徑暢通
3. 門應關上但不可上鎖
4. 與一般進出門相同,視各樓層規定可開可關。
答案:(3) 門應關上但不可上鎖
針對以下J A V A 程式,將執行期斷言( a s s e r t i o n ) 開啟,執行後下列何者為其輸出?
1. i = 10
2. i = 9
3. i = 11
4. E x c e p t i o n i n t h r e a d " m a i n " j a v a . l a n g . A s s e r t i o n E r r o r : i = 10 a t A s s . m a i n ( A s s . j a v a : 6 ) 。
答案:(4) E x c e p t i o n i n t h r e a d " m a i n " j a v a . l a n g . A s s e r t i o n E r r o r : i = 10 a t A s s . m a i n ( A s s . j a v a : 6 )
解析:執行時加上 -ea(enableassertions)參數,assert 述句才會生效。程式中斷言條件 i == 9 不成立(當時 i 的值為 10),JVM 便拋出 AssertionError,並附上冒號後的訊息「i = 10」,堆疊追蹤指出發生在 Ass.main 第 6 行,程式隨即終止。若未開啟斷言,assert 會被整段略過,才可能只印出 i 的值;選項1~3 都忽略了斷言失敗會中斷程式。
下列何種編碼具有錯誤更正的能力?
1. 同位元 ( P a r i t y B i t )
2. 漢明碼 ( H a m m i n g C o d e )
3. B C D 碼
4. E B C D I C 碼。
答案:(2) 漢明碼 ( H a m m i n g C o d e )
解析:漢明碼在資料位元之間插入多個檢查位元,每個檢查位元負責不同的位元組合,接收端比對後可定出錯誤位元的二進位位置,因此具有更正單一錯誤位元的能力。同位元只有一個檢查位元,僅能偵測奇偶性是否錯誤,無法定位、也無法更正。BCD 與 EBCDIC 只是數值或字元的表示編碼,本身不含任何檢查或更正機制。
在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 ) 中,s d 運算子意義是
以下那一個?
1. 同一時間只能有一個執行緒( T h r e a d ) 執行
2. 只要條件為真的情況就會被執行
3. 所有架構平行執行
4. 表示另外一個循序圖架構。
答案:(4) 表示另外一個循序圖架構
解析:循序圖的互動架構(Interaction Frame)左上角運算子決定框內片段的意義。sd(sequence diagram)表示此片段引用另一個循序圖,相當於把另一張循序圖的互動內容在此展開,達到重用與模組化。alt 或 opt 表示依條件選擇執行,par 表示各片段平行執行,critical 表示同一時間只能有一個執行緒進入;選項1 對應 critical,選項2 對應 alt 或 opt,選項3 對應 par。
資料流程圖( D F D ) 的符號不包含下列何者?
1. 資料流程
2. 資料的儲存處
3. 控制流程
4. 處理程序。
答案:(3) 控制流程
解析:DFD(資料流程圖)用來描述系統中資料的流動、處理與儲存,基本符號包括處理程序、資料流、資料儲存處及外部實體。控制流程是在描述程式或作業的執行先後、分支與迴圈,屬於流程圖的概念,並非 DFD 的組成符號;選項1、2、4皆為DFD常見元素。因此答案為3。
J a v a 語言宣告陣列i n t x [ 100 ] ,下列何者為最小索引值?
1. - 1
2. 0
3. 1
4. 2 。
答案:(2) 0
解析:Java 陣列採用從 0 開始的索引,宣告 int x[100] 後,合法索引範圍是 0 到 99,共 100 個元素。因此最小索引值為 0;-1 會造成 ArrayIndexOutOfBoundsException,而 1、2 雖合法但不是最小值。Java 通常寫成 int[] x = new int[100]。答案為2。
下列何者非為防範有害物食入之方法?
1. 有害物與食物隔離
2. 不在工作場所進食或飲水
3. 常洗手、嗽口
4. 穿工作服。
答案:(4) 穿工作服
解析:防範有害物食入應從阻斷口入途徑著手:有害物與食物隔離、工作場所不進食飲水、勤洗手及漱口,都能減少有害物被吞入。工作服主要在保護身體、衣物或避免汙染產品,並非防止食入的手段;即使穿著工作服,若未洗手仍可能經手口途徑攝入有害物。因此選4。
第60題
對於吹哨者保護規定,下列敘述何者有誤?
1. 事業單位不得對勞工申訴人終止勞動契約
2. 勞動檢查機構受理勞工申訴必須保密
3. 為實施勞動檢查,必要時得告知事業單位有關勞工申訴人身分
4. 任何情況下,事業單位都不得有不利勞工申訴人之行為。
答案:(3) 為實施勞動檢查,必要時得告知事業單位有關勞工申訴人身分
下列有關函數式程式語言( F u n c t i o n a l P r o g r a m m i n g L a n g u a g e ) 的敘述,那些為正確?
1. 透過函數結構、迴圈及條件式來進行函數操作
2. 以函數建立程式
3. 函數的值完全由參數值決定
4. 相同的參數值呼叫函數時,會產生相同的函數值。
答案:(2) 以函數建立程式、(3) 函數的值完全由參數值決定、(4) 相同的參數值呼叫函數時,會產生相同的函數值
解析:函數式程式設計以函數為核心,強調函數組合、遞迴與高階函數,通常避免可變狀態與迴圈,因此敘述1把迴圈列為主要操作並不典型。敘述2以函數建立程式正確;敘述3、4描述純函數特性:輸出完全由參數決定,相同參數必得相同結果。故選2、3、4。
第62題
在軟體系統開發中,下列那些為U M L 類別之屬性的可視性?
1. 公開的( P u b l i c )
2. 私有的( P r i v a t e )
3. 限制的( L i m i t e d )
4. 保護的( P r o t e c t e d ) 。
答案:(1) 公開的( P u b l i c )、(2) 私有的( P r i v a t e )、(4) 保護的( P r o t e c t e d )
解析:UML類別屬性的可視性符號有三種:+(public公開)、-(private私有)、#(protected保護)。另包含~(package套件)但非題目選項。「Limited」非UML標準可視性關鍵字。故正確選項為1、2、4。
關聯式代數( 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 ) 共有五個操作,其他操作可以
由此完整集合實作出來,請問以下的操作那些屬於完整集合?
1. M I N U S ( -)
2. D I V I S I O N ( ÷ )
3. I N T E R S E C T I O N ( ∩)
4. P R O D U C T ( × ) 。
答案:(1) M I N U S ( -)、(4) P R O D U C T ( × )
解析:關聯式代數的完整(基本)集合為選擇、投影、聯集、差集與笛卡兒乘積,其他運算可由這五個推導。MINUS 即差集,PRODUCT 即笛卡兒乘積,兩者都屬基本運算;INTERSECTION 可用 R−(R−S) 表示,DIVISION 也能由投影、乘積與差集組合出來。故選1、4。
第64題
J a v a 語言程式設計師釋放不用的記憶體空間的方法,下列那些正確?
1. 使用d e l e t e 來釋放記憶體
2. 使用S y s t e m . g c ( ) 來釋放記憶體
3. 使用f r e e 來釋放記憶體空間
4. 不用管它,編譯器會自動處理。
答案:(1) 使用d e l e t e 來釋放記憶體、(2) 使用S y s t e m . g c ( ) 來釋放記憶體
下列有關M P E G 的敘述,那些是錯誤的?
1. m p 3 是M P E G - 3 的縮寫
2. M P E G 是非破壞性編碼技術
3. M P E G 編碼使用D C T ( D i s c r e t e C o s i n e T r a n s f o r m ) 進行壓縮
4. 視訊畫面動作越大,M P E G 壓縮效果越好。
答案:(1) m p 3 是M P E G - 3 的縮寫、(2) M P E G 是非破壞性編碼技術、(4) 視訊畫面動作越大,M P E G 壓縮效果越好
解析:MP3 是 MPEG-1 Audio Layer III 的簡稱,並非 MPEG-3,故1錯誤。MPEG 採用破壞性(有損)壓縮,會捨棄人眼或人耳較不敏感的資訊,故2錯誤。MPEG 視訊確實以 DCT 進行區塊轉換與壓縮,3正確。畫面動作越大,畫面間預測越困難、時間冗餘越少,壓縮效果反而較差,故4錯誤。答案為1、2、4。
第66題
語言程式中,假設g 之值為11 (十進位),計算
之後,十位數
為m ,個位數為n ,下列那些是正確的?
1. m + n = 9
2. m × n = 0
3. n / m = 2
4. m + 2 n = 15 。
答案:(1) m + n = 9、(2) m × n = 0
第67題
下列那些不是P H P 中用以定義類別常數的關鍵字?
1. p a r e n t
2. c l a s s
3. c o n s t
4. a b s t r a c t 。
答案:(1) p a r e n t、(2) c l a s s、(4) a b s t r a c t
解析:PHP定義類別常數使用關鍵字「const」(選項3正確,故非答案)。parent、class、abstract分別用於父類別參考、類別宣告、抽象類別/方法,皆非定義常數關鍵字。故1、2、4為非定義常數關鍵字。
有關於軟體驗證( V e r i f i c a t i o n ) 與軟體確認( V a l i d a t i o n ),下列那些敘述是正確的?
1. 驗證是要確保以正確的方式開發軟體,在開發階段中,評估產出是否符合此階段開始前所定義之條件,和檢查產出的一致性
2. 確認是要確保開發出正確的軟體,可以符合客戶的需求
3. 驗證是要測試所開發軟體是否可以符合客戶的需求
4. 確認是要測試軟體規格是否正確一致, 沒有錯誤。
答案:(1) 驗證是要確保以正確的方式開發軟體,在開發階段中,評估產出是否符合此階段開始前所定義之條件,和檢查產出的一致性、(2) 確認是要確保開發出正確的軟體,可以符合客戶的需求
解析:軟體驗證確認產品是否依規範正確建構(Are we building the product right?),涵蓋選項1所述的開發階段產出一致性檢查;軟體確認則確認產品是否符合使用者真實需求(Are we building the right product?),對應選項2。選項3將確認的定義錯置於驗證,選項4將驗證的定義錯置於確認,兩者定義互換錯誤。
下列那些項目不屬於特種個資?
1. 財務情況
2. 犯罪前科
3. 健檢資料
4. 社會活動。
答案:(1) 財務情況、(4) 社會活動
解析:依個資法第6條,特種個資包含醫療、健康(選項3健檢資料)、犯罪前科(選項2)、基因、生物特徵、健康檢查、醫療、犯罪前科等。財務情況與社會活動未列入特種個資範圍,屬一般個資。
「穩定排序法」( S t a b l e S o r t ) 是指一個排序法,在輸入資料中有多筆相同資料時,於排序
前與排序後,任兩筆相同的資料前後順序不變,下列那些是穩定排序法?
1. B u b b l e S o r t
2. S h e l l S o r t
3. S e l e c t i o n S o r t
4. M e r g e S o r t 。
答案:(1) B u b b l e S o r t、(4) M e r g e S o r t
解析:Bubble Sort 以相鄰元素交換,相同元素不交換順序,屬穩定;Merge Sort 合併時若左右子陣列元素相等,優先取左側元素,保持原序,屬穩定。Shell Sort 間隔排序會打亂相同元素相對順序;Selection Sort 交換最小值至最前端,可能使相同元素順序改變,兩者皆不穩定。
有關藍牙( B l u e t o o t h ) 技術的敘述,下列那些正確?
1. 是一種高速無線傳輸的技術
2. 耗電量相當低
3. 已經納入為I E E E 的標準之一
4. 適合室內近距離傳輸。
答案:(2) 耗電量相當低、(3) 已經納入為I E E E 的標準之一、(4) 適合室內近距離傳輸
解析:Bluetooth 為 IEEE 802.15.1 標準(選項3正確),設計為低功耗(選項2正確),傳輸距離約 10 公尺內,適用室內近距離(選項4正確)。其傳輸速率早期僅 1 Mbps,後續版本雖提升但仍不屬高速無線傳輸技術,選項1錯誤。
第72題
以相鄰矩陣( 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. 節點A 至節點C 之最短路徑之長度為3
2. 節點A 至節點D 之最短路徑之長度為4
3. 節點A 至節點E 之最短路徑之長度為3
4. 節點 A 至節點F 之最短路徑之長度為6 。
答案:(1) 節點A 至節點C 之最短路徑之長度為3、(2) 節點A 至節點D 之最短路徑之長度為4、(3) 節點A 至節點E 之最短路徑之長度為3
第73題
以下那些是正確的關聯式資料庫設計概念?
1. 盡量將多個相關的不同實體( E n t i t y ) 放在同一個表格中以提升資料查詢的效率
2. 盡量避免產生重複資料( R e d u n d a n t ),以避免發生更新異常( U p d a t e A n o m a l y )
3. 盡量避免設計出會經常產生N U L L 值的欄位
4. 盡量不要將主要鍵( P r i m a r y K e y ) 和外來鍵( F o r e i g n K e y ) 作J O I N 的操作,以避免產生錯誤資料。
答案:(2) 盡量避免產生重複資料( R e d u n d a n t ),以避免發生更新異常( U p d a t e A n o m a l y )、(3) 盡量避免設計出會經常產生N U L L 值的欄位
解析:關聯式資料庫正規化原則:2.避免資料重複可防止更新異常(刪除/插入/修改異常),為核心目標;3.避免NULL值欄位可減少外連接複雜度與語意模糊。1.將不同實體混放違反第一正規式;4.PK與FK JOIN是關聯查詢基本操作,非錯誤來源。
第74題
下列那些是P H P 字串表示方式?
1.
2.
3.
4. 。
答案
有關於J a v a 程式語言,下列那些敘述是正確的?
1. 子類別( S u b c l a s s ) 可以繼承父類別( S u p e r C l a s s ) 中的建構子( C o n s t r u c t o r ) ,但是不能直接呼叫它們
2. 子類別可以繼承父類別中的p r o t e c t e d 屬性資料,而且可以直接存取( A c c e s s ) 它們的值
3. 子類別可以繼承父類別中的p r i v a t e 屬性資料,但不能直接存取它們的值,只能透過由父類別繼承而來的方法( M e t h o d ) 來存取它們的值
4. 父類別的變數可以指向子類別的物件,子類別的變數也可以指向父類別的物件。
答案:(2) 子類別可以繼承父類別中的p r o t e c t e d 屬性資料,而且可以直接存取( A c c e s s ) 它們的值、(3) 子類別可以繼承父類別中的p r i v a t e 屬性資料,但不能直接存取它們的值,只能透過由父類別繼承而來的方法( M e t h o d ) 來存取它們的值
解析:Java 子類別不繼承父類別建構子(選項1錯),僅可透過 super() 呼叫。protected 成員子類別可直接存取(選項2正確)。private 成員子類別不可直接存取,必須透過父類別提供的 public/protected 方法間接存取(選項3正確)。父類別參考可指向子類別物件(多型),但子類別參考不可指向父類別物件(選項4錯)。
第76題
J a v a 語言程式如下,以下那些存取修飾子可以合法置於註解 / * h e r e * / 之處?
1. p r i v a t e
2. p r o t e c t e d
3. f r i e n d
4. 不需加修飾子。
答案:(2) p r o t e c t e d、(4) 不需加修飾子
解析:題目考察 Java 介面(interface)中方法的存取修飾子規則。Java 介面中的方法預設為 public abstract,允許的修飾子只有 public、default、static、private(Java 9+ 私有方法)、以及無修飾子(package-private,僅限非介面情境)。選項 2 protected 在介面方法中不合法;選項 3 friend 為 C++ 關鍵字,Java 無此修飾子;選項 1 private 僅能用於介面的私有靜態/實例方法(Java 9+),但題目註解處通常指一般方法宣告位置,私有方法需有方法本體,介面傳統抽象方法不可私有。選項 4 不需加修飾子:介面方法若不寫修飾子,編譯器隱含加上 public abstract,語法合法。綜合考題脈絡(傳統介面抽象方法),合法者為 protected 不合法、friend 不存在、private 不合法、無修飾子合法。故正確答案為 2、4。
下列那些是屬於O S I 參考模型( O S I R e f e r e n c e M o d e l ) 的應用層( A p p l i c a t i o n L a y e r ) ?
1. T C P
2. U D P
3. T E L E N T
4. F T P 。
答案:(3) T E L E N T、(4) F T P
解析:OSI 參考模型共七層,由上而下為應用層、表現層、會話層、傳輸層、網路層、資料鏈結層、實體層。TELNET(遠端登入)與 FTP(檔案傳輸)都是使用者直接使用的網路服務協定,屬於最上層的應用層。TCP 與 UDP 提供端點之間的連線導向或非連線導向傳輸,屬於第四層傳輸層,并非應用層。辨別方式:協定若直接對應使用者應用(登入、傳檔、瀏覽、郵件),即歸類為應用層。
第78題
有關E R M o d e l 中的弱實體型態( W e a k E n t i t y T y p e ) ,以下的敘述那些為正確?
1. 弱實體必須依賴其他的實體才能存在
2. 弱實體本身可以單獨存在,也可以有單獨的鍵值屬性
3. 弱實體型態所產生表格的主要鍵( P r i m a r y K e y ) 必定為複合屬性( C o m p o s i t e )
4. 弱實體不可以與其他弱實體有關係( R e l a t i o n s h i p ) 的連結。
答案:(1) 弱實體必須依賴其他的實體才能存在、(3) 弱實體型態所產生表格的主要鍵( P r i m a r y K e y ) 必定為複合屬性( C o m p o s i t e )
解析:弱實體型態(Weak Entity Type)沒有足夠的鍵值屬性可自我識別,必須依附在強實體(Owner Entity)上,透過識別關係(Identifying Relationship)才能存在,故第1項正確、第2項錯誤。它只有部分鍵(Partial Key),轉成資料表時,主鍵必須由「強實體的主鍵」加上「弱實體的部分鍵」共同組成,因此必然是複合鍵(Composite Key),第3項正確。ER 模型中並未限制弱實體不能與其他實體(含其他弱實體)建立關係,第4項錯誤。
下列有關分支度( O r d e r ) 為256 的B - t r e e 之描述,那些是正確的?
1. 當有1001000 筆紀錄存在一個分支度( O r d e r ) 為256 的B - t r e e 中,最壞之情形只須3 次存取( A c c e s s ) 就可拿到所要的一筆紀錄
2. 每個節點最多可放256 個鍵值( K e y )
3. 樹根節點至少存放128 個鍵值
4. B - t r e e 的高度只有在樹根( R o o t ) 分裂( S p l i t ) 時,才有可能增高。
答案:(1) 當有1001000 筆紀錄存在一個分支度( O r d e r ) 為256 的B - t r e e 中,最壞之情形只須3 次存取( A c c e s s ) 就可拿到所要的一筆紀錄、(4) B - t r e e 的高度只有在樹根( R o o t ) 分裂( S p l i t ) 時,才有可能增高
解析:B-tree 階數 m=256,節點鍵值上限 255、下限 127(根節點除外),選項2「最多256個鍵值」與選項3「根節點至少128個鍵值」均錯誤。高度 h 滿足 N ≤ (m/2)^(h-1) * (m-1);1,001,000 筆資料在 m=256 時高度最多 3,最壞存取 3 次(選項1正確)。B-tree 高度僅在根節點分裂時增加(選項4正確)。
有關於資料庫綱要( D a t a b a s e S c h e m a ) 與資料庫狀態( D a t a b a s e S t a t e ) ,以下的敘述那些為
正確?
1. 資料庫綱要描述資料庫表格的欄位結構與資料型態
2. 資料庫綱要是儲存於資料庫的資料( T u p l e )
3. 資料庫綱要經常改變,資料庫狀態較少改變
4. 資料庫綱要較少改變,資料庫狀態經常改變。
答案:(1) 資料庫綱要描述資料庫表格的欄位結構與資料型態、(4) 資料庫綱要較少改變,資料庫狀態經常改變
解析:「資料庫綱要(Schema)」描述資料庫的邏輯結構,包含表格名稱、欄位名稱、資料型態與限制等「結構」資訊,故選項1正確。實際儲存於資料庫的資料記錄(Tuple/列)屬於「資料庫狀態(State)」,會隨交易頻繁變動,故選項2錯誤。綱要於設計階段定義完成後多半固定,修改結構(如ALTER TABLE)屬少見作業;而狀態因每日新增、修改、刪除而經常變動,故選項4正確、選項3錯誤。可比喻:綱要是「表格設計圖」,狀態是「表格目前的資料內容」。