第1題
假設有一分支度(Order)為17 之B-tree,下列敘述何者是正確? 1. 若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個 2. 樹根節點至少有9 個子節點 3. 樹根節點至少有8 個鍵值(Key) 4. 若此B-tree 之高度為3(共3 層),則鍵值總數最少的情形為108 個。
答案:(1) 若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個
民國114年 第2梯次 11901 電腦軟體設計(JAVA)乙級 學科歷屆試題與答案,共 80 題可線上瀏覽,適合查詢考古題、題庫與解答。
假設有一分支度(Order)為17 之B-tree,下列敘述何者是正確? 1. 若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個 2. 樹根節點至少有9 個子節點 3. 樹根節點至少有8 個鍵值(Key) 4. 若此B-tree 之高度為3(共3 層),則鍵值總數最少的情形為108 個。
答案:(1) 若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個
下列何者在Java 語言中視為false? 1. -1 2. 0 3. -100 4. 1。
答案:(2) 0
解析:Java 中 boolean 僅有 true/false,整數不可直接當布林值。但在 C 風格語境下 0 視為 false,其餘非 0 視為 true。題目詢問「視為 false」,單選題下 0 為公認對應值,故選項2正確。
下列有關UML 聚合(Aggregation) 、 組合(Composition)、 關聯(Association)等三種關係的強烈程 度,何者為真? 1. 聚合> 關聯> 組合 2. 組合> 聚合> 關聯 3. 關聯> 聚合> 組合 4. 聚合 > 組合> 關聯。
答案:(2) 組合> 聚合> 關聯
解析:UML 關係強度由強到弱依序為:Composition(組合,生命週期綁定,不可分離)> Aggregation(聚合,整體-部分,可分離)> Association(關聯,一般連結關係)。選項 2 正確表達此順序。
有關著作權的敘述,下列何者錯誤? 1. 我們到表演場所觀看表演時,不可隨便錄音或錄影 2. 高普考試題,不受著作權法保護 3. 網路上供人下載的免費軟體,都不受著作權法保護,所以我可以燒成大補帖光碟,再去賣給別人 4. 到攝影展上,拿相機拍攝展示的作品,分贈給朋友,是侵害著作權的行為。
答案:(3) 網路上供人下載的免費軟體,都不受著作權法保護,所以我可以燒成大補帖光碟,再去賣給別人
在UML 類別圖(Class Diagram)中,類別沒有自己直接的實例(Instances),稱為下列何者? 1. 空白類別(Empty Class) 2. 間接類別(Indirect Class) 3. 不完全類別(Incomplete Class) 4. 抽象類別 (Abstract Class)。
答案:(4) 抽象類別 (Abstract Class)
UML 組合(Composition)關係與組成部分有其生命延展關係,下列敘述哪一個正確? 1. 可分離, 子類別不可單獨存在 2. 不可分離,子類別可單獨存在 3. 可分離,子類別可單獨存在 4. 不可分離,子類別不可單獨存在。
答案:(4) 不可分離,子類別不可單獨存在
以下對於Java 程式的main method 的描述,何者正確? 1. 一個String 參數 2. 一個String 陣列參數 3. 回傳值資料型態不可以是void 4. 沒有參數。
答案:(2) 一個String 陣列參數
解析:Java 程式進入點 main 方法簽名固定為 public static void main(String[] args),參數為 String 陣列,回傳 void。選項2正確。
Java 語言中限定一個主體區塊,使用以下哪一種符號? 1. /**/ 2. () 3. "" 4. {}。
答案:(4) {}
有關Java 處理I/O 的敘述,下述何者正確? 1. 開啟二元檔以寫入資料可以使用PrintWriter 和 FileOutputStream 建構子 2. 能做輸出資料到一個檔案或從另一個檔案輸入資料 3. 檔案無法開啟時會產生FileNotCreatedException 錯誤 4. 不需用到import java.io.*指令。
答案:(2) 能做輸出資料到一個檔案或從另一個檔案輸入資料
解析:Java 的 I/O 以資料流為核心,程式可透過輸出流把資料寫入檔案,也可透過輸入流從檔案讀取資料,因此選項2正確。選項1中 PrintWriter 屬於字元導向的輸出類別,處理二元檔應改用 FileOutputStream、DataOutputStream 等位元組流。選項3當檔案無法開啟時,Java 擲出的是 FileNotFoundException(IOException 的子類),並無 FileNotCreatedException 這個例外類別。選項4凡使用 java.io 套件中的類別,仍須以 import java.io.* 或個別 import 引入,否則編譯失敗。
基於節能減碳的目標,下列何種光源發光效率最低,不鼓勵使用? 1. 省電燈泡 2. 螢光燈管 3. 白熾燈泡 4. LED 燈泡。
答案:(3) 白熾燈泡
解析:發光效率是指每消耗 1 瓦電能所能產生的光通量(lm/W)。白熾燈泡靠鎢絲通電加熱發光,大部分電能轉為熱能散失,發光效率僅約 10~15 lm/W,最為耗電。螢光燈管與省電燈泡(緊湊型螢光燈)約 50~80 lm/W,LED 燈泡可達 100 lm/W 以上,效率最高。基於節能減碳目標,白熾燈泡效率最低,各國多以法規逐步淘汰,因此不鼓勵使用,選項3正確。
下列CPU 排班程式(Scheduler),哪一項於時間配額用完時會進入預備佇列(Ready Queues)中? 1. 最高反應率的工作先服務(Highest-Response-Ratio-Next) 2. 最短工作先服務(Shortest-Job-First) 3. 剩餘最短的工作先服務(Shortest-Remaining-Time-First) 4. 多層回饋佇列(Multi-level-Feedback- Queue)。
答案:(4) 多層回饋佇列(Multi-level-Feedback- Queue)
解析:多層回饋佇列(Multi-level Feedback Queue)以「時間配額(time quantum)」為核心機制,工作若在配額內未執行完,會被強制搶占,並放回優先權較低的預備佇列等待下次排班,故選項4正確。SJF 依執行時間長短挑選工作,不會因時間配額被踢回;SRTF 雖為搶占式,但搶占原因是出現剩餘時間更短的新工作,而非配額用完;HRRN 屬非搶占式,依反應率挑選。三者皆不以時間配額作為放回預備佇列的依據。
外食自備餐具是落實綠色消費的哪一項表現? 1. 回收再生 2. 降低成本 3. 重複使用 4. 環保選購。
答案:(3) 重複使用
依職業安全衛生設施規則規定,下列何者非屬使用合梯,應符合之規定? 1. 梯腳與地面之角度應在80 度以上 2. 合梯應具有堅固之構造 3. 有安全之防滑梯面 4. 合梯材質不得有顯著之損傷、腐蝕等。
答案:(1) 梯腳與地面之角度應在80 度以上
有關TCP/IP 通訊協定的敘述,下列哪一項是錯誤的? 1. IP 是Internet Protocol 的簡稱 2. TCP 是非連接(Connectionless)導向的協定 3. TCP/IP 是網際網路的通訊協定 4. TCP 通訊協定相對於OSI 通訊協定中的第四層。
答案:(2) TCP 是非連接(Connectionless)導向的協定
解析:TCP 是連接導向(connection-oriented)協定,通訊前須先以三向握手建立連線,傳輸中提供序號、確認與重傳機制,確保資料可靠送達;非連接(connectionless)導向的是 UDP。因此選項2的敘述錯誤,為本題答案。IP 為 Internet Protocol 的簡稱;TCP/IP 是網際網路所採用的通訊協定組;TCP 對應 OSI 七層架構中的第四層(傳輸層),故選項1、3、4的敘述皆正確。
下列仿C 的程式片段,執行結果輸出為何者? 1. yx 2. xyzy 3. xyzx 4. yzy。
答案:(2) xyzy
依勞工職業災害保險及保護法規定,勞工職業災害保險以下列何者為保險人,辦理保險業務? 1. 財團法人職業災害預防及重建中心 2. 勞動部職業安全衛生署 3. 勞動部勞工保險局 4. 勞動部勞動基金運用局。
答案:(3) 勞動部勞工保險局
依經濟部能源署「指定能源用戶應遵行之節約能源規定」,在正常使用條件下,公眾出入之場所 其室內冷氣溫度平均值不得低於攝氏幾度? 1. 22 2. 26 3. 24 4. 25。
答案:(2) 26
解析:依經濟部能源署「指定能源用戶應遵行之節約能源規定」,公告指定之能源用戶,其公眾出入場所(如百貨公司、量販店、便利商店、銀行、餐廳等)在正常使用條件下,室內冷氣溫度平均值不得低於攝氏 26 度,以避免過度冷房浪費能源。因此選項2正確。22 度、24 度、25 度皆低於規範下限,屬於超冷設定,不符合節約能源規定。
字母"B"的ASCII 碼以二進位表示為"01000010",若電腦傳輸內容為"101000010",以便檢查該字 母的正確性,則下列敘述何者正確? 1. 不做任何正確性的檢查 2. 使用二進位數檢查 3. 使用奇數同位元檢查 4. 使用偶數同位元檢查。
答案:(3) 使用奇數同位元檢查
解析:字母 B 的 ASCII 碼為 01000010,其中位元 1 的個數為 2 個(偶數)。傳輸內容 101000010 共 9 位元,最左位為同位元,資料部分仍為 01000010,同位元為 1,使整組位元中 1 的個數成為 3 個(奇數);接收端據此檢查 1 的個數是否為奇數,故採用奇數同位元檢查,選項3正確。若採偶同位元,同位元應為 0 才能維持偶數個 1;此處也不是僅做二進位數值比對,更非完全不檢查。
C/C++ 語言中限定一個主體區塊,使用下列何種符號? 1. " " 2. ( ) 3. { } 4. /* */。
答案:(3) { }
下圖分支度(Order)為3 之B-tree,下列敘述何者是正確的? 1. 插入鍵值(Key)10 於原始B-tree, 則此B-tree 之節點共有1 次分裂(Split) 2. 插入鍵值(Key)60 於原始B-tree,則鍵值56 是放在根 (Root)節點內 3. 插入鍵值(Key)55 於原始B-tree,則此B-tree 之節點共有1 次分裂(Split) 4. 插入鍵值(Key)50 於原始B-tree,則此B-tree 之高度會增加。
答案:(2) 插入鍵值(Key)60 於原始B-tree,則鍵值56 是放在根 (Root)節點內
對於功能相依性(Functional Dependency)的描述,下列何者有誤? 1. 多個功能相依性的表示法可以合併成一個功能相依圖(Functional Dependency Diagram) 2. 功能相依性是可用推演規則 (Inference Rules)來推導 3. 功能相依性可定義於多個關聯表(Relational Table)上 4. 若A 是關聯表 R 的一個候選鍵(Candidate Key),則每個R 中的屬性都會功能相依於A。
答案:(3) 功能相依性可定義於多個關聯表(Relational Table)上
解析:功能相依性(Functional Dependency)描述的是「單一關聯表內」屬性之間的決定關係,例如 A→B 表示同一張表中 A 值相同則 B 值必相同;它不能橫跨多個關聯表來定義,跨表之間的對應是靠外部鍵與關聯聯結來表達,故選項 3 的敘述有誤,為本題答案。其餘敘述皆正確:多個功能相依性可整合繪成功能相依圖;可利用阿姆斯壯推演規則(Inference Rules)如反身律、增補律、遞移律推導出新的相依性;若 A 為候選鍵,則依候選鍵定義,R 中所有屬性都功能相依於 A。
有三位學生各設計一個演算法解決同一個問題,並以兩組不同資料量進行測試,測試結果如下: (i)若資料量n 為10,第一位學生演算法之執行時間為1ms、第二位學生演算法之執行時間為 1/100ms、第三位學生演算法之執行時間為1/1000ms(ii),若資料量n 為100,第一位學生演算法 之執行時間為10ms、第二位學生演算法之執行時間為1ms、第三位學生演算法之執行時間為 1ms,下列敘述何者是正確的? 1. 第三位學生演算法之時間複雜度為O(n 2) 2. 當資料量n 小於 1000 時,第二位之學生演算法較具效率 3. 第一位學生演算法之時間複雜度為O(log n) 4. 第二位學生演算法之時間複雜度為O(n log n)。
答案:(2) 當資料量n 小於 1000 時,第二位之學生演算法較具效率
解析:觀察資料量放大 10 倍時的成長:第一位由 1ms 變 10ms,同為 10 倍,複雜度為 O(n);第二位由 0.01ms 變 1ms,放大 100 倍,約為 O(n²);第三位由 0.001ms 變 1ms,放大 1000 倍,約為 O(n³)。故選項1(第三位為 O(n²))、選項3(第一位為 O(log n))、選項4(第二位為 O(n log n))皆不符。第二位與第一位比較,令 n²/10000 < n/10,可得 n < 1000,即資料量小於 1000 時第二位較具效率,選項2正確。
有關UML 的敘述何者正確? 1. 是一種第三代程式語言 2. 是適用於特殊領域 3. 到目前只有 UML1 4. 是一種塑模語言。
答案:(4) 是一種塑模語言
解析:UML(Unified Modeling Language)中文稱統一塑模語言,用途是以圖形化方式描述、視覺化、建構與文件化軟體系統的結構與行為,本身是一種「塑模語言」,並非可直接執行的程式語言,因此不是第三代程式語言。它的應用涵蓋物件導向分析與設計的各類系統,並非只適用於特殊領域;規格也已演進至 UML 2.x,不是只有 UML1。故選 4。
有關電腦儲存資料所需記憶體的大小排序,下列何者正確? 1. 1GB>1MB>1TB>1KB 2. 1TB> 1KB>1MB>1GB 3. 1KB>1GB>1MB>1TB 4. 1TB>1GB>1MB>1KB。
答案:(4) 1TB>1GB>1MB>1KB
解析:記憶體容量單位以 1024 進位:1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024GB,所以由大到小的排序為 1TB>1GB>1MB>1KB。選項1雖以 GB 開頭,卻又把 TB 排在 MB 之後,次序矛盾;選項2把 KB 排在 MB、GB 之前,選項3更把 KB 視為最大,皆違反 1024 進位的層級關係。故選 4。
有關記憶體的敘述,下列何者「不正確」? 1. 在系統軟體中,透過軟體與輔助儲存體來擴展主記憶體容量,使數個大型程式得以同時放在主記憶體內執行的技術是虛擬記憶體(Virtual Memory) 2. 個人電腦上大都有Level 1(L1)及Level 2(L2)快取記憶體(Cache Memory),其中L1 快取的速度較快,但容量較小 3. CPU 中的暫存器執行速度比主記憶體快 4. 快取磁碟(Disk Cache)是利用記憶體中的快取記憶體(Cache Memory)來存放資料。
答案:(4) 快取磁碟(Disk Cache)是利用記憶體中的快取記憶體(Cache Memory)來存放資料
解析:磁碟快取(Disk Cache)是作業系統從主記憶體(RAM)中撥出一塊區域,暫存剛讀取或經常存取的磁碟區塊資料,以減少實體磁碟存取次數,並不是用 CPU 內部的快取記憶體(SRAM)來存放。其餘三項皆正確:虛擬記憶體以輔助儲存體擴充主記憶體的位址空間;L1 快取速度比 L2 快但容量較小;CPU 暫存器的存取速度高於主記憶體。故選 4。
有關Java 語言中變數和常數作用的敘述,下列何者錯誤? 1. 程式中可以操作、改變常數值 2. 常數存放固定數值,可以是整數,浮點,字串的資料型態 3. 變數用來存放資料,以利程式執行,可以是整數、浮點或字串的資料型態 4. 程式中可以操作及改變變數的值。
答案:(1) 程式中可以操作、改變常數值
解析:常數在 Java 中以 final 修飾(習慣再搭配 static 宣告為類別常數),一旦給定初值就不能再被重新指定或修改,否則編譯會失敗;常數可為整數、浮點、字串等型別。變數則用來存放資料,可自由讀取與改變其值,型別同樣可以是整數、浮點或字串。因此「程式中可以操作、改變常數值」的說法錯誤。故選 1。
以下Java 程式執行完後,輸出結果為何? 1. 0.0 2. 無法編譯,因為Shapes 類別設定為abstract 而無法產生Rectangle 物件 3. 無法編譯,因為Rectangle 類別沒有預設建構子 4. 無法編譯,因為 Shapes 物件不是Rectangle 類別。
答案:(3) 無法編譯,因為Rectangle 類別沒有預設建構子
解析:此題考察 Java 抽象類別與建構子規則。Shapes 為 abstract 類別,不能直接實例化,但可被 Rectangle 繼承。選項 2 錯誤:abstract 類別的子類別若非 abstract,可正常產生物件。選項 4 錯誤:多型允許父類別參考指向子類別物件。關鍵在於 Rectangle 若定義了帶參數的建構子,編譯器不會自動提供無參數預設建構子;若主程式嘗試 new Rectangle() 且 Rectangle 無無參數建構子,會導致編譯錯誤。選項 3 正確描述此編譯錯誤原因。
塑膠為海洋生態的殺手,所以政府推動「無塑海洋」政策,下列何項不是減少塑膠危害海洋生態 的重要措施? 1. 定期進行海水水質監測 2. 淨灘、淨海 3. 擴大禁止免費供應塑膠袋 4. 禁止製造、 進口及販售含塑膠柔珠的清潔用品。
答案:(1) 定期進行海水水質監測
有關一般建議的Java 程式寫作風格何者正確? 1. 全域常數命名以全大寫字母和底線區隔複合字 2. 指標變數命名以小寫p 開頭 3. 最好以動作命名方法(method) 4. 程式指令最好全部都往左對齊, 不要有任何空白縮排。
答案:(3) 最好以動作命名方法(method)
從事專業性工作,在服務顧客時應有的態度為何? 1. 選擇最安全、經濟及有效的方法完成工作 2. 為了降低成本,可以降低安全標準 3. 選擇工時較長、獲利較多的方法服務客戶 4. 不必顧及雇主和顧客的立場。
答案:(1) 選擇最安全、經濟及有效的方法完成工作
對於下列C/C++程式,何者敘述正確? 1. 若a[2][2]={{1, 2}, {3, 4}}及b[2][2]= {{1,0},{2,-3}}, 執行結束後c[2][2]= {{5,6}, {11,12}} 2. 將a 及b 兩矩陣相加後,儲存至c 矩陣 3. 若a 及b 均為 2x2 矩陣,最外層for 迴圈執行4 次 4. 若a 及b 均為2x2 矩陣,最內層for 迴圈執行8 次。
答案:(4) 若a 及b 均為2x2 矩陣,最內層for 迴圈執行8 次
解析:程式為三層巢狀迴圈,i、j、k 各由 0 跑到 1,最內層述句執行次數為 2×2×2=8 次,故選項4正確;最外層 i 迴圈只執行 2 次,不是4次。若為矩陣相乘,c[0][1]=a[0][0]×b[0][1]+a[0][1]×b[1][1]=1×0+2×(−3)=−6,c[1][1]=3×0+4×(−3)=−12,選項1的 6 與 12 正負號不符;本程式做的是相乘而非相加,選項2亦錯。
資料共有4096 筆,若採用二元搜尋法(Binary Search),最差情況下需搜尋幾次才能找到一筆已知 的資料? 1. 13 2. 12 3. 14 4. 11。
答案:(1) 13
關聯式資料表(Relational Table)R(A,B,C) ,A、B 二屬性均是單值(Single-Valued),C 屬性值 則為多值(Multi-Valued),則R 最多已做到哪一種Normal Form(NF)? 1. 不滿足任何正規化 2. 滿足第三正規化 3. 滿足第一正規化 4. 滿足第二正規化。
答案:(1) 不滿足任何正規化
解析:第一正規化(1NF)要求關聯表中每個屬性都只能是不可再分割的單值(atomic)。題目中 C 屬性是「多值」,同一個 (A,B) 對應多個 C,已違反 1NF 的基本要求,因此此資料表連第一正規化都不滿足。要改善必須把 C 拆到另一張表,例如 R1(A,B) 與 R2(A,C),讓每個欄位都是單值後才算達到 1NF。第二、第三正規化都必須建立在已滿足 1NF 的前提上,所以本題不可能已做到 2NF 或 3NF。
為了取得良好的水資源,通常在河川的哪一段興建水庫? 1. 下游 2. 下游出口 3. 上游 4. 中游。
答案:(3) 上游
用電熱爐煮火鍋,採用中溫50%加熱,比用高溫100%加熱,將同一鍋水煮開,下列何者是對 的? 1. 中溫50%加熱比較省電 2. 中溫50%加熱,電流反而比較大 3. 兩種方式用電量是一樣的 4. 高溫100%加熱比較省電。
答案:(3) 兩種方式用電量是一樣的
下列何種生活小習慣的改變可減少細懸浮微粒(PM2 .5)排放,共同為改善空氣品質盡一份心力? 1. 每天喝500cc 的水 2. 養成運動習慣 3. 使用吸塵器 4. 少吃燒烤食物。
答案:(4) 少吃燒烤食物
下列那一項不是資料鏈結層(Data Link Layer)主要功能? 1. 終點對終點資料傳輸 2. 流量控制 3. 錯誤更正 4. 鏈路建立與解除。
答案:(1) 終點對終點資料傳輸
解析:資料鏈結層(Data Link Layer)處理的是「相鄰兩個節點」之間的資料傳送,主要功能包括將位元組成框架(framing)、流量控制、錯誤偵測與更正、以及鏈路的建立與解除。至於「終點對終點(end-to-end)」的可靠傳輸、分段與重組,是傳輸層(Transport Layer)的職責,並非資料鏈結層的工作,因此選項 1 不是它的主要功能。選項 2、3、4 都是資料鏈結層公認的典型功能。
目的程式 (Object Program)經由下列哪一種處理而產生可執行程式? 1. Loader (載入程式) 2. Assembler (組合程式) 3. Interpreter (直譯程式) 4. Linker (連結程式)。
答案:(4) Linker (連結程式)
解析:編譯流程中,原始程式經編譯器產生目的程式(Object Program,內含目的碼與未解析的外部符號),必須再由連結程式(Linker)將它與所需的其他目的模組、系統函式庫合併,並完成符號位址的解析與重定位,才能產生可執行的執行檔。載入程式(Loader)是把已存在的執行檔載入記憶體並啟動執行,並不負責產生執行檔;組譯器處理的是組合語言;直譯器則是逐行翻譯並立即執行,不會產出獨立的目的程式。
有一整數序列26, 59, 77, 31, 51, 11, 19, 42 以Merge Sort 由小而大排序,第一階段(Pass)的合併 結果,下列何者是正確的? 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 的序列已完全由小到大排序,那是後續多階段合併完成後的結果,不是第一階段;其餘選項的兩兩合併結果與上述不符。
一Java 程式片段如下,執行後下列何者為其輸出? 1. [A, B, C, D] 2. [A, B, C, D, [A], [B]] 3. [A, B, C, D, [A, B]] 4. [A, B, C, D, A, B]。
答案:(3) [A, B, C, D, [A, B]]
解析:關鍵在於集合類別的 add 與 addAll 行為不同:add 是把傳入的物件當成「一個元素」放進串列,addAll 則是把另一個集合的元素逐一攤開加入。若程式先加入 A、B、C、D 等字串,之後再用 add 加入一個本身含有 A、B 的串列物件,該串列只佔一個元素位置,列印時會呼叫其 toString 而以中括號形式呈現,故輸出為 [A, B, C, D, [A, B]]。若改用 addAll,元素會被攤平,輸出就只會是 [A, B, C, D, A, B],與題意不符。
以下為一C 語言撰寫之遞迴函式(Recursive Function) ,假設N≧0,而此函式是用來計算0 至N 之間的所有整數之和,則空格中應填入以下何者? 1. return(N-1)+Sum(N-1) 2. while(N<> 0)return N+Sum(N+1) 3. return N+Sum(N-1) 4. return(N-1)+Sum(N)。
答案:(3) return N+Sum(N-1)
解析:遞迴必須同時具備終止條件與縮小問題規模的遞迴呼叫。計算 0 到 N 的整數和可表示為 Sum(N) = N + Sum(N-1),並在 N 等於 0 時回傳 0 作為終止條件,因此空格應填 return N+Sum(N-1)。選項 1 的 (N-1)+Sum(N-1) 會漏掉 N 且重複計算;選項 4 以相同的 N 呼叫自己,參數沒有縮小,會造成無窮遞迴;選項 2 混用 while 與 return,且 N+Sum(N+1) 使參數遞增,同樣無法收斂。
編譯程式(Compiler)將高階語言翻譯至可執行的過程中,下列何者是連結程式(Linker)負責連結的 標的? 1. 原始程式與可執行程式 2. 原始程式與目的程式 3. 目的程式與所需之副程式 4. 副程式與可執行程式。
答案:(3) 目的程式與所需之副程式
石綿最可能引起下列何種疾病? 1. 白指症 2. 巴金森氏症 3. 間皮細胞瘤 4. 心臟病。
答案:(3) 間皮細胞瘤
有關資訊系統安全措施,下列敘述何者「不正確」? 1. 加密保護機密資料 2. 網路公用檔案設定成「唯讀」 3. 使用者不定期更改密碼 4. 系統管理者統一保管使用者密碼。
答案:(4) 系統管理者統一保管使用者密碼
非公務機關利用個人資料進行行銷時,下列敘述何者錯誤? 1. 於首次行銷時,應提供當事人表示拒絕行銷之方式 2. 倘非公務機關違反「應即停止利用其個人資料行銷」之義務,未於限期內改正者,按次處新臺幣2 萬元以上20 萬元以下罰鍰 3. 若已取得當事人書面同意,當事人即不得拒絕利用其個人資料行銷 4. 當事人表示拒絕接受行銷時,應停止利用其個人資料。
答案:(3) 若已取得當事人書面同意,當事人即不得拒絕利用其個人資料行銷
解析:依個人資料保護法第20條,非公務機關利用個人資料行銷時,於首次行銷應提供當事人表示拒絕的方式,當事人表示拒絕後應即停止利用;這項拒絕權不因當事人先前曾書面同意而喪失,當事人隨時可以反悔並要求停止行銷,故選項 3 的敘述錯誤。違反停止行銷義務者,依同法罰則章的規定,可處新臺幣2萬元以上20萬元以下罰鍰並限期改正,屆期未改正者按次處罰,因此選項 2 的描述與規定相符。
物聯網(IoT)通訊物件通常具備移動性,為支援這樣的通訊特性,需求的網路技術主要為下列何 者? 1. 網格運算 2. 物件動態連結 3. 分散式運算 4. 跨網域運算能力。
答案:(2) 物件動態連結
下列仿C++程式片段之計算時間,何者正確? 1. θ(log n) 2. θ(n ) 3. θ(n log n) 4. θ(n 2)。
答案:(4) θ(n 2)
工廠或交通工具排放空氣污染物之檢查,下列何者錯誤? 1. 檢查人員以嗅覺進行氨氣濃度之判定 2. 檢查人員以嗅覺進行異味濃度之判定 3. 檢查人員以肉眼進行粒狀污染物不透光率之判定 4. 依中央主管機關規定之方法使用儀器進行檢查。
答案:(1) 檢查人員以嗅覺進行氨氣濃度之判定
下列何種服務可將Domain Name 對應為IP 位址? 1. DHCP 2. WINS 3. Proxy 4. DNS。
答案:(4) DNS
解析:DNS(Domain Name System,網域名稱系統)的主要功能,是將人類易讀的網域名稱(如 www.example.com)解析(對應)為電腦通訊所需的 IP 位址(如 93.184.216.34),因此本題選 DNS。其他選項:DHCP(動態主機設定通訊協定)負責自動分配 IP 位址給區域網路內的主機,並非名稱解析;WINS(Windows Internet Name Service)是微軟早期用來將 NetBIOS 名稱對應到 IP 的服務,非一般網際網路網域的名稱解析;Proxy(代理伺服器)是代替用戶端向外抓取資源的伺服器,與名稱對應無關。故正確答案為 DNS。
下列仿C 程式片段,若n=5,程式執行後回傳(Return)值為何? 1. 2 2. 3 3. 8 4. 5。
答案:(4) 5
解析:此題考察遞迴或迴圈回傳值計算。n=5 時,常見考題為費氏數列、階乘或特定數學函數。若為費氏數列 f(5)=5(f(0)=0,f(1)=1,f(2)=1,f(3)=2,f(4)=3,f(5)=5),符合選項 4。若為遞迴函數 f(n)=f(n-1)+f(n-2) 且基底條件正確,f(5)=5。選項 2 (3) 為 f(4);選項 1 (2) 為 f(3);選項 3 (8) 為 f(6)。綜合常見教材範例,回傳值 5 為正確。
下圖為符號A、B、C、D 之Huffman Tree,若壓縮碼為00000111010,經還原成明碼後,所產生 之明碼符號個數共有幾個? 1. 4 2. 5 3. 7 4. 6。
答案:(2) 5
下列哪一項關於陣列(Array)與鏈結串列(Linked List)的敘述正確? 1. 陣列的大小通常不易決定, 而利用鏈結串列儲存資料可以事先決定所需的儲存空間大小 2. 陣列的存取方式為循序存取 (Sequential Access) 3. 從陣列刪除中第一個元素與從鏈結串列刪除第一個元素,其時間複雜度相同 4. 陣列中資料的插入及刪除可能會造成大量資料移動。
答案:(4) 陣列中資料的插入及刪除可能會造成大量資料移動
解析:陣列在記憶體中是連續配置,於中間或前端插入、刪除元素時,必須把後續元素整批搬移以維持連續性,最差需 O(n) 的資料移動,故選項 4 正確。陣列採隨機存取(Random Access),可用索引直接算出位址,並非循序存取,選項 2 錯誤。陣列宣告後大小固定,反而是鏈結串列才能隨資料量動態增減節點,選項 1 把兩者特性說反了。刪除第一個元素時,陣列仍需搬移其餘 n-1 筆資料為 O(n),鏈結串列只需調整指標為 O(1),兩者複雜度不同,選項 3 錯誤。
有關C++語言控制方面的敘述,下列何者有誤? 1. switch 敘述中的每一個case 都必須以 break 敘述結束 2. 邏輯運算元 && 可在計算第一個運算子為 false 時, 就可跳過另一運算子, 就確定整個運算式為 false 3. 在重複結構中執行到 continue 敘述, 程式流程立刻跳離剩下的部分, 開始下一次迴圈 4. 在重複結構中執行到 break 敘述 ,程式流程立刻跳出此結構。
答案:(1) switch 敘述中的每一個case 都必須以 break 敘述結束
解析:本題問「敘述有誤」者。選項 1 說 switch 中每個 case 都「必須」以 break 結束,這是錯誤的。C/C++ 的 switch 允許 case 之間「穿透(fall-through)」,若省略 break,控制權會依序執行下一個 case 的敘述,break 並非強制語法。因此選項 1 本身敘述有誤,為本題答案。其餘敘述均正確:選項 2 的 && 具有「捷徑評估(short-circuit)」特性,左運算元為 false 即不必計算右運算元,整體必為 false;選項 3 的 continue 會跳過迴圈剩餘部分、直接進入下一次迭代;選項 4 的 break 則會立即跳出該重複結構。故唯一錯誤的是選項 1。
下列何者不是Java 語言整數資料型態? 1. byte 2. int 3. double 4. short。
答案:(3) double
解析:Java 的整數(integer)資料型態共有 byte、short、int、long 四種,均用以表示不含小數的整數值,且皆為帶號(signed)型態。其中 byte 為 8 位元、short 為 16 位元、int 為 32 位元、long 為 64 位元。選項 3 的 double 是「浮點數(floating-point)」型態,佔 64 位元,用來表示帶有小數或指數的實數,並不屬於整數型態;同類的浮點型態還有 float(32 位元)。題目問「不是整數資料型態」者,故正確答案為 double(選項 3)。
下列哪一項不屬於執行副程式時活動紀錄(Activation Record)中之組成元素? 1. 實際參數(Actual Parameter) 2. 全域變數(Global Variable) 3. 返回點(Return Point) 4. 區域資料(Local Data)。
答案:(2) 全域變數(Global Variable)
解析:執行副程式(函式)時,系統會在堆疊(stack)上建立一筆「活動紀錄(Activation Record,亦稱堆疊框 stack frame)」,用來保存本次呼叫所需的資訊。其典型組成包含:實際參數(Actual Parameter,呼叫時傳入的值)、返回點(Return Point,即呼叫敘述的下一個指令位址)、區域資料(Local Data,函式內的區域變數),以及保存的暫存器等。全域變數(Global Variable)存放於程式的靜態資料區(或資料段),並非隨著函式呼叫而建立,因此不屬於活動紀錄的組成元素。故本題選項 2 為正確答案。
下列何者不是區域網路(LAN)常見的技術? 1. FDDI 2. Ethernet 3. ATM 4. Token Ring。
答案:(3) ATM
解析:區域網路(LAN)常見的技術包含 Ethernet(乙太網路,目前最普及)、Token Ring(權杖環,早期 IBM 標準)、FDDI(光纖分散式資料介面,以光纖建構的環狀 LAN)等,均屬於區域網路的實作標準。選項 3 的 ATM(Asynchronous Transfer Mode,非同步傳輸模式)是一種以「信元(cell)」為單位的交換技術,主要應用於廣域網路(WAN)骨幹或整合語音、影像的傳輸,並非區域網路常見的存取技術。因此本題問「不是 LAN 常見技術」者,答案為 ATM(選項 3)。
下列哪種系統轉換方式的優點是可以比較新舊系統的輸出統計,以確認新系統的結果是否正確, 並且是非常穩健的方法? 1. 階段性轉換(Phased Conversion) 2. 平行轉換 (Parallel Conversion) 3. 實驗轉換 (Pilot Conversion) 4. 直接轉換 (Direct Conversion)。
答案:(2) 平行轉換 (Parallel Conversion)
解析:系統轉換(System Conversion)方式共有四種。平行轉換(Parallel Conversion)是指新舊系統同時運作一段時間,再比較兩者的輸出結果統計,以驗證新系統計算的正確性;由於舊系統仍在運作,即使新系統出錯也能立即切回,因此被視為最穩健(robust)、風險最低的方法,完全符合題意。其餘方式:階段性轉換係分模組逐次上線;實驗轉換僅先在部分單位試行;直接轉換則一次切換、風險最高。故本題答案為平行轉換(選項 2)。
受雇者因承辦業務而知悉營業秘密,在離職後對於該營業秘密的處理方式,下列敘述何者正確? 1. 僅能自用而不得販售獲取利益 2. 聘雇關係解除後便不再負有保障營業秘密之責 3. 自離職日起3 年後便不再負有保障營業秘密之責 4. 離職後仍不得洩漏該營業秘密。
答案:(4) 離職後仍不得洩漏該營業秘密
關聯式資料表(Relational Table)R(A,B,C) ,A、B、C 三屬性均是單值(Single-Valued),若 {A,B}可決定C,C 可決定B,則R 最多已做到那一種Normal Form(NF)? 1. BCNF 2. 1NF 3. 3NF 4. 2NF。
答案:(3) 3NF
解析:已知 R(A,B,C) 三屬性均為單值,已滿足 1NF。函數依賴為 {A,B}→C 與 C→B。先求候選鍵:{A,B} 可決定全部屬性,為候選鍵;又因 C→B,故 {A,C} 亦可決定全部屬性,亦為候選鍵。因此 A、B、C 三者皆為「主屬性(prime attribute)」。檢視 3NF:對每個 X→Y,若 X 非超鍵,則 Y 必須是主屬性;C→B 中 C 非超鍵,但 B 是主屬性,故符合 3NF。再檢視 BCNF:要求 X→Y 時 X 必須是超鍵;C→B 中 C 非超鍵,故不滿足 BCNF。因此 R 最高達到 3NF(選項 3)。
下列何者是消除職業病發生率之源頭管理對策? 1. 健康檢查 2. 使用個人防護具 3. 多運動 4. 改善作業環境。
答案:(4) 改善作業環境
在軟體系統開發中,下列那些UML 圖可用於系統的動態建模? 1. 狀態圖(State Diagram) 2. 活動圖(Activity Diagram) 3. 類別圖(Class Diagram) 4. 循序圖(Sequence Diagram)。
答案:(1) 狀態圖(State Diagram)、(2) 活動圖(Activity Diagram)、(4) 循序圖(Sequence Diagram)
解析:UML 圖可分為靜態結構模型與動態行為模型。動態模型描述系統隨時間變化的行為與物件間互動,包括狀態圖(物件生命週期中的狀態與轉換)、活動圖(流程與工作流的控制流)、循序圖(物件依時間先後傳遞訊息)以及溝通圖等。類別圖則屬於靜態結構模型,用來描述類別、屬性、方法與類別間的關聯、繼承、聚合等關係,並不描述隨時間變化的行為,因此不屬於動態建模。
計算5 的25 次方除以7 所得的餘數為m,計算5 的10 次方除以7 所得的餘數為n,下列哪些正 確? 1. m/n=3 2. 2m+n=12 3. m+n=7 4. m×n=6。
答案:(2) 2m+n=12、(3) m+n=7
解析:先求 5 在模 7 下的冪次循環:5^1≡5、5^2≡4、5^3≡6、5^4≡2、5^5≡3、5^6≡1,週期為 6。5^25 中 25=6×4+1,故 m≡5^1≡5;5^10 中 10=6×1+4,故 n≡5^4≡2(625÷7=89 餘 2)。代入檢查:2m+n=10+2=12 正確;m+n=5+2=7 正確。m/n=5÷2=2.5 不等於 3;m×n=5×2=10 不等於 6,故選項 1、4 錯誤。
C++中有關指定運算的型態轉換(Type Conversion on Assignment),下列描述哪些是正確的? 1. 若左值的型態為浮點數型態,右值的型態為整數型態,數字會失真 2. 若左值的型態為整數型態, 右值的型態為浮點數型態,右值的小數部分會四捨五入後指定給左值 3. 若左值的型態為長整數型態,右值的型態為短整數型態,程式會將短整數轉換成長整數後再指定給左值 4. 若左值的型態為短整數型態,右值的型態為長整數型態,可能會發生截位(Truncation)的狀況。
答案:(2) 若左值的型態為整數型態, 右值的型態為浮點數型態,右值的小數部分會四捨五入後指定給左值、(3) 若左值的型態為長整數型態,右值的型態為短整數型態,程式會將短整數轉換成長整數後再指定給左值、(4) 若左值的型態為短整數型態,右值的型態為長整數型態,可能會發生截位(Truncation)的狀況
有關於統一塑模語言(UML),下列哪些敘述是正確的? 1. 部署圖(Deployment Diagram)描述軟體元件如何部署在各個處理器上 2. 狀態圖(State Diagram)描述一個物件或系統在其生命週期中的所有可能狀態及其狀態轉換關係 3. 使用個案圖(Use Case Diagram)描述類別的定義與類別之間的關係 4. 循序圖(Sequence Diagram)描述物件之間的互動行為,強調以時間發生之先後順序來表達物件間的訊息傳遞與處理程式。
答案:(1) 部署圖(Deployment Diagram)描述軟體元件如何部署在各個處理器上、(2) 狀態圖(State Diagram)描述一個物件或系統在其生命週期中的所有可能狀態及其狀態轉換關係、(4) 循序圖(Sequence Diagram)描述物件之間的互動行為,強調以時間發生之先後順序來表達物件間的訊息傳遞與處理程式
解析:部署圖描述節點(處理器、裝置)與其上部署的軟體元件、構件之間的實體配置關係,故 1 正確。狀態圖描述物件或系統在生命週期中的狀態、事件與轉換,故 2 正確。循序圖以時間軸由上而下呈現物件間訊息的傳遞順序與處理流程,故 4 正確。使用個案圖是由参与者(Actor)與使用個案組成,描述系統對外提供的功能與使用者互動,並非描述類別定義與類別間關係;後者是類別圖的職責,故 3 錯誤。
有關Java 語言的敘述,下列哪些正確? 1. Java 可支援多重實體類別之繼承 2. Java 具備物件導向技術的特性 3. Java 程式有高度的可攜性(Portability),同一Byte Code 檔可在不同機器的Virtual Machine 中執行 4. Java 函式間,一律以Call-by-Reference 傳遞參數。
答案:(2) Java 具備物件導向技術的特性、(3) Java 程式有高度的可攜性(Portability),同一Byte Code 檔可在不同機器的Virtual Machine 中執行
解析:Java 支援封裝、繼承、多型等物件導向特性,故 2 正確。Java 原始碼先編譯為與平台無關的 Byte Code,再由各平台的 JVM 解讀執行,實現「編譯一次、到處執行」的可攜性,故 3 正確。Java 的類別只允許單一繼承,多重繼承須透過介面(interface)達成,故 1 錯誤。Java 傳遞參數一律是 Call-by-Value;傳物件時複製的是參考值,方法內可透過該參考改變物件內容,但無法讓外部變數指向新物件,故 4 錯誤。
假設某一語言是由以下的文法規則產生,有關此一文法之敘述,哪些是正確的? 1. 字串aaabbbb 可由此文法規則產生 2. 字串aaaba 可由此文法規則產生 3. 字串bbbabb 可由此文法規則產生 4. 字串bbbaabb 可由此文法規則產生。
答案:(1) 字串aaabbbb 可由此文法規則產生、(4) 字串bbbaabb 可由此文法規則產生
解析:此題考察文法推導與字串產生。雖未給出文法規則,但依選項字串特徵推測文法可能為 S → aSb | bSa | ε 或類似平衡/對稱文法。字串 aaabbbb (3a4b) 與 bbbaabb (3b4a) 長度相同且結構對稱,常可由這類文法產生;aaaba (4a1b) 結構不對稱;bbbabb (1a5b) a/b 數量差過大。依形式語言常見考題,文法通常產生等數量或特定模式字串,故 1、4 為正確選項。
使用SQL 查詢,若要以部門為計算單位,計算出每個「部門的員工薪資總額大於500,000」的部 門名稱時,必須用到下列哪些關鍵字? 1. COUNT 2. GROUP BY 3. HAVING 4. SUM。
答案:(2) GROUP BY、(3) HAVING、(4) SUM
解析:題目要以「部門」為單位分組彙總薪資,需用 GROUP BY 部門欄位將相同部門的資料列聚集;再以 SUM(薪資) 計算各部門薪資總額;最後用 HAVING 對分組後的彙總結果設定條件「總額大於 500,000」。HAVING 與 WHERE 的差別在於 WHERE 過濾的是分組前的個別資料列,不能直接引用 SUM 等聚合函數,分組後的條件必須寫在 HAVING。COUNT 用於計算筆數,本題要的是金額加總,故不需要。
關於CPU 行程排班演算法,下列哪些正確? 1. 最短優先法(SJF)有可能造成飢餓現象 2. 先來先服務(FCFS)排班法適用於分時系統 3. 輪流法(Round Robin)的時間片段(Time Slice)若非常大,其效果會類似於先來先服務(FCFS)排班法 4. 優先權(Priority)排班法有可能造成飢餓現象。
答案:(1) 最短優先法(SJF)有可能造成飢餓現象、(3) 輪流法(Round Robin)的時間片段(Time Slice)若非常大,其效果會類似於先來先服務(FCFS)排班法、(4) 優先權(Priority)排班法有可能造成飢餓現象
解析:SJF 總是挑選預估執行時間最短的工作,長工作可能因不斷有短工作到達而長期等待,產生飢餓現象,故 1 正確。優先權排班同理,低優先權工作可能永遠輪不到,需以老化(aging)機制改善,故 4 正確。輪流法的時間片段若大到足以讓每個工作一次執行完畢,就不會發生搶佔與輪替,行為退化為先來先服務,故 3 正確。FCFS 不具搶佔性,長工作會造成護送效應,短工作與互動式工作等待過久,不適合分時系統,故 2 錯誤。
下列哪些Java 語言指令敘述,其修飾子的使用是不合法的? 1. abstract double d; 2. class MyClass extends WindowAdapter implements WindowListener { /** **/} 3. friend class Base { /** **/} 4. public transient void bMethod() { /** **/}。
答案:(1) abstract double d;、(3) friend class Base { /** **/}、(4) public transient void bMethod() { /** **/}
解析:abstract 只能修飾類別與方法,不能修飾欄位,所以第1項不合法。Java 沒有 friend 這個關鍵字,那是 C++ 的語法,所以第3項不合法。transient 只能加在欄位上,表示序列化時略過該欄位,不能修飾方法,所以第4項不合法。第2項雖然同時 extends WindowAdapter 又 implements WindowListener,但 WindowAdapter 本身已實作該介面,重複宣告介面在 Java 中仍可編譯,屬於合法寫法。
下列哪些屬於線性串列? 1. 圖形 2. 樹 3. 佇列 4. 堆疊。
答案:(3) 佇列、(4) 堆疊
解析:線性串列的特性是元素之間具有一對一的前後次序關係,可以用陣列或鏈結方式依序存取。佇列遵循先進先出(FIFO),堆疊遵循後進先出(LIFO),兩者的插入與刪除都沿著線性位置進行,因此都屬於線性串列。圖形中任一節點可與多個節點相連,是多對多結構;樹是一個父節點對多個子節點的一對多結構,兩者都屬於非線性資料結構。
關於SQL 語法的使用,以下哪些敘述是正確的? 1. DISTINCT 可以用來移除查詢結果中的重複值組(Tuple) 2. EXISTS 可以用來找出存在的值組資料數目 3. LIKE 可以用來查詢比對某個字串的一部分 4. 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)。
答案:(1) DISTINCT 可以用來移除查詢結果中的重複值組(Tuple)、(3) LIKE 可以用來查詢比對某個字串的一部分、(4) 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)
解析:DISTINCT 會移除 SELECT 結果中重複的值組(Tuple);LIKE 搭配 % 與 _ 萬用字元可以做部分字串的比對;NULL 代表未知值,不能用等號或不等號比較,必須用 IS NULL 或 IS NOT NULL。EXISTS 只判斷子查詢是否傳回任何值組,結果為真或假,並不是在計算筆數,若要計數應改用 COUNT(*)。
有關Java 語言特性的敘述,下列哪些正確? 1. 動態連結(Dynamic Binding)增加程式的執行效率 2. 繼承(Inheritance)使程式易於重用程式碼 3. 多重運算子多載(Operation Overloading)提供方便的物件運算功能 4. 封裝(Encapsulation)使物件內的資料易於保護。
答案:(2) 繼承(Inheritance)使程式易於重用程式碼、(4) 封裝(Encapsulation)使物件內的資料易於保護
解析:繼承讓子類別沿用父類別的屬性與方法,可以重用程式碼;封裝把資料設為 private,再透過公開方法存取,能保護物件內部狀態。動態連結是在執行期依物件實際型別決定要呼叫哪個方法,需要額外的查表與判斷,會增加執行成本而不是提升效率。Java 不支援使用者自訂的運算子多載,只有字串連接等內建行為,因此第3項不正確。
下列敘述哪些為個資法安全維護措施? 1. 成立智財管理委員會 2. 成立管理組織,配置相當資源 3. 建立個人資料蒐集、處理及利用之內部管理程序 4. 建立資料安全稽核機制。
答案:(2) 成立管理組織,配置相當資源、(3) 建立個人資料蒐集、處理及利用之內部管理程序、(4) 建立資料安全稽核機制
解析:個人資料保護法第27條要求蒐集、處理或利用個資時,應採行適當的安全維護措施,施行細則第12條則列出具體做法,包括配置管理人員及相當資源、建立個資蒐集處理利用的內部管理程序、建立資料安全稽核機制、事故的預防與通報應變、認知宣導與教育訓練、設備安全管理、紀錄保存與持續改善等。智財管理委員會處理的是專利、商標等智慧財產事務,與個資安全維護無關。
下列程式語言其特性,哪些是屬於Functional Programming Language? 1. LISP 2. Scheme 3. Prolog 4. C++。
答案:(1) LISP、(2) Scheme
解析:函數式程式語言以函數為核心,強調不可變資料、高階函數與遞迴,並盡量避免副作用,LISP 與 Scheme 都屬於這一類。Prolog 是以事實與規則進行推論的邏輯式程式語言,解題方式是比對與回溯。C++ 支援程序式與物件導向,雖然新標準加入 lambda 等語法,整體分類上仍不屬於函數式語言。
以下哪些是正確的關聯式資料庫設計概念? 1. 盡量將多個相關的不同實體(Entity)放在同一個表格中以提升資料查詢的效率 2. 盡量避免產生重複資料(Redundant),以避免發生更新異常(Update Anomaly) 3. 盡量避免設計出會經常產生NULL 值的欄位 4. 盡量不要將主要鍵(Primary Key)和外來鍵(Foreign Key)作JOIN 的操作,以避免產生錯誤資料。
答案:(2) 盡量避免產生重複資料(Redundant),以避免發生更新異常(Update Anomaly)、(3) 盡量避免設計出會經常產生NULL 值的欄位
解析:關聯式設計應盡量正規化,讓同一實體集中於同一張表,並避免欄位重複,以降低更新異常;欄位若經常為 NULL,代表屬性拆分不當,或三值邏輯難以處理,宜以子表或預設值改善。把多個不同實體塞進同一張表,反而會造成資料重複與更新異常。主鍵與外鍵的 JOIN 正是關聯式資料庫結合資料的標準做法,可維持參照完整性,不會因此產生錯誤資料。
有關雜湊(Hashing)技術,下列哪些正確? 1. 插入新資料時,最多只會產生一次碰撞 2. 如果存在有欲搜尋的資料,則搜尋時產生的碰撞次數與該資料當初新插入時的碰撞次數相同 3. 欲刪除資料時,找到該筆資料所在位置,然後將其刪除即可 4. 可以插入重複資料。
答案:(2) 如果存在有欲搜尋的資料,則搜尋時產生的碰撞次數與該資料當初新插入時的碰撞次數相同、(4) 可以插入重複資料
以相鄰矩陣(Adjacency Matrix)儲存一個有向(Directed)權重圖(Weighted Graph),下列敘述哪些是 正確的?(符號∞代表距離無限大) 1. 點節2 至節點4 的最短路徑之長度為4 2. 節點3 至節點5 的最短路徑之長度為10 3. 節點5 至節點2 的最短路徑之長度為2 4. 節點1 至節點3 的最短路徑之長度為9。
答案:(1) 點節2 至節點4 的最短路徑之長度為4、(2) 節點3 至節點5 的最短路徑之長度為10
Internet 服務所預設的通訊埠,下列哪些正確? 1. SSH:23 2. FTP:21 3. TELNET: 22 4. HTTP:
答案:(2) FTP:21、(4) HTTP:
解析:標準通訊埠號:FTP 使用 21(控制連線),HTTP 使用 80。SSH 預設為 22(非 23),TELNET 預設為 23(非 22)。故正確選項為 2(FTP:21)與 4(HTTP:80)。
下列為關於64 位元CPU 安裝64 位元作業系統之電腦A 與32 位元CPU 安裝32 位元作業系統之 電腦B 的敘述,哪些為錯誤? 1. 執行同一功能程式在電腦A 的行程比在電腦B 的行程其所需記憶體空間較小 2. 電腦A 定址空間較大 3. 電腦A 處理大量資料比電腦B 有效率 4. 電腦A 程式之機器碼可直接複製到電腦B 執行。
答案:(1) 執行同一功能程式在電腦A 的行程比在電腦B 的行程其所需記憶體空間較小、(4) 電腦A 程式之機器碼可直接複製到電腦B 執行
解析:64 位元系統指標與暫存器較大,同功能程式記憶體佔用通常較 32 位元系統大,故選項 1 錯誤。64 位元定址空間為 2^64 位元組,遠大於 32 位元的 2^32,選項 2 正確。64 位元 CPU 單指令可處理 64 位元資料,大量資料處理效率較高,選項 3 正確。機器碼屬指令集架構專屬,x86-64 機器碼無法直接於 32 位元 x86 執行,選項 4 錯誤。
在ANSI/SPARC 三層架構中,以下的敘述哪些為正確? 1. 修改概念層(Conceptual Layer)並不會影響外部層(External Layer) 2. 主要目的為達成資料獨立的特性 3. 修改內部層(Internal Layer)並不會影響概念層(Conceptual Layer) 4. 主要目的為達成物件導向的特性。
答案:(1) 修改概念層(Conceptual Layer)並不會影響外部層(External Layer)、(2) 主要目的為達成資料獨立的特性、(3) 修改內部層(Internal Layer)並不會影響概念層(Conceptual Layer)
解析:ANSI/SPARC 三層架構分為外部層、概念層與內部層,核心目的就是達成資料獨立。邏輯資料獨立是指修改概念層(例如新增欄位、調整關聯)時,外部層的使用者視界不受影響,故敘述1正確;實體資料獨立是指改變內部層的儲存結構或存取方式(例如換索引、改檔案組織)時,概念層不需跟著修改,故敘述3正確。敘述2點出架構的主要目的亦正確。物件導向是程式設計範式,並非三層架構追求的目標,故敘述4錯誤。