第1題
下列程式片段之計算時間,何者是正確? 1. 2. θ(n) 3. θ(n log n) 4. θ(log n)。
答案
- 2
民國112年 第2梯次 11902 電腦軟體設計(C++)乙級 學科歷屆試題與答案,共 80 題可線上瀏覽,適合查詢考古題、題庫與解答。
下列程式片段之計算時間,何者是正確? 1. 2. θ(n) 3. θ(n log n) 4. θ(log n)。
假設A 以TCP 連線將一資料封包送給B,其中序號(Sequence Number)為12000、確認值 (Acknowledgement)為16000、資料大小為200 位元組,則當B 順利收到A 所傳送過來的這個封 包並對A 進行回應時,在B 所回應給A 的封包中,確認值應為下列何者? 1. 12200 2. 12000 3. 16000 4. 16200。
答案:(1) 12200
解析:TCP 的確認號代表接收端「下一個期望收到的位元組序號」。A 送出的封包序號為 12000、資料長度為 200 位元組,代表這筆資料佔用 12000~12199 共 200 個位元組,因此 B 順利收下後,回覆的確認值應為 12000+200=12200。封包中的 16000 是 A 對 B 資料的確認,與本次回覆無關;12000 是原本的序號,16000 與 16200 都不是正確的下一個期望序號。
有關非對稱式加解密演算法之敘述,下列何者「不正確」? 1. 加解密速度一般較對稱式加解密演算法慢 2. 提供不可否認性功能 3. 提供機密性保護功能 4. 需將金鑰安全的傳送至對方,才能解密。
答案:(4) 需將金鑰安全的傳送至對方,才能解密
關於物件導向語言覆寫(Overriding) Function/Method 的敘述,以下何者正確? 1. 基礎類別和導出類別Function/Method 有不同數量和型態的參數 2. 基礎類別和導出類別的Function/Method 同名,也有相同數量和型態的參數 3. 基礎類別和導出類別的Function/Method 同名,但有不同的可視性修飾子(Visibility Modifiers) 4. 基礎類別和導出類別的Function/Method 同名,有不同的回傳值資料型態。
答案:(2) 基礎類別和導出類別的Function/Method 同名,也有相同數量和型態的參數
解析:覆寫(Overriding)是指導出類別重新定義基礎類別中的虛擬函式,條件是函式名稱、參數個數與參數型態完全相同,編譯器才能透過動態繫結呼叫到導出類別的版本。參數不同者屬於多載(Overloading);只改變回傳型態不構成覆寫,C++ 要求回傳型態相同,或是相容的共變型態;可視性修飾子可以調整,但不是構成覆寫的判準。因此第二項正確。
有關承攬管理責任,下列敘述何者正確? 1. 原事業單位交付承攬,不需負連帶補償責任 2. 承攬廠商應自負職業災害之賠償責任 3. 原事業單位交付廠商承攬,如不幸發生承攬廠商所僱勞工墜落致死職業災害,原事業單位應與承攬廠商負連帶補償及賠償責任 4. 勞工投保單位即為職業災害之賠償單位。
答案:(3) 原事業單位交付廠商承攬,如不幸發生承攬廠商所僱勞工墜落致死職業災害,原事業單位應與承攬廠商負連帶補償及賠償責任
都市中常產生的「熱島效應」會造成何種影響? 1. 增加降雨 2. 空氣污染物易擴散 3. 溫度降低 4. 空氣污染物不易擴散。
答案:(4) 空氣污染物不易擴散
屋頂隔熱可有效降低空調用電,下列何項措施較不適當? 1. 屋頂綠化 2. 於適當位置設置太陽能板發電同時加以隔熱 3. 屋頂儲水隔熱 4. 鋪設隔熱磚。
答案:(3) 屋頂儲水隔熱
一單向鏈結串列如下圖所示,則下列那一個敘述錯誤? 1. 欲在節點P 與節點Q 之間加入一個新節點R,可執行R→link = P→link 與P→link = R 2. 若P→data 的值為35,則 P→link→link→data 之值為null 3. 欲將節點Q 刪除,必須先執行P→link = Q→link,才可將Q 刪除 4. 欲在節點Head 之前加入一個新節點S,可執行S→link = Head 與Head = S。
答案:(2) 若P→data 的值為35,則 P→link→link→data 之值為null
大氣層中臭氧層有何作用? 1. 吸收紫外線 2. 造成光害 3. 保持溫度 4. 對流最旺盛的區域。
答案:(1) 吸收紫外線
有一規則表示(Regular Expression)文法可識別字串狀態表如下,下列何者為其規則表示?(1 為起 始狀態,2 為結束狀態) 1. ab*a 2. bab* 3. aba* 4. ab*。
答案:(1) ab*a
解析:規則表示式 ab*a 表示:先讀入一個 a,接著可出現零個或多個 b(即 b*),最後再讀入一個 a 才會到達結束狀態 2。對應狀態表的轉移,b 的部分形成自我迴圈,開頭的 a 與結尾的 a 分別是進入與離開的轉移。若寫成 ab*,讀完 b 後會停在非結束狀態,無法接受;bab* 與 aba* 的開頭字元或結尾字元與狀態表的轉移方向不符。
下列流程圖所對應的C/C++程式為何? 1. 2. 3. 4. 。
若資料由小到大排序,則下列有關排序演算法之敘述,何者是錯誤? 1. 若資料為依序輸入, Insertion Sort 會產生Worst Case 2. 若資料為反序輸入,Quick Sort 會產生Worst Case 3. 若資料為依序輸入,Quick Sort 會產生Worst Case 4. 若資料為反序輸入,Insertion Sort 會產生Worst Case。
答案:(1) 若資料為依序輸入, Insertion Sort 會產生Worst Case
解析:Insertion Sort 在資料已由小到大排序時,每筆資料只需與前一筆比較一次即可停止,時間複雜度為 O(n),屬於最佳情況;反而是資料完全反序時,每筆都要往前搬移到底,才是 O(n²) 的最差情況。Quick Sort 若固定取第一個或最後一個元素為基準,資料已排序或完全反序時,分割都會極不平均,退化為 O(n²)。因此「依序輸入會使 Insertion Sort 產生最差情況」的敘述錯誤。
對於SQL 語法的使用,下列何者有誤? 1. Select 後所接續的,是查詢時所會用到的關聯表 2. 只要兩個屬性是屬於不同的關聯表,可以使用同樣的名稱 3. 若要擷取所選值組(Tuple)的所有屬性值,也可以用*來代表 4. SQL 語法可以不指定Where 子句。
答案:(1) Select 後所接續的,是查詢時所會用到的關聯表
解析:SQL 的 SELECT 子句後面接的是要投影的屬性(欄位)清單,關聯表名稱則寫在 FROM 子句之後,所以第一項敘述有誤。不同關聯表可以有同名屬性,查詢時以「表名.屬性名」區別;以 * 可取出所選值組的全部屬性值;WHERE 子句用來篩選值組,屬於可選項,省略 WHERE 時會回傳所有值組。第二、三、四項皆正確。
安全帽承受巨大外力衝擊後,雖外觀良好,應採下列何種處理方式? 1. 繼續使用 2. 油漆保護 3. 廢棄 4. 送修。
答案:(3) 廢棄
為防止勞工感電,下列何者為非? 1. 電線架高或加以防護 2. 避免不當延長接線 3. 使用防水插頭 4. 設備有金屬外殼保護即可免裝漏電斷路器。
答案:(4) 設備有金屬外殼保護即可免裝漏電斷路器
以下為假設性情境:「在地下室作業,當通風換氣充分時,則不易發生一氧化碳中毒或缺氧危 害」,請問「通風換氣充分」係指「一氧化碳中毒或缺氧危害」之何種描述? 1. 危害源 2. 風險 3. 發生機率 4. 風險控制方法。
答案:(4) 風險控制方法
有關C++程式一般寫作風格(coding convention),以下何者錯誤? 1. 指標變數命名以小寫p 開頭 2. 最好以動作命名函式(Function) 3. 全域常數命名以大寫字母和底線區隔複合字 4. 程式指令最好全部都往左對齊,不要有任何空白縮排。
答案:(4) 程式指令最好全部都往左對齊,不要有任何空白縮排
解析:良好的程式寫作風格會利用縮排來呈現程式區塊的層次,例如迴圈、判斷式與函式本體都會向內縮排,讓結構一目了然;若所有指令都靠左對齊、完全不縮排,反而會降低可讀性與除錯效率,所以第4項敘述錯誤。以動作命名函式(如 getData、setValue)能讓呼叫處一看就懂用途;指標變數常以 p 開頭(如 pData)提示型別;全域常數慣用全大寫並以底線分隔複合字(如 MAX_SIZE),都是常見慣例。因此本題應選錯誤的第4項。
對於關聯式資料庫的參考完整性限制(Referential Integrity Constraint),若R1 的A 屬性參考到 R2 的B 屬性,那麼任何一個時間點,「R1 的A 屬性值所形成的集合S1」與「R2 的B 屬性值所 形成的集合S2」兩集合的關係如何? 1. S2 包含於或等於S1 2. S1 包含於或等於S2 3. S1 與S2 的關係不定 4. S1=S2。
答案:(2) S1 包含於或等於S2
解析:參考完整性要求外部鍵的每個值都必須存在於被參考的主鍵中。R1 的 A 參考 R2 的 B,表示 S1 中每個非空值都必須在 S2 中找到對應值,因此 S1 包含於或等於 S2(S1 ⊆ S2);若允許外部鍵為空值,空值不計入集合比對。反過來說,S2 可以含有沒有被 R1 引用的值,所以 S2 不必被 S1 包含,S1 與 S2 也不必然相等。故第2項正確。
當詢問系統使用者及企業經理人「那些類型的人、地、事、物會在業務中被使用或相互作用,這 些關係著那些資料必須要維護」這個問題,主要是要幫忙決定實體關聯圖(ERD)的何種資訊? 1. 屬性(Attribute) 2. 候選鍵(Candidate Key) 3. 實體(Entity) 4. 關係(Relationship)。
答案:(3) 實體(Entity)
解析:詢問「哪些類型的人、地、事、物會在業務中被使用或相互作用」,重點在找出業務領域中需要保存資料的對象,也就是實體(Entity),例如客戶、訂單、產品、倉庫等,這是建構 ERD 的第一步。屬性則是進一步描述某實體的特徵(如客戶的姓名、電話);候選鍵是可唯一識別實體的最小屬性集合;關係描述兩個實體之間的關聯。題幹問的是「有哪些東西」,故對應實體的辨識,答案為第3項。
下列何者為Class B 網路的IP 網址內定子網路遮罩? 1. 255.255.255.0 2. 255.255.0.0 3. 255.255.255.255 4. 255.0.0.0。
答案:(2) 255.255.0.0
解析:Class B 網路的第一個位元組範圍為 128~191,預設把前 16 個位元當作網路位址、後 16 個位元當作主機位址,因此內定子網路遮罩為 255.255.0.0。255.255.255.0 是 Class C 的預設遮罩;255.0.0.0 是 Class A 的預設遮罩;255.255.255.255 是有限廣播位址,並非任何類別的預設遮罩。故選第2項。
有關資料流程圖(Data Flow Diagram)中,資料儲存(Data Store)與程序(Process)的資料流程繪 法,下列何者錯誤? 1. 由一個資料儲存至一個程序 2. 由一個程序至另一個程序 3. 由一個資料儲存至另一個資料儲存 4. 由一個程序至一個資料儲存。
答案:(3) 由一個資料儲存至另一個資料儲存
解析:資料流程圖用以描述系統中資料的流動,程序代表處理資料的動作,資料儲存代表靜態存放的資料。合法流程包含:資料儲存到程序(讀取)、程序到資料儲存(寫入)、程序到程序(資料傳遞)。資料儲存之間不能直接互相傳送資料,必須經由程序處理,否則就失去描述「處理」的意義,因此「由一個資料儲存至另一個資料儲存」是錯誤畫法,答案為第3項。
對於下列C/C++程式片段,何者敘述有誤? 1. 若(x1,x2),(y1,y2)及(5,4)視為三個二維平面座標, 則會構成一個直角三角形 2. 若(x1,x2)及(y1,y2)視為兩個二維平面座標,程式功能為計算直線方 程式 3. 程式輸出為4x+-4y+8=0 4. 若(x1,x2)及(y1,y2)視為兩個二維平面座標,則直線方程式的斜率為 。
答案:(4) 若(x1,x2)及(y1,y2)視為兩個二維平面座標,則直線方程式的斜率為
有關使用直譯程式(Interpreter)將程式翻譯成機器語言之敘述,下列何者正確? 1. 直譯程式每次轉譯一行指令後即執行 2. 直譯程式先執行再翻譯成目的程式 3. 直譯程式(Interpreter)與編譯程式 (Compiler)翻譯方式一樣 4. 直譯程式先翻譯成目的程式,再執行之。
答案:(1) 直譯程式每次轉譯一行指令後即執行
解析:直譯器(Interpreter)採逐行翻譯、逐行立即執行方式,不產生獨立的目的程式檔,常見於 Python、JavaScript 等語言,優點是除錯與修改方便,缺點是每次執行都要重新翻譯,速度通常較編譯器慢。編譯器(Compiler)則是一次將整個原始碼翻譯成目的碼(機器碼或中介碼),再連結執行。第2項「先執行再翻譯」顛倒順序;第3項兩者翻譯方式不同;第4項描述的是一次翻譯成目的程式再執行,屬於編譯器特性。故選第1項。
對於C 程式的宣告char s[5][6]; char *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項。
一般而言,物件導向語言實體(Instance)變數最好都宣告成以下那一種類? 1. private 2. static 3. public 4. protected。
答案:(1) private
解析:物件導向的封裝原則是把實體(Instance)變數宣告為 private,只透過公開的成員函式(getter/setter 或業務方法)存取,如此可隱藏內部實作、避免外部程式直接竄改狀態,日後修改資料表示法也不影響外部使用者。public 會讓任何程式碼直接讀寫,破壞封裝;protected 僅開放給子類別,仍非預設最佳選擇;static 屬於類別層級、所有物件共用一份,並非描述個別物件狀態的實體變數。故選第1項。
加入節點17 於下圖中的AVL Tree,下列敘述何者是正確? 1. 需做一次single rotation 及一次 double rotation 2. 僅需做一次double rotation 3. 僅需做一次single rotation 4. 需做二次single rotation。
答案:(2) 僅需做一次double rotation
IPv6 網際網路上的IP address,每個IP address 總共有幾個位元組? 1. 20 Bytes 2. 16 Bytes 3. 4 Bytes 4. 8 Bytes。
答案:(2) 16 Bytes
解析:IPv6 位址長度固定為 128 位元,換算位元組的公式為「位元數 ÷ 8」,因此 128 ÷ 8 = 16 Bytes。這也是 IPv6 能提供遠多於 IPv4 位址空間的原因。選項 3 的 4 Bytes 是 IPv4 位址的長度(32 位元);選項 1 的 20 Bytes 是 IPv4 標頭的最小長度,並非位址本身;選項 4 的 8 Bytes(64 位元)也不是 IPv6 位址規格。
每個人日常生活皆會產生垃圾,下列何種處理垃圾的觀念與方式是不正確的? 1. 可燃性垃圾經焚化燃燒可有效減少垃圾體積 2. 垃圾分類,使資源回收再利用 3. 廚餘回收堆肥後製成肥料 4. 所有垃圾皆掩埋處理,垃圾將會自然分解。
答案:(4) 所有垃圾皆掩埋處理,垃圾將會自然分解
依據以下類別之定義,下列C++程式最後一個敘述之輸出,下列何者是正確? 1. , and my breed is a Weiner 2. My name is Rover 3. My name is Rover, and my breed is a Weiner 4. 不會印出任何 內容。
答案:(2) My name is Rover
根據消除對婦女一切形式歧視公約(CEDAW),下列何者正確? 1. 傳統習俗應予保護及傳承,即使含有歧視女性的部分,也不可以改變 2. 未要求政府需消除個人或企業對女性的歧視 3. 對婦女的歧視指基於性別而作的任何區別、排斥或限制 4. 只關心女性在政治方面的人權和基本自由。
答案:(3) 對婦女的歧視指基於性別而作的任何區別、排斥或限制
非公務機關利用個人資料進行行銷時,下列敘述何者「錯誤」? 1. 當事人表示拒絕接受行銷時, 應停止利用其個人資料 2. 若已取得當事人書面同意,當事人即不得拒絕利用其個人資料行銷 3. 於首次行銷時,應提供當事人表示拒絕行銷之方式 4. 倘非公務機關違反「應即停止利用其個人資料行銷」之義務,未於限期內改正者,按次處新臺幣2 萬元以上20 萬元以下罰鍰。
答案:(2) 若已取得當事人書面同意,當事人即不得拒絕利用其個人資料行銷
依能源局「指定能源用戶應遵行之節約能源規定」,下列何場所未在其管制之範圍? 1. 美容美髮店 2. 餐廳 3. 住家 4. 旅館。
答案:(3) 住家
SQL 中若要比較屬性是否為NULL 值,應用下列何者? 1. = 2. AS 3. IS 4. EQUAL。
答案:(3) IS
解析:SQL 的 NULL 代表「未知」,並非一般值,因此不能使用等號比較。以 = 或 <> 與 NULL 比較時,結果會是 UNKNOWN 而非 TRUE,條件不會成立,查不到資料。正確寫法為 IS NULL 與 IS NOT NULL,這是 SQL 標準專為空值設計的述詞。AS 用於指定欄位或資料表的別名;EQUAL 不是 SQL 關鍵字;= 只用於比較一般值。
一般而言,水中溶氧量隨水溫之上升而呈下列哪一種趨勢? 1. 減少 2. 增加 3. 不變 4. 不一定。
答案:(1) 減少
有關電腦病毒傳播方式,下列何者正確? 1. 只要電腦有安裝防毒軟體,就不會感染電腦病毒 2. 病毒無法透過即時通訊軟體傳遞 3. 不隨意安裝來路不明的軟體,以降低感染電腦病毒的風險 4. 病毒不會透過電子郵件傳送。
答案:(3) 不隨意安裝來路不明的軟體,以降低感染電腦病毒的風險
有關「CPU 及記憶體處理」之說明,下列何者「不正確」? 1. I/O 負責算術運算及邏輯運算 2. 控制單元負責指揮協調各單元運作 3. 記憶單元儲存程式指令及資料 4. ALU 負責算術運算及邏輯運算。
答案:(1) I/O 負責算術運算及邏輯運算
如果C 語言遞迴函式沒有基本案例(Base Case),以下那一個敘述正確? 1. 程式將產生不正確結果 2. 程式無法停止 3. 產生MissingBaseCaseException 4. 產生編譯錯誤。
答案:(2) 程式無法停止
解析:遞迴函式每次呼叫都會在呼叫堆疊(call stack)建立新的堆疊框架,並靠基本案例(Base Case)停止遞迴。若缺少基本案例,函式會不斷自我呼叫,程式無法正常終止,最終因堆疊空間耗盡而發生堆疊溢位(stack overflow)並異常中止。編譯器不會檢查遞迴是否有終止條件,因此不會產生編譯錯誤;C++ 也沒有 MissingBaseCaseException 這種例外類型。
C++語言將分號放在 if 指令敘述右小括號後面,會發生以下何種情況? 1. 語法錯誤 2. 邏輯錯誤 3. 編譯錯誤 4. 執行時期例外錯誤。
答案:(2) 邏輯錯誤
解析:在 if 的小括號後多寫一個分號,語法上仍然合法:分號本身形成一個「空敘述」,成為 if 的主體。結果是條件成立時只執行空敘述,而原本想放在 if 底下的那行敘述會變成無條件執行,造成流程與預期不符。這屬於邏輯錯誤(logic error),程式可順利編譯與執行,不會出現語法錯誤、編譯錯誤或執行期例外,只是行為不正確。
有關C++語言的變數命名,以下何者正確? 1. fruit-apple_long_name 2. 1abcd 3. %abcd 4. _a_long_name。
答案:(4) _a_long_name
解析:C++ 識別字的命名規則為:第一個字元必須是英文字母或底線,其後只能包含字母、數字與底線,且不得使用保留字。_a_long_name 以底線開頭,內容僅有字母與底線,完全合法。1abcd 以數字開頭,不符規則;fruit-apple_long_name 含有連字號,會被解析為減號運算;%abcd 的百分比符號不是合法識別字元。
Ping 程式使用下列那一個通訊協定? 1. SAP(Session Announcement Protocol) 2. SNMP(Simple Network Manangement Protocol) 3. LDAP(Lightweight Directory Access Protocol) 4. ICMP(Internet Control Message Protocol)。
答案:(4) ICMP(Internet Control Message Protocol)
解析:Ping 利用 ICMP(Internet Control Message Protocol)的 Echo Request 與 Echo Reply 訊息,測試目的主機是否可達並估算來回時間(RTT)。ICMP 屬於網路層的輔助協定,不承載應用資料。SNMP 用於網路設備管理與監控;LDAP 用於目錄服務查詢;SAP 為會話公告協定,常用於串流或多媒體公告,三者皆與 Ping 的可達性測試無關。
C++ 語言的變數只能在類別產生的物件範圍內使用,是以下那一種變數? 1. 靜態變數 2. 全域變數 3. 實體變數 4. 區域變數。
答案:(3) 實體變數
解析:實體變數(instance variable,即非靜態的成員變數)屬於類別產生的每一個物件,必須先建立物件,才能透過該物件存取,生命週期與物件相同。靜態變數屬於類別本身,所有物件共用一份;全域變數在整個程式範圍內皆可使用;區域變數則侷限於宣告它的函式或區塊內。因此「只能在物件範圍內使用」指的是實體變數。
照明控制可以達到節能與省電費的好處,下列何種方法最適合一般住宅社區兼顧節能、經濟性與 實際照明需求? 1. 走廊與地下停車場選用紅外線感應控制電燈 2. 加裝DALI 全自動控制系統 3. 晚上關閉所有公共區域的照明 4. 全面調低照明需求。
答案:(1) 走廊與地下停車場選用紅外線感應控制電燈
對於Java 語言優點的敘述,那一項正確? 1. 為多緒處理(Multi-thread)程式 2. 可直接繼承C++物件 3. 可直接控制硬體 4. 具有GO TO 指令。
答案:(1) 為多緒處理(Multi-thread)程式
解析:Java 語言內建多執行緒支援,是其核心優點之一。選項 2 錯誤因 Java 無法直接繼承 C++ 物件(需透過 JNI);選項 3 錯誤因 Java 執行於 JVM,無法直接控制硬體;選項 4 錯誤因 Java 保留 goto 為關鍵字但不可使用,結構化程式設計不支援 goto。
下列何種方法無法減少二氧化碳? 1. 多吃蔬菜,少吃肉 2. 自備杯筷,減少免洗用具垃圾量 3. 想吃多少儘量點,剩下可當廚餘回收 4. 選購當地、當季食材,減少運輸碳足跡。
答案:(3) 想吃多少儘量點,剩下可當廚餘回收
下列何者不是對稱式加密方法? 1. RSA 2. AES 3. DES 4. IDEA。
答案:(1) RSA
UML 在類別圖中何種關係有繼承的意思? 1. 相依(Dependency) 2. 組合(Aggregation) 3. 合成 (Composition) 4. 一般化(Generalization)。
答案:(4) 一般化(Generalization)
學校駐衛警察之遴選規定以服畢兵役男性作為遴選條件之一,根據消除對婦女一切形式歧視公約 (CEDAW),下列何者錯誤? 1. 已違反CEDAW 第1 條對婦女的歧視 2. 駐衛警察之遴選應以從事該工作所需的能力或資格作為條件 3. 此遴選條件雖明定限男性,但實務上不屬性別歧視 4. 服畢兵役者仍以男性為主,此條件已排除多數女性被遴選的機會,屬性別歧視。
答案:(3) 此遴選條件雖明定限男性,但實務上不屬性別歧視
假設T 是一個延伸二元樹(Extended Binary Tree),內路徑長為25,外部節點有13 個,則此外路 徑長度為何? 1. 49 2. 50 3. 51 4. 48。
答案:(1) 49
用來將名稱轉換為IP 位址的是下列那一項? 1. Gateway 2. Mail server 3. DNS 4. Proxy。
答案:(3) DNS
解析:DNS(Domain Name System)功能即為將網域名稱解析為 IP 位址。Gateway 為閘道器、Mail server 處理郵件、Proxy 為代理伺服器,皆非名稱解析服務。
在量販店內,商品包裝上所貼的「條碼(Barcode)」係協助結帳及庫存盤點之用,則該條碼在此方 面之資料處理作業上係屬於下列何者? 1. 輸入媒體 2. 輸出媒體 3. 輸出設備 4. 輸入設備。
答案:(1) 輸入媒體
下圖若以A 為起始點,並以廣度優先搜尋(Breadth First Search)時,下列順序何者不可能產生? 1. ABCDE 2. AEBCD 3. ABCED 4. ACBED。
答案:(1) ABCDE
針對數列1、2、3、4,有多少種排列(Permutation)無法用雙向佇列 (Deque, Double-ended Queue) 得到? 1. 0 2. 4 3. 12 4. 24。
答案:(1) 0
解析:雙向佇列允許在頭尾兩端插入與刪除。對於輸入序列1,2,3,4,透過適當的雙端操作可以產生所有24種排列。因為雙向佇列的操作足以模擬堆疊與佇列的混合行為,且對於n=4的小規模輸入,所有排列皆可透過序列操作達成。無法產生的排列數為0。選項2的4、選項3的12、選項4的24皆不正確。此為資料結構經典問題:雙向佇列對於n≤4可產生所有排列。
若要對一組訊息AAABCDDDDEEE 做二進位數的編碼,其中每個字元代碼為可變長度,當使用 霍夫曼碼(Huffman Codes)來進行編碼時,此訊息編碼後最少需要多少位元? 1. 30 2. 15 3. 36 4. 26。
答案:(4) 26
解析:字元頻率:A=3,B=1,C=1,D=4,E=3。Huffman 編碼合併過程產生編碼長度:D=1,E=2,A=3,C=4,B=4。總位元數 = 4×1 + 3×2 + 3×3 + 1×4 + 1×4 = 4+6+9+4+4 = 26 位元。
有一分支度(order)為256 之B-tree,將10 萬筆記錄存入此B-tree 中,其高度之最小值為下列何 者? 1. 5 2. 3 3. 2 4. 4。
答案:(2) 3
解析:B-tree 階 m=256,每節點最多 255 個鍵、256 子節點。高度 h 最小滿足 256^(h-1) × 255 ≥ 100,000。h=2 時最多 65,280 筆不足;h=3 時最多 16,711,680 筆足夠,故最小高度為 3。
有關乙太網路(Ethernet)之敘述,下列何者「不正確」? 1. 網路長度可至2500 公尺 2. 是一種區域網路 3. 傳送時不保證服務品質 4. 採用CSMA/CD 的通訊協定。
答案:(1) 網路長度可至2500 公尺
解析:標準乙太網路(10BASE5)單段最大 500 公尺,透過繼合器最多 4 段總長 2,500 公尺,但「網路長度可至 2500 公尺」非標準定義且易誤解為單段長度,屬不正確敘述。其他選項:乙太網為區域網路、不保證 QoS、採 CSMA/CD 皆正確。
以下何者是C++ 語言的關鍵字(Keyword)? 1. then 2. pointer 3. this 4. BIOS。
答案:(3) this
解析:在 C++ 中,this 是指向目前物件的指標,屬於語言保留的關鍵字(keyword),編譯器用它來指代呼叫成員函式的物件。then 是某些語言(如 BASIC、Pascal)的保留字,並非 C++ 關鍵字;pointer 只是描述「指標」的一般名詞,不是保留字;BIOS 是電腦基本輸入輸出系統的縮寫,與 C++ 語法無關。因此本題選 this(選項 3)。
UML 符號不會對模型語意有任何衝擊的是以下那一個? 1. 立體型(Stereotype) 2. 限制(Constraint) 3. 標籤值(Tagged Value) 4. 註解(Note)。
答案:(4) 註解(Note)
解析:UML 的三種擴充機制——立體型(Stereotype)、限制(Constraint)、標籤值(Tagged Value)——都會影響模型語意:立體型擴充元素意義,限制加入約束條件,標籤值附加額外屬性資訊。而註解(Note)僅用來輔助說明、標註文字備註,不會被納入模型語意,也不影響系統行為,對語意沒有任何衝擊。故選 4(註解)。
下列之宣告何者是同義? 1. 丙丁 2. 甲丙 3. 甲丁 4. 丙戊。
答案:(4) 丙戊
若具體類別Mouse 和Keyboard 實做介面類別USB,以下那一個錯誤? 1. 可以使用Keyboard 類別產生物件 2. 可以使用USB 類別產生物件 3. 可以使用Mouse 類別產生物件 4. Mouse 和 Keyboard 屬於同一個型態(Type)。
答案:(2) 可以使用USB 類別產生物件
解析:介面類別(Interface)在 C++ 中由純虛擬函式組成,屬抽象類別,不能實體化(產生物件),只能被具體類別繼承並實作。Mouse 與 Keyboard 是實作 USB 介面的具體類別,可分别以 new Mouse()、new Keyboard() 產生物件(選項 1、3 正確);因兩者皆繼承 USB,在多型下可被視為同一種型態 USB(選項 4 正確)。只有選項 2「使用 USB 類別產生物件」違反抽象類別不可實體化的原則,故為錯誤選項。
下列有關促進參與預防和打擊貪腐的敘述何者錯誤? 1. 提高政府決策透明度 2. 儘量不讓公民團體、非政府組織與社區組織有參與的機會 3. 向社會大眾及學生宣導貪腐「零容忍」觀念 4. 廉政機構應受理匿名檢舉。
答案:(2) 儘量不讓公民團體、非政府組織與社區組織有參與的機會
軟體系統發展中UML 語言其表達能力具有擴展性,下列那些為常見的擴展機制? 1. 模版 (Template) 2. 標籤值(Tagged Value) 3. 限制(Constraint) 4. 修飾(Decoration)。
答案:(2) 標籤值(Tagged Value)、(3) 限制(Constraint)
解析:UML 標準的三大擴充機制為:立體型(Stereotype)、標籤值(Tagged Value)與限制(Constraint)。其中標籤值(選項 2)為模型元素附加額外屬性資訊;限制(選項 3)對模型加入語意上的約束條件,二者皆屬常見擴充機制。模版(Template,選項 1)是 UML 內建的參數化類別機制,並非擴充機制;修飾(Decoration,選項 4)並非 UML 標準擴充機制名詞。故選 2、3。
關於圖(Graph)的尤拉迴路(Euler Cycle),下列那些正確? 1. 若一個圖的每個節點之度數(Degree) 都是偶數,則它必定擁有尤拉迴路 2. 若一個圖擁有尤拉迴路,則每個節點的度數(Degree)都是偶數 3. 必須經過每一個邊正好一次 4. 除了起始節點以外,必須經過每一節點正好一次。
答案:(2) 若一個圖擁有尤拉迴路,則每個節點的度數(Degree)都是偶數、(3) 必須經過每一個邊正好一次
解析:尤拉迴路(Euler Cycle)定義為:在連通圖中,從某點出發,每條邊恰好經過一次且回到起點的回路。故選項 3「必須經過每一個邊正好一次」正確;其必要條件是圖中每個節點的度數(Degree)皆為偶數,故選項 2「有尤拉迴路⇒每節點度數皆偶數」正確。選項 1 缺少「連通」前提,若不連通則未必存在;選項 4「每節點只經過一次」是哈密頓迴路(Hamilton Cycle)的定義,非尤拉迴路。故選 2、3。
關於SQL 語法的使用,以下那些敘述是正確的? 1. LIKE 可以用來查詢比對某個字串的一部分 2. DISTINCT 可以用來移除查詢結果中的重複值組(Tuple) 3. EXISTS 可以用來找出存在的值組資料數目 4. 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)。
答案:(1) LIKE 可以用來查詢比對某個字串的一部分、(2) DISTINCT 可以用來移除查詢結果中的重複值組(Tuple)、(4) 要比較屬性是否為NULL 值,必須用IS 關鍵字,不可用等號(=)
解析:SQL 中,LIKE 配合萬用字元 %(任意長字串)、_(單一字元)可比對字串的一部分,選項 1 正確。DISTINCT 置於 SELECT 後可消除結果中的重複值組(Tuple),選項 2 正確。判斷屬性是否為空值必須使用 IS NULL / IS NOT NULL,因 NULL 代表未知、無法用等號 = 比較,選項 4 正確。EXISTS 是存在量詞,回傳真/假(布林)值,用來判斷子查詢是否至少回傳一筆資料,並不負責計算筆數;要計數應使用 COUNT(),故選項 3 錯誤。因此選 1、2、4。
有關RAID 磁碟陣列技術,下列那些正確? 1. RAID1 不論使用多少硬碟,只要其中一顆硬碟運作正常,即可使硬碟系統運作正常 2. RAID2,至少需要四顆硬碟才可運作 3. RAID2,資料需經過 Hamming Code 編碼後儲存之 4. 同一大小之硬碟,使用RAID0 可用的儲存空間最大。
答案:(1) RAID1 不論使用多少硬碟,只要其中一顆硬碟運作正常,即可使硬碟系統運作正常、(4) 同一大小之硬碟,使用RAID0 可用的儲存空間最大
C++中有關指定運算的型態轉換(Type Conversion on Assignment),下列描述那些是正確的? 1. 若左值的型態為浮點數型態,右值的型態為整數型態,數字會失真 2. 若左值的型態為短整數型態,右值的型態為長整數型態,可能會發生截位(Truncation)的狀況 3. 若左值的型態為整數型態,右值的型態為浮點數型態,右值的小數部分會四捨五入後指定給左值 4. 若左值的型態為長整數型態,右值的型態為短整數型態,程式會將短整數轉換成長整數後再指定給左值。
答案:(2) 若左值的型態為短整數型態,右值的型態為長整數型態,可能會發生截位(Truncation)的狀況、(3) 若左值的型態為整數型態,右值的型態為浮點數型態,右值的小數部分會四捨五入後指定給左值、(4) 若左值的型態為長整數型態,右值的型態為短整數型態,程式會將短整數轉換成長整數後再指定給左值
下列C++語言程式片段,那些函式宣告正確? 1. int* set(int*, int); 2. char[10] sum(int*, int) 3. string error(int); 4. void func();。
答案:(1) int* set(int*, int);、(3) string error(int);、(4) void func();
解析:函式宣告的基本格式是「回傳型態 函式名稱(參數列);」。C++不允許函式回傳陣列,char[10] sum(int*, int)的語法錯誤;int* set(int*, int)回傳指標、string error(int)回傳字串物件、void func()無回傳值,三者都合法。參數列中的型態可以只寫型態而不寫參數名稱,因此這三個宣告均正確。
下列有關監督器(Monitor)敘述,那些為正確? 1. 在某段時間內,只有一個程式可呼叫監督器中的程式 2. 一個程式發出一訊號,若無其他程式等待此訊號,則會發出等待訊號 3. 監督器中的程式只能處理區域性的資料及實際參數 4. 監督器可設定區域性程式,並提供外面的程式使用。
答案:(1) 在某段時間內,只有一個程式可呼叫監督器中的程式、(3) 監督器中的程式只能處理區域性的資料及實際參數
解析:監督器將共享資料與程序封裝起來,並保證互斥,因此同一時間只能有一個程式在監督器內執行,1正確。監督器內的程式可存取監督器區域資料及傳入參數,3正確。發出signal時若沒有程式等待,訊號會失效,不會反過來產生等待訊號,2錯誤;區域性程序只供監督器內部呼叫,外部程式只能呼叫公開的進入程序,4錯誤。
下列敘述那些為錯誤? 1. 具可伸縮性 (Scalability) 是雲端運算的一項優點 2. 客製化 (Customization)是雲端運算的一項優點 3. 虛擬化 (Virtualization) 是雲端運算的一個重要概念 4. 雲端運算 (Cloud Computing)通常無法跨平台執行。
答案:(2) 客製化 (Customization)是雲端運算的一項優點、(4) 雲端運算 (Cloud Computing)通常無法跨平台執行
解析:雲端運算具有可伸縮性,可依需求調整資源,1是優點;虛擬化則是資源池化與多租戶服務的重要基礎,3是重要概念。公用雲多採標準化服務,深度客製化常受限制,客製化並非雲端普遍強調的優點,2錯誤。雲端服務可透過瀏覽器、API與標準協定存取,通常能跨平台執行,4錯誤。本題問錯誤者,故選2、4。
下列有關C++的敘述那些是正確的? 1. 沒有設置複製建構子的類別仍然可以進行兩物件複製 2. 每個類別都需要一個複製建構子(Copy Constructor) 3. 通常類別中包含指標(Pointer) 成員,並在宣告物件時需要做物件內容之複製,則需要宣告一複製建構子 4. 通常類別中包含陣列成員,並在宣告物件時需要做物件內容之複製,則需要宣告一複製建構子。
答案:(1) 沒有設置複製建構子的類別仍然可以進行兩物件複製、(3) 通常類別中包含指標(Pointer) 成員,並在宣告物件時需要做物件內容之複製,則需要宣告一複製建構子
解析:C++編譯器會為類別自動產生預設複製建構子,逐一把成員複製到新物件,所以沒有自行宣告仍可複製,1正確、2錯誤。若類別含指標成員,預設複製只會複製指標值,造成兩個物件指向同一塊記憶體,容易重複釋放或互相干擾,需自訂深層複製,3正確。陣列成員的預設複製會逐元素複製,通常不必只因有陣列就宣告複製建構子,4錯誤。
有關HTTPS 的敘述,下列那些正確? 1. HTTPS 是HTTP 與SSL/TLS 的結合 2. HTTPS 是屬於傳輸層(Transport Layer)的協定 3. HTTPS 預設的通訊埠為80 4. HTTPS 連線所使用的公鑰是以明文傳輸。
答案:(1) HTTPS 是HTTP 與SSL/TLS 的結合、(4) HTTPS 連線所使用的公鑰是以明文傳輸
解析:HTTPS是在HTTP之下加入SSL/TLS安全層,1正確。HTTPS仍屬應用層協定,TLS介於應用層與傳輸層之間,並非傳輸層協定,2錯誤。HTTPS預設通訊埠是443,不是80,3錯誤。TLS握手時伺服器憑證中的公鑰會以明文送出,公鑰本來就無須保密,真正受保護的是隨後協商出的工作金鑰,4正確。
依序讀入1,2,3,4,5,6,7,8,並建造一棵2-3 樹,下列那些正確? 1. 4 儲存於樹根內 2. 3 與8 在同一階層 3. 7 與8 儲存於同一節點內 4. 2 與6 儲存於同一節點內。
答案:(1) 4 儲存於樹根內、(2) 3 與8 在同一階層、(3) 7 與8 儲存於同一節點內
解析:依序插入1至8:插入3時節點溢滿,2上升為根;插入5時4上升;插入7時6上升,根暫時成為[2,4,6]並再分裂,4成為新根。最後根為[4],左子節點[2]下有葉節點[1]、[3],右子節點[6]下有[5]與[7,8]。因此4在根、3與8同為葉階層、7與8同節點;2與6分屬不同子節點,故4不正確。
下列那些項目不屬於特種個資? 1. 社會活動 2. 犯罪前科 3. 財務情況 4. 健檢資料。
答案:(1) 社會活動、(3) 財務情況
解析:依個人資料保護法第6條,特種個資包括病歷、醫療、基因、性生活、健康檢查及犯罪前科。健檢資料與犯罪前科均在列舉範圍內;社會活動、財務情況則不在特種個資的列舉項目中。題目問「不屬於」,因此選社會活動與財務情況,即1、3。
「若p 則q」 (p q),與下列那些意義相同? 1. (NOT p) OR q 2. p OR (NOT q) 3. NOT p NOT q 4. NOT q NOT p。
答案:(1) (NOT p) OR q、(4) NOT q NOT p
解析:邏輯蕴涵 p→q 等價於 ¬p ∨ q(選項1正確)。亦等價於逆否命題 ¬q → ¬p(選項4正確)。選項2為 p ∨ ¬q,非等價。選項3寫法不清,若為 ¬p ∧ ¬q 則錯誤。根據布林代數與邏輯等價律,p→q ≡ ¬p ∨ q ≡ ¬q → ¬p。故正確選項為1、4。
以下那些是正確的關聯式資料庫設計概念? 1. 盡量避免產生重複資料(Redundant),以避免發生更新異常(Update Anomaly) 2. 盡量避免設計出會經常產生NULL 值的欄位 3. 盡量將多個相關的不同實體(Entity)放在同一個表格中以提升資料查詢的效率 4. 盡量不要將主要鍵(Primary Key)和外來鍵(Foreign Key)作JOIN 的操作,以避免產生錯誤資料。
答案:(1) 盡量避免產生重複資料(Redundant),以避免發生更新異常(Update Anomaly)、(2) 盡量避免設計出會經常產生NULL 值的欄位
解析:關聯式資料庫設計以正規化(Normalization)為核心。選項1正確:資料冗餘(Redundancy)會導致新增、修改、刪除異常(Update/Insert/Delete Anomaly),設計時應盡量避免重複資料。選項2正確:NULL值代表未知或不存在,頻繁出現NULL的欄位會造成查詢結果不確定與外部鍵參照困難,設計上應以獨立表格或適當預設值避免。選項3錯誤:將不同實體(Entity)擠在同一表格違反正規化,反而造成冗餘與異常,應依實體分表。選項4錯誤:主鍵(Primary Key)與外來鍵(Foreign Key)的JOIN正是關聯式資料庫建立關聯的核心操作,不應避免。
下面數列共有6 個元素{34,8,64,51,32,21},若以陣列方式儲存,經由插入排序法(Insertion Sort),由小排至大,則下列那些是在排序過程處理中,可能發生的順序? 1. 8,34,64,51,32,21 2. 8,34,64,32,51,21 3. 8,32,34,51,64,21 4. 8,32,21,
答案:(1) 8,34,64,51,32,21、(3) 8,32,34,51,64,21、(4) 8,32,21,
軟體系統分析設計概念的描述中,下列那些是正確的? 1. 軟體設計的抽像層次比原始程式碼編寫的高 2. 軟體設計時必須考慮軟體品質的問題 3. 軟體設計等同於原始程式的編寫 4. 軟體設計必須滿足軟體分析模型規範。
答案:(1) 軟體設計的抽像層次比原始程式碼編寫的高、(2) 軟體設計時必須考慮軟體品質的問題、(4) 軟體設計必須滿足軟體分析模型規範
解析:軟體工程將開發分為分析、設計、實作等階段。選項1正確:軟體設計位於比撰寫程式碼更高的抽象層次,關注模組、介面與架構,而非具體語法。選項2正確:設計階段必須考量軟體品質屬性,如可靠性、可維護性、效能與可擴充性。選項3錯誤:設計與編碼是不同活動,設計不等同於寫程式。選項4正確:設計必須滿足軟體分析模型(需求規格)的規範,確保實作出來的系統符合使用者需求,這是需求追溯(traceability)的基本要求。
假設某一語言是由以下的文法規則產生,有關此一文法之敘述,哪些是正確的? 1. 字串aaaba 可由此文法規則產生 2. 字串aaabbbb 可由此文法規則產生 3. 字串bbbaabb 可由此文法規則產生 4. 字串bbbabb 可由此文法規則產生。
答案:(2) 字串aaabbbb 可由此文法規則產生、(3) 字串bbbaabb 可由此文法規則產生
有關C++語言的敘述,以下那些為正確? 1. 可以用浮點數陣列表示字串 2. 函式的參數傳遞可以透過Call by Address 3. 函式中可以定義其他函式 4. 函式的參數傳遞可以透過Call by Value。
答案:(2) 函式的參數傳遞可以透過Call by Address、(3) 函式中可以定義其他函式、(4) 函式的參數傳遞可以透過Call by Value
有關於資料庫的關聯式代數(Relational Algebra),以下的敘述那些為正確? 1. 兩個要進行 MINUS(-)操作的表格必須為union-compatible 2. INTERSECTION(∩)操作符合交換律與結合律的特性 3. 兩個要進行PRODUCT(×)操作的表格必須為union-compatible 4. UNION(∪)操作符合交換律與結合律的特性。
答案:(1) 兩個要進行 MINUS(-)操作的表格必須為union-compatible、(2) INTERSECTION(∩)操作符合交換律與結合律的特性、(4) UNION(∪)操作符合交換律與結合律的特性
解析:關聯式代數中,集合操作要求參與的關聯(表格)必須「聯集相容」(union-compatible),即屬性數目相同且對應屬性定義域相容。選項1正確:差集MINUS(−)需兩表聯集相容。選項4正確:聯集UNION(∪)亦需聯集相容,且聯集滿足交換律(R∪S=S∪R)與結合律((R∪S)∪T=R∪(S∪T))。選項2正確:交集INTERSECTION(∩)同樣滿足交換律與結合律。選項3錯誤:卡氏積PRODUCT(×)不要求聯集相容,它將兩表所有屬性組合、tuples兩兩相乘,僅要求屬性名稱不衝突(必要時重新命名)。
關聯式代數(Relational Algebra)的完整集合(Complete Set)共有五個操作,其他操作可以由此完整 集合實作出來,請問以下的操作那些屬於完整集合? 1. MINUS(-) 2. INTERSECTION(∩) 3. DIVISION(÷) 4. PRODUCT(×)。
答案:(1) MINUS(-)、(4) PRODUCT(×)
解析:關聯式代數的「完整集合」(Complete Set,亦稱基本運算)為五個:選擇σ(Selection)、投影π(Projection)、聯集∪(Union)、差集−(Minus/Difference)、卡氏積×(Product)。這五個運算足以表達其他所有運算。因此選項1 MINUS(−)與選項4 PRODUCT(×)皆屬完整集合。選項2 INTERSECTION(∩)可用 R∩S = R − (R − S) 推導,非基本運算;選項3 DIVISION(÷)亦可經由投影、差集、卡氏積等組合得出,同屬衍生運算。故屬完整集合者為1、4。