110 國安局特考五等 資訊組 計算機大意 考古題詳解
第 1 題2 分
計算機網路中的延遲效應,影響網路效能甚劇烈。有一串流媒體到達佇列的速率為 (packets/s),連結的傳輸速率為 (bits/s),每一封包含有 (bits),試問該串流媒體的流量強度 較合理的值為何?
核心觀念
本題測驗計算機網路中**佇列延遲(Queueing Delay)與流量強度(Traffic Intensity)**的定義及系統穩定性條件。
- 流量強度(Traffic Intensity, 記為 )公式:
- :封包到達率(Arrival Rate),單位為 。
- :每個封包的大小(Packet Length),單位為 。
- :位元到達速率(Arrival Rate of Bits),單位為 。
- :連結的傳輸速率(Transmission Rate / Bandwidth),單位為 。
- 佇列系統穩定條件: 流量強度為「輸入位元速率」與「輸出傳輸速率」之比值。依據排隊理論(Queueing Theory),系統若要維持穩定運作,服務速率必須大於到達速率,亦即流量強度必須嚴格小於 1。
解題方法
- 分析位元供需關係:
- 佇列的「進料速率」為 (bits/s)。
- 佇列的「消化速率」為 (bits/s)。
- 評估流量強度對網路效能的影響:
- 當 :位元到達的平均速率小於線路傳輸容量,佇列可在封包抵達間隔被清空,平均佇列延遲為有限常數,系統維持穩定狀態。
- 當 :因封包到達具有隨機性與叢發性(Burstiness),佇列長度會急遽拉長,平均佇列延遲呈非線性暴增並趨近於無限大。
- 當 :到達速率持續大於服務速率,佇列以線性速率無限制增長。
第 2 題2 分
購物網站為了讓消費者享有便利的網購體驗,會使用何種技術,讓伺服器得以根據消費者身分提供差異性服務?
核心觀念
本題考查 Web 狀態管理(State Management)與網路通訊協定之功能。 HTTP(HyperText Transfer Protocol)本身屬於「無狀態協定(Stateless Protocol)」,即伺服器處理完單次請求後便斷開連線,並不會在協定層級記憶先前使用者的請求歷程。為了在網頁應用(如電子商務購物車、會員登入、個人化推薦)中辨識使用者身分並維護連續的使用狀態,必須引進狀態追蹤機制。其中,Cookie 是由伺服器發送並由使用者端(瀏覽器)儲存的小型文字資訊,能在後續請求中回傳給伺服器,作為識別使用者身分與提供差異化服務的核心技術。
解題方法
解題切入點在於抓取題目情境中的關鍵字:「購物網站」、「辨識消費者身分」、「提供差異性服務(個人化服務/狀態保存)」。
- 辨識應用場景:題目情境為 Web 應用程式環境。
- 分析功能需求:需要一種能突破 HTTP 無狀態限制,在用戶端與伺服器之間記錄使用者特定身分標籤(如 Session ID、會員代碼、購物偏好)的技術。
- 對照選項協定與技術:
- 僅有 Cookie 屬於 Web 用戶端狀態保存機制。
- 其餘三者皆為網路傳輸或特定應用層協定(郵件、通訊、遠端登入),不具備 Web 網站用以追蹤使用者個人化狀態的功能。
選項分析
- (A) 錯誤:IMAP(Internet Message Access Protocol,網際網路訊息存取協定)
- 功能:用於「接收」電子郵件的應用層協定(標準埠號 Port 143,加密為 Port 993)。
- 特點:允許使用者在伺服器端管理郵件匣,並支援多裝置同步讀取與資料夾分類,與購物網站的網頁狀態維持無關。
- (B) 正確:Cookie
- 功能:由 Web 伺服器傳送給瀏覽器並儲存在本機端的小型文字檔。
第 3 題2 分
假設用戶端 A 上的程序(process),藉由 socket 欲傳送一段應用程式的資料給伺服端 B 上的程序,該 socket 不需含何種資訊?
核心觀念
本題測驗 TCP/IP 網路架構中 Socket(通訊端點) 的定義、運作層級與定址機制:
- Socket 的定義:在網路程式設計中,Socket 是應用層(Application Layer)與傳輸層(Transport Layer)之間的抽象介面。應用程式藉由 Socket 與作業系統的網路通訊協定堆疊(Protocol Stack)溝通。
- 通訊端點的識別要素:傳輸層使用 IP 位址(網路層定址) 與 埠號(Port Number,傳輸層定址) 來達到端對端(End-to-End)的程序對程序(Process-to-Process)通訊。一個建立完成的網路連線 Socket 通常由「四元組(4-tuple)」或「五元組(5-tuple)」唯一識別:
- 分層抽象原則:MAC 位址屬於第二層(資料鏈結層,Data Link Layer)的實體定址,僅在區域網路內做節點對節點(Hop-by-Hop)傳送,對作業系統抽象出的 Socket 而言是完全透明且不需包含的資訊。
解題方法
從「OSI / TCP-IP 分層架構」切入判斷:
- 通訊層級定位:用戶端 A 上的程序欲透過 Socket 傳送資料給伺服端 B 上的程序,屬於「程序間通訊(Inter-Process Communication, IPC)」,由傳輸層(TCP 或 UDP)提供服務。
- 必要資訊檢視:
- 為了找到「目標主機」與標明「發送主機」,必須使用 網路層的 IP 位址(來源 IP、目的 IP)。
- 為了在主機中找到特定的「執行程序」,必須使用 傳輸層的埠號(來源 Port、目的 Port)。
第 4 題2 分
主機 A 想要傳送一個大型檔案給主機 B。從主機 A 到主機 B 僅含一條路徑且包含三道連結(links),速率分別為 kbps、 Mbps、 Mbps。假設網路中沒有其他資料流,請問該筆檔案傳輸的產出率(Throughput)為何?
核心觀念
本題測驗電腦網路中**端對端產出率(End-to-End Throughput)與瓶頸連結(Bottleneck Link)**的基本概念。
- 產出率(Throughput):指單位時間內從來源端成功傳送至目的端的有效資料量(常見單位為 bps、kbps、Mbps)。
- 瓶頸連結(Bottleneck Link)與木桶原理:當資料流經過多個依序串接(in-series)的網路連結,且路徑上沒有其他背景流量干擾時,傳輸速率受限於整條路徑上「頻寬最低(最窄)」的連結。其端對端傳輸產出率公式為:
解題方法
步驟一:統一步驟中的速率單位 題目中給定的三道連結速率單位不同,需換算為相同單位以利比較(網路傳輸速率採用十進位制,):
步驟二:比較速率大小並找出瓶頸連結 比較三個連結速率: 由此可知, 為整條路徑上傳輸速率最低的連結,即為「瓶頸連結」。
步驟三:計算產出率 依據瓶頸連結限制,端對端產出率等於瓶頸連結的速率:
第 5 題2 分
計算機使用者為親自感受網路中端點對端點的路徑延遲效應,在 Windows 系統中可以利用下列哪一道程式指令?
核心觀念
本題測驗重點為 Windows 作業系統常見網路診斷指令的功能與應用場景,特別是偵測網路「路徑(Hop-by-hop)」與「延遲(Latency / RTT)」的專屬工具。
- 路徑追蹤原理(Traceroute 機制): 在 IP 網路中,封包表頭包含「存活時間(TTL, Time To Live)」欄位。封包每經過一台路由器(Hop),TTL 便會減 ;當 時,該路由器會丟棄該封包,並向來源端回傳 ICMP「Time Exceeded(超時)」訊息。透過逐次遞增 TTL(從 開始發送),來源端即可依序識別路徑上的每一個中繼節點,並計算送出到收到回應的時間差,藉此呈現整條傳輸路徑中各節點的往返延遲(Round-Trip Time, RTT)。
- 作業系統指令差異:
- Windows 系統實作該功能的指令為
tracert。 - Linux / UNIX / macOS 系統實作該功能的指令為
traceroute。
解題方法
本題的解題關鍵在於辨別題目要求的是「路徑延遲效應」而非單純的「連線可達性」。
- 使用者欲「親自感受網路中端點對端點的路徑延遲效應」,代表不僅要知道終點是否連通,還必須觀察封包從起點抵達終點過程中,沿途經過哪些路由器節點,以及每一段中繼節點產生的延遲時間(RTT)分佈與瓶頸所在。
- Windows 系統內建的
tracert指令,每次探測都會對同一節點送出三次封包並列出三個毫秒()數值,能完整展示封包行經路徑上各中繼站的個別延遲情況,完全符合題目敘述的情境。
選項分析
- (A) tracert(正確): 為 Windows 系統內建的路由追蹤程式(Trace Route)。
第 6 題2 分
關於 ISO 的網際網路七層 OSI 模型中,路由器與連結層交換器,一般分別只會實作哪些層級?
核心觀念
本題測驗 OSI 七層模型(OSI 7-Layer Reference Model)中各網路互連設備(Network Interconnection Devices)所對應的運作層級,以及協定堆疊的「由下而上實作與封裝/解封裝」特性。
- OSI 七層架構底層定義:
- 第 1 層(實體層,Physical Layer):負責傳輸媒介上的原始位元流(Bit Stream)傳輸、電氣規格與訊號編碼。
- 第 2 層(資料連結層,Data Link Layer):負責節點到節點(Node-to-Node)的訊框(Frame)傳送、實體位址(MAC 位址)尋址、流量控制與錯誤偵測。
- 第 3 層(網路層,Network Layer):負責端對端(End-to-End)的封包(Packet)繞送(Routing)、邏輯位址(IP 位址)定址與壅塞控制。
- 協定實作的階層依賴原則(向下包含原則): 網路設備在處理特定層級的控制資訊(標頭 Header)時,必須先接收並解析其底層協定。若設備運作在第 層,代表它必須具備處理第 層至第 層的能力,才能完成底層訊號接收與向上解封裝(Decapsulation)。
解題方法
判定各網路設備實作層級的切入點在於:該設備最高能讀取並處理到哪一層的標頭資訊。
- 路由器(Router):
- 核心功能在於根據網路層邏輯位址(IP)進行路由選擇與封包轉發。
- 運作時,路由器必須先在實體連接埠接收電氣/光訊號(第 1 層),接著解開封裝讀取資料連結層訊框(第 2 層 MAC 位址),最後解開封裝以檢視網路層封包(第 3 層 IP 位址)進行路徑決策。
- 因此,傳統路由器一般必須實作 第 1 層至第 3 層。
- 連結層交換器(Link-layer Switch / Layer 2 Switch):
- 核心功能在於依據資料連結層的實體位址(MAC 位址)進行區域網路內訊框的過濾與轉發(Forwarding/Filtering)。
第 7 題2 分
計算機 CPU 中的程式計數器(program counter),主要任務為何?
核心觀念
本題測驗 CPU 內部控制單元之核心架構與**指令週期(Instruction Cycle)**的運作流程。
- 程式計數器(Program Counter, PC):又稱為指令指標(Instruction Pointer, IP),是 CPU 內部極關鍵的專用暫存器,主要職責為存放「下一道即將被擷取並執行之指令」在主記憶體中的位址。
- 指令擷取流程(Instruction Fetch):在指令週期的擷取階段,控制單元(Control Unit, CU)透過 PC 指向的位址,從記憶體讀出該指令並放入指令暫存器(Instruction Register, IR),隨後 PC 會自動遞增指向更下一道指令(若遇分支/跳躍指令則由跳躍目標位址覆蓋)。
解題方法
解答本題的切入點在於精確掌握 CPU 內部各主要暫存器與功能元件的職掌劃分:
- 指令指標類:負責尋址下一道指令位置 程式計數器(PC)。
- 指令暫存類:負責存放當前正在執行的指令內容 指令暫存器(IR)。
- 指令解讀類:負責將指令解讀為微控制訊號 指令解碼器(Instruction Decoder, ID)。
- 資料傳遞類:負責往返主記憶體讀寫資料運算元 記憶體資料暫存器(MDR / MBR)與通用暫存器(GPR)。
逐一比對各選項後,僅 (B) 正確描述了控制單元利用 PC 判斷位置、進而自記憶體擷取下一道指令的過程。
選項分析
- (A) 錯誤:將指令的數據運算元從記憶體擷取並置入暫存器,屬於指令週期中的「運算元擷取(Operand Fetch)」階段,所涉及的硬體為**記憶體資料暫存器(Memory Data Register, MDR
第 8 題2 分
互斥或運算元(XOR),若有三個二進位字串為 、、,求 的值?
核心觀念
本題主要測驗數位邏輯與計算機概論中常見的位元邏輯運算(Bitwise Logic Operations)——「互斥或」(Exclusive OR,簡稱 ,符號常記為 ):
- 基本運算規則: 對於兩個單一位元的輸入,相異輸出 、相同輸出 :
- 代數特性(交換律與結合律): 運算滿足交換律()與結合律(),因此多個運算元連續進行 時,運算順序不影響最終結果。
- 多輸入延伸特性(奇數個 1 判別法): 多個位元進行 運算,實質上等同於二進位無進位加法(模 2 加法,):
- 若對應位元中「」的個數為奇數個,該位元結果為 。
- 若對應位元中「」的個數為偶數個(含 個),該位元結果為 。
解題方法
方法一:逐步運算(標準解法)
將三個二進位字串由左至右逐位元(Bitwise)計算。依結合律先算 ,再將結果與 做 :
- 計算 :
- 第 1 位(最高位):
- 第 2 位:
- 第 3 位:
- 第 4 位:
- 第 5 位(最低位):
- 得到暫存結果:
- 計算 :
- 第 1 位(最高位):
- 第 2 位:
- 第 3 位:
- 第 4 位:
- 第 5 位(最低位):
- 最終結果為:
方法二:直式對齊奇偶計數法(考場速算法)
將三個二進位字串垂直對齊,直接統計各縱行「」的出現個數:
第 9 題2 分
在 IEEE-754 浮點標準中,單/雙精確度(single/double precision)浮點表示法中,不包含下列何者?
核心觀念
本題考查 IEEE-754 浮點數表示標準(IEEE Standard for Floating-Point Arithmetic) 的基本欄位結構。
在計算機系統中,IEEE-754 標準定義了實數在二進位下的編碼格式。無論是 單精確度(Single Precision,32 位元) 還是 雙精確度(Double Precision,64 位元),其標準儲存格式皆僅由以下三個欄位組成:
- 符號位元(Sign bit, ):決定數值的正負。
- 指數位元 / 階數位元(Exponent, ):決定數值的大小範圍,採偏移表示法(Biased representation)。
- 有效數字位元 / 假數位元 / 尾數位元(Significand / Mantissa / Fraction, 或 ):決定數值的精確度。
規格化後的浮點數值表示公式為:
各欄位的位元配置如下表:
- 單精確度(32-bit):符號位元 、指數位元 ()、有效數字位元 ,合計 。
- 雙精確度(64-bit):符號位元 、指數位元 ()、有效數字位元 ,合計 。
解題方法
檢視 IEEE-754 規範之浮點數結構,格式中嚴格劃分為「符號(Sign)」、「指數(Exponent)」及「假數/有效數字(Significand/Fraction)」三大部分。
第 10 題2 分
在 ASCII 碼中, 的二進位分別為 ,試問 的十進位為何?
核心觀念
- ASCII 碼(美國資訊交換標準碼)之連續性特性:
- 英文大寫字母 的編碼為連續遞增。
- 英文小寫字母 的編碼亦為連續遞增。
- 同一英文字母的大小寫 ASCII 十進位值固定相差 (小寫 大寫 ),反映在二進位上即第 5 個位元(bit 5,由右至左第 6 位元)由 0 變為 1。
- 二進位轉十進位(權重展開法):
解題方法
步驟一:求出基準字元的十進位數值
由題目給定的二進位數值進行權重展開:
- 字元 : 因此,大寫字母 的十進位為 。
- 字元 : 因此,小寫字母 的十進位為 。
步驟二:推導目標字元 的十進位數值
- 求字元 :
- 為 的下一個字母:
- 求字元 :
- 在英文字母表中為第 14 個字母,相對於第 1 個字母 的位移量為 :
- 求字元 :
第 11 題2 分
在數據通訊的通道中,可能會有錯誤位元的發生,因此需要有具錯誤修正能力(correction)的編碼,下列何者有此能力?
核心觀念
本題測驗的核心為計算機網路與資料通訊中的錯誤控制編碼(Error Control Coding),特別是區分「錯誤更正(Error Correction)」、「錯誤偵測(Error Detection)」與一般的「字元編碼(Character Encoding)」。
- 錯誤控制技術分類:
- 錯誤偵測(Error Detection):僅能判斷傳輸資料在通道中是否發生錯誤,無法指出錯誤發生的具體位置,因而無法自行更正,通常需配合自動重傳請求(ARQ)重新發送資料。常見技術包括:同位檢查碼(Parity Check)、循環冗餘檢查碼(CRC, Cyclic Redundancy Check)、檢查和(Checksum)。
- 錯誤更正(Error Correction / FEC, Forward Error Correction):透過在原始資料中加入特定設計的冗餘位元(Redundant/Parity Bits),接收端不僅能發現錯誤,還能精確定位出錯誤發生的位元位置,直接予以反轉修正。最具代表性的即為漢明碼(Hamming Code)。
- 漢明碼原理與公式: 若資料位元數為 ,加入的同位檢查位元數為 ,則必須滿足漢明不等式: 接收端透過計算校驗子(Syndrome),若數值不為 ,其二進位數值即代表發生錯誤的位元索引編號,藉此達成單一位元錯誤更正(SEC, Single Error Correction)。
- 字元編碼(Character Encoding): 定義符號、文字與電腦二進位數值間的對應表(如 ASCII、EBCDIC、Unicode),其目的在於資料的「表示與儲存」,本質上不包含通道傳輸的錯誤修正機能。
解題方法
從題幹關鍵字切入分析:
- 題目明確指出通道中可能出現錯誤位元,需要具備**「錯誤修正能力(correction)」**的編碼。
- 檢視選項屬性:選項 (B)、(C)、(D) 全數屬於電腦系統中的「文字/字元編碼系統」,唯有選項 (A) 屬於通訊傳輸中的「錯誤更正通道編碼」。因此本題可直接由功能屬性判定 (A) 為正確答案。
選項分析
- (A) 漢明碼(Hamming Code):正確。 由理查·漢明(Richard Hamming)於 1950 年提出,是一種線性錯誤更正碼。漢明碼透過將多個同位檢查位元置於 的次方位置(即第 個位元),讓每個同位位元分別負責檢查特定集合的資料位元。
第 12 題2 分
下列資料處理方法,何者無法減少冗餘資料,使得傳輸更有效率?
核心觀念
本題考查通訊與資料傳輸系統中**來源編碼(Source Coding)與通道編碼(Channel Coding)**的基本定義與功能差異:
- 來源編碼(Source Coding,即資料壓縮):主要目的是去除冗餘資料(Redundancy Removal),以最少的位元數表示原始訊息,從而降低頻寬需求、提升傳輸與儲存效率。
- 通道編碼(Channel Coding,即錯誤控制編碼):主要目的是在有雜訊的通訊通道中提高傳輸可靠度。其實現方式為主動引入受控的冗餘位元(Adding Redundancy),例如校驗碼或更正碼,用以進行錯誤偵測(Error Detection)與錯誤更正(Error Correction)。
解題方法
題目詢問「何者無法減少冗餘資料,使得傳輸更有效率」,切入點為分辨各項技術屬於「資料壓縮(消除冗餘)」還是「錯誤控制(增加冗餘)」:
- 若技術旨在消除統計、結構或感官冗餘以縮減資料量,屬於資料壓縮技術,符合「減少冗餘資料」。
- 若技術旨在確保信號傳輸正確性,其核心原理反而是刻意加入額外同位位元,因此它「無法減少冗餘資料,甚至會增加資料總量」。
經比對,(A)、(C)、(D) 皆屬於消除冗餘的資料壓縮技術,唯有 (B) 通道編碼法是透過加入冗餘來換取傳輸正確率。
選項分析
-
(A) Huffman 編碼法(錯誤,能減少冗餘) 屬於無失真資料壓縮演算法(來源編碼)。其原理是統計符號出現的頻率,依頻率高低建構 Huffman 樹;出現頻率較高的符號給予較短的碼字(Code word),出現頻率較低的符號給予較長的碼字,藉此有效去除資料中的統計冗餘(Statistical Redundancy),縮減檔案大小。
-
(B) 通道編碼法(正確,無法減少冗餘) 通道編碼(Channel Coding)的目的是為了抗雜訊與干擾,確保資料在傳輸過程中的完整性(如漢明碼 Hamming Cod
第 13 題2 分
在資料庫運算中,下列何者不屬於資料庫運算的命令操作?
核心觀念
本題測驗關聯式資料庫(Relational Database)的操作分類與標準專有名詞,涵蓋「關聯代數(Relational Algebra)」與「資料操作語言(Data Manipulation Language, DML)」:
- 關聯代數五大基本運算:
- 選擇(Selection):記作 ,挑選符合條件的橫列(Tuples/Records)。
- 投影/映射(Projection):記作 ,挑選指定的直行(Attributes/Fields)。
- 聯集(Union):記作 ,合併兩關聯表的所有記錄(須具備聯集相容性)。
- 差集(Set Difference / Minus):記作 ,取出在第一關聯但不在第二關聯的記錄。
- 卡氏積/笛卡兒積(Cartesian Product):記作 ,產生兩關聯表所有可能的元組配對組合。
- 資料庫異動命令(DML):
- 資料庫的日常操作包含新增(Insert)、刪除(Delete)與**更新(Update)**等命令。
- 專有名詞精準度:
- 笛卡兒積的運算符號雖為 ,但其標準英文專有名詞為 Cartesian Product 或 Cross Product,不可誤稱為數值乘法的「Multiplication」。
解題方法
本題的解題切入點在於比對資料庫理論與 SQL 實務中的標準操作命令術語:
- 檢視各選項之操作是否為關聯代數定義的運算,或為資料庫常用的 DML 命令。
- 題目提供的英文名稱具有關鍵指引效果:
project operation即投影運算;update operation即更新運算;minus operation即差集運算;multiplication operation並非資料庫操作的正式術語(關聯代數之積為 Cartesian Product)。
- 由此判定 (A) 屬於錯誤的置換名稱,不屬於資料庫運算的命令操作。
選項分析
第 14 題2 分
使用雜湊函式可隨機存取檔案中的一筆紀錄,但可能產生相同位址,導致碰撞。下列何者不能解決位址碰撞的問題?
核心觀念
在資料結構與檔案處理中,「雜湊法(Hashing)」是透過雜湊函式 將鍵值(Key) 轉換為對應的儲存位址(Address),以達到近乎 的快速隨機存取。
- 碰撞(Collision)與溢位(Overflow):
- 當兩個不同的鍵值 ,經過雜湊運算後得到相同位址,即 ,這兩筆資料互為同義字(Synonyms),該現象稱為碰撞(Collision)。
- 若該位址的儲存空間已滿,無法再容納新紀錄時,則會發生溢位(Overflow)。
- 碰撞處理原則:
- 解決碰撞的機制必須完整保留所有紀錄,並保證後續查詢時皆能正確檢索出新舊資料。
- 常見合法的碰撞解決法包括:
- 開放定址法(Open Addressing):重新探測其他未被占據的空位。
- 鏈結串列法(Chaining / Separate Chaining):在同一位址建立串列收納衝突紀錄。
- 雜湊桶法(Bucket Hashing):擴充單一位址的容量,使其具備多個槽位(Slots)。
解題方法
本題問「何者不能解決位址碰撞的問題」,核心切入點為檢驗各選項是否能同時保存衝突的新舊資料,且不造成資料遺失:
- 資料結構設計的基本底線為「資料完整性(Data Integrity)」。任何處理機制若會抹除或覆寫原有資料,導致舊紀錄永久遺失,便違背了資料儲存與檢索的目的,不可視為「解決碰撞的方法」。
- 逐一比對選項中描述的機制,判斷其是否對應教科書中的正規雜湊衝突解決演算法。
選項分析
第 15 題2 分
通常程式設計師撰寫完成其程式後,會先執行何種測試?
核心觀念
本題測驗軟體工程中的**軟體測試層級(Levels of Software Testing)**與測試生命週期順序。 在標準軟體開發流程(如 V 模型,V-Model)中,軟體測試通常由底層至高層、範圍由小到大循序進行,標準四個層級順序為:
- 單元測試(Unit Testing):針對軟體最小可測試單位(如函式、方法、類別或個別模組)進行邏輯與功能驗證。主要由**程式設計師(開發者)**在編碼完成後立即自行執行,多採白箱測試(White-box Testing)。
- 整合測試(Integration Testing):將多個已通過單元測試的模組組裝,驗證模組間的介面(Interface)與資料傳遞是否正確。
- 系統測試(System Testing):將整個軟體系統組裝完畢後,針對整體規格(含功能性與非功能性需求,如效能、安全性)進行全面檢驗,通常由獨立的測試團隊(QA)執行。
- 驗收測試(Acceptance Testing):軟體交付前,由**使用者(客戶)**或業主依據需求規格書進行測試,以決定是否正式驗收上線(常見形式包含 Alpha 測試、Beta 測試)。
解題方法
解題關鍵在於掌握題幹的兩大核心線索:
- 執行主體:「程式設計師(Programmer)」。
- 時間順序:「撰寫完成其程式後,會『先』執行」。
軟體測試的執行順序為:
第 16 題2 分
使用瀑布模型進行軟體開發專案,開發團隊需依循下列何者適當的順序,來完成該軟體開發專案?
核心觀念
本題測驗軟體工程(Software Engineering)中最基礎且經典的軟體開發生命週期(Software Development Life Cycle, SDLC)模型——瀑布模型(Waterfall Model)。
瀑布模型是由溫斯頓·羅伊斯(Winston Royce)所提出,其核心特徵為線性循序(Linear Sequential)與階段性推進。每個階段都有明確的任務目標與文件產出(Deliverables),必須等前一階段完成並通過審核確認後,才能將產出作為下一階段的輸入,如同瀑布之水由上往下流動一般不可逆轉。標準的生命週期核心階段如下:
- 需求分析(Requirements Analysis):釐清「要做什麼(What to do)」,蒐集並定義系統需求。
- 系統設計(System Design):規劃「如何做(How to do)」,將需求轉化為架構、資料庫與模組介面設計規格。
- 實作/編碼(Implementation / Coding):依據設計規格書實際撰寫程式碼。
- 測試與驗證(Testing & Verification):執行程式以尋找缺陷(Bugs),驗證是否符合原始需求。
- 部署與維護(Deployment & Maintenance):系統上線使用並持續除錯或更新。
解題方法
解題切入點在於掌握各開發階段的邏輯因果關係:
- 先「分析」後「設計」:在未釐清使用者真正的需求與問題範疇(分析)之前,無法憑空規劃系統架構與資料規格(設計)。因此順序必然是「分析階段 設計階段」。
第 17 題2 分
給定布林函數 則 的結果為何?
核心觀念
本題測驗數位邏輯中「布林代數(Boolean Algebra)」之函數求值與化簡能力,涉及以下核心觀念:
- 邏輯運算基本定義:
- 邏輯及(AND,以 表示):所有輸入皆為 1 時輸出才為 1;只要有任一輸入為 0,輸出即為 0(即 )。
- 邏輯或(OR,以 表示):所有輸入皆為 0 時輸出才為 0;只要有任一輸入為 1,輸出即為 1(即 )。
- 布林函數求值(Evaluation):將變數之給定布林值直接代入函數運算式求出真值。
- 布林代數基本定理:
- 冪等律(Idempotent Law):
- 吸收律(Absorption Law):
- 分配律(Distributive Law):
解題方法
本題可採「直接代入法」或「先化簡後代入法」,兩者皆能推導出一致結果。
方法一:直接代入法(考場推薦最速解法)
題目給定布林函數: 欲求 ,即將變數指派為: 依序計算式中四個乘積項(AND 項):
- 第一項:
- 第二項:
- 第三項:
- 第四項:
將各項進行邏輯或(OR)相加:
方法二:先化簡後代入法(代數推導檢驗)
利用布林代數公理先精簡函數式:
- 依冪等律合併重複項:
第 18 題2 分
關於下列布林恆等式,何者錯誤?
核心觀念
本題測驗數位邏輯中**布林代數(Boolean Algebra)**的基本公理與重要定理,包含:
- 分配律(Distributive Law):乘法對加法具分配律,加法對乘法亦具分配律(與普通代數不同之處)。
- 吸收律(Absorption Law): 以及 。
- 互補律(Complement Law): 以及 。
- 冪等律(Idempotent Law): 以及 。
- 同一律與零律(Identity and Boundedness Laws):、、。
解題方法
布林恆等式的判斷通常有兩種切入方式:
- 定理直接比對法:熟記標準布林代數定理(如第一/第二分配律、吸收律),直接判斷等式是否合規。
- 代數展開化簡法:將左式括號展開,依序套用互補律、冪等律與提出公因式化簡,觀察是否等於右式。
選項分析
- (A) :正確 此為布林代數著名的第二分配律(加法對乘法的分配律),常考且與一般算術代數不同。 推導如下: 利用冪等律 : 因為 ,故: 等式成立。
第 19 題2 分
有關 CPU 的中斷處理(interrupt handling),下列何種事件一般不會處置?
核心觀念
本題測驗 CPU 的「中斷處理機制(Interrupt Handling)」與「中斷來源分類」。
- 中斷(Interrupt)的定義: CPU 在正常循序執行程式的過程中,若遇到內部異常、軟體請求或外部週邊設備事件,暫停目前執行中的程式,保留當前執行現場(Context),轉而執行特定的「中斷服務常式」(Interrupt Service Routine, ISR),待處理完成後再返回原程式繼續執行的機制。
- 常見中斷與例外來源分類:
- 外部中斷(External Interrupt / 硬體中斷):由 CPU 外部硬體元件觸發,具有非同步(Asynchronous)特性。例如:I/O 設備傳輸完成或請求、定時器(Timer)計時終止、電源異常、硬體故障(Hardware Malfunction)等。
- 內部中斷(Internal Interrupt / 例外 Exception / 陷阱 Trap):CPU 執行指令本身所引發的異常狀況,具有同步(Synchronous)特性。例如:算術溢位(Arithmetic Overflow)、除以零(Division by Zero)、記憶體保護違規(Page Fault)、未定義指令等。
- 軟體中斷(Software Interrupt):由程式指令主動發起,例如執行系統呼叫(System Call / SVC),請求作業系統核心提供服務。
- 正常指令執行週期(Instruction Cycle): 指令週期包含擷取(Fetch)、解碼(Decode)、執行(Execute)、寫回(Write-back)等基本階段。正常的暫存器讀取與寫入屬於控制單元(Control Unit)與資料通路(Datapath)既定的微運作(Micro-operation),屬於日常排定的工作流程,並非中斷事件。
解題方法
從「事件是否需要打破常規指令流程」切入分析: 中斷處理機制的本質是處置「非預期的異常事件」或「需即時回應的外部非同步訊號」。
第 20 題2 分
關於 CPU 存取記憶體的速率快慢比較,何者正確?
核心觀念
本題考查計算機組織與結構中的記憶體階層架構(Memory Hierarchy)。
電腦系統為了兼顧「存取速度(Speed)」、「儲存容量(Capacity)」與「製造成本(Cost)」,採用金字塔式的階層化設計。記憶體階層的通則是:越靠近 CPU 運算核心的元件,存取速度越快、容量越小、單位位元(bit)成本越高。
典型的記憶體存取速度階層由快至慢依序為:
解題方法
依據各儲存元件在計算機架構中的物理位置、電路技術與存取延遲(Access Time)進行比較:
- 暫存器(Register): 直接位於 CPU 運算核心內部,由正反器(Flip-Flop)電路組成,與 CPU 工作時脈完全同步,存取時間通常小於 (奈秒),是整個系統中存取速度最快的元件。
- 快取記憶體(Cache Memory,SRAM 技術): 由靜態隨機存取記憶體(SRAM)構成,用於暫存 CPU 即將執行的指令與資料以減少等待時間。快取通常分為多個層級:
- L1 Cache(第一層快取):內建於 CPU 核心最深處,容量最小(約數十 KB 至數百 KB),但速度最接近暫存器(約數個 CPU 週期,約 )。
- L2 Cache(第二層快取):容量稍大,速度略慢於 L1(約十餘個 CPU 週期,約 )。
- (若有 L3 Cache,速度則再次之)。
- 主記憶體(Main Memory,如 SDRAM): 以動態隨機存取記憶體(DRAM,如 DDR SDRAM)構成,需經由記憶體匯流排與控制器存取,且需定期充電刷新(Refresh),存取延遲通常在數十奈秒(約 )。
- 輔助記憶體(Secondary Storage,如 SSD):
第 21 題2 分
有關串列(Linked Lists)與陣列(Arrays)之特性比較,何者為真?
核心觀念
本題測驗基本資料結構中**陣列(Array)與鏈結串列(Linked List)**的特性差異。命題核心聚焦於兩者在以下三大面向之優缺點比較:
- 記憶體配置與空間使用:連續配置 vs. 動態分散配置、指標欄位的空間開銷(Pointer Overhead)。
- 存取與搜尋效率:隨機存取(Random Access)與循序搜尋(Sequential Search)之時間複雜度與快取區域性(Cache Locality)。
- 資料變更成本:新增(Insertion)與刪除(Deletion)時的元素搬移(Shifting)需求與指標調整。
解題方法
比對兩者底層運作機制即可迅速判定:
- 陣列:使用連續的記憶體空間儲存相同型態之資料。因空間連續,可依索引(Index)在 內直接計算出記憶體位址進行隨機存取;但在非尾端處新增或刪除元素時,後方所有元素皆須向前或向後搬移,時間複雜度平均為 。
- 鏈結串列:由節點(Node)構成,節點之間分散在記憶體各處,透過指標(Pointer / Reference)彼此串接。新增與刪除節點時,只要更新相鄰節點的指標指向即可完成,完全不需搬移其他節點的資料;若已知操作位置,新增與刪除僅需 時間,操作彈性與效率明顯優於陣列。
選項分析
- (A) 錯誤:鏈結串列較耗費儲存空間。串列中每一個節點除了儲存實際資料(Data)外,必須額外配置指標欄位(Pointer)用以儲存下一個節點的記憶體位址;而陣列僅需儲存純資料,無額外的指標空間負擔(Overhead)。
- (B) 錯誤:兩者在未排序狀態下的循序搜尋(Sequential Search)時間複雜度皆為 。
第 22 題2 分
在 Java 程式設計語言中,哪個資料型態不是一個原始型態(primitive type)?
核心觀念
本題測驗 Java 程式語言的「資料型態分類」(Data Types)。
Java 的資料型態主要分為兩大類:
- 原始型態(Primitive Types,又稱基本資料型態): Java 規範中定義了嚴格的 8 種 原始型態,其關鍵字全為小寫,變數直接儲存實際數值於堆疊記憶體(Stack)中:
- 整數型態(Integral types):
byte(8 位元)、short(16 位元)、int(32 位元)、long(64 位元)。 - 浮點數型態(Floating-point types):
float(32 位元,單精度)、double(64 位元,倍精度)。 - 字元型態(Character type):
char(16 位元,Unicode 字元)。 - 布林型態(Boolean type):
boolean(值僅有true與false)。
- 參考型態(Reference Types,又稱物件型態):
包含類別(Class)、介面(Interface)、陣列(Array)等。變數儲存的是指向堆積記憶體(Heap)中物件實體之記憶體位址(參照)。例如:
String、自訂類別物件、陣列等皆屬此類。
解題方法
判斷題目所列之資料型態是否屬於 Java 的 8 大原始型態之一。
- 檢視選項:
boolean、int、double皆為 Java 內建的 8 大原始型態關鍵字。 - 字串在 Java 中是由
java.lang.String類別所定義的「參考型態」,且 Java 中並無名為string(全小寫)的原始型態關鍵字。因此,選項 (D) 不是原始型態。
第 23 題2 分
Scheme 語言是屬於 LISP 串列式語言之一,若函式 getLast 定義為取出串列最後的元素;getTheRest 定義為取出串列除第一個元素外的剩餘元素;若 List = ,試問
getLast(getTheRest(getTheRest(List)))
輸出為何?
核心觀念
本題測驗「函數型程式語言(Functional Programming)中的串列(List)操作」與「複合函式(Composite Function)的求值順序」。
- 複合函式求值原則: 在一般程式語言的應用序求值(Applicative Order)中,巢狀函式呼叫的執行順序為「由內而外」,即先求出最內層括號的結果,再依序往外傳入外層函式。
- 串列基本運算:
- 題目定義之
getTheRest:移除串列的「第一個元素」,並回傳其餘元素組成的新串列(在 LISP / Scheme 語言中對應經典的原生函式cdr或rest)。 - 題目定義之
getLast:取得串列的「最後一個元素」(在 LISP / Scheme 常用函式庫中相當於last)。
解題方法
題目給定初始串列:
要求計算之表達式為:
依照「由內而外」的步驟逐步推導:
-
步驟一:執行最內層的 移除 的首個元素 ,剩餘串列為:
-
步驟二:執行中間層的 對 再次移除其首個元素 ,剩餘串列為:
第 24 題2 分
音訊是一種類比(analog)資料,欲將其轉換為數位(digital)資料,不需經過下列哪一步驟?
核心觀念
本題測驗類比訊號轉數位訊號(Analog-to-Digital Conversion, ADC)的基本處理程序。在電腦與通訊領域中,最普遍且經典的音訊數位化技術為脈衝編碼調變(Pulse Code Modulation, PCM)。
將連續的類比音訊轉換為離散的二進位數位資料,必須經過「數位化三部曲」:
- 取樣(Sampling):將「時間軸」從連續轉為離散。
- 量化(Quantization):將取樣點上的「連續振幅值」對應至有限個離散階層。
- 編碼(Encoding):將離散階層數值轉換為電腦所能處理的二進位碼( 與 )。
解題方法
題目詢問將類比音訊轉換為數位資料「不需經過」哪一步驟。
類比訊號數位化的本質是「時間離散化」與「振幅離散化」,其必要流程嚴格依照「取樣 量化 編碼」的先後順序進行。一旦完成編碼,該訊號即已成為實質的未壓縮數位音訊(例如標準 CD 格式的 Linear PCM 或常見的 WAV 檔)。
「壓縮(Compression)」的目的在於降低資料傳輸頻寬或縮小儲存空間(例如將 PCM 壓製為 MP3、AAC 或 FLAC),屬於音訊成為數位資料之後的選擇性後製處理,並非從類比跨入數位的必要基礎步驟。因此,「壓縮」不屬於 A/D 轉換的必要流程。
選項分析
- (A) 編碼(Encoding):為必要步驟。將量化後的離散振幅階層數值(如第 255 階)依指定位元深度(Bit Depth,例如 8-bit、16-bit)轉換
第 25 題2 分
一部計算機有 MB 的記憶體,此計算機中每一字組為 個位元組。需要多少位元來定址記憶體中每一個字組?
核心觀念
本題考查計算機組織中的「記憶體容量與定址空間(Addressing Space)」換算關係:
- 定址位元與空間大小公式:若定址線有 個位元,則定址空間最多可區分 個獨立的定址單元。
- 容量單位換算:
- 定址單位(Addressable Unit):記憶體定址通常可分為「位元組定址(Byte Addressing)」與「字組定址(Word Addressing)」。若題目指定以「字組」為定址單位,則總定址單元數應為「記憶體總容量(Byte)除以每一字組的容量(Byte)」。
解題方法
本題採用「化為 2 的次方求指數」之標準解法:
-
計算記憶體總容量(以位元組為單位):
-
計算每個字組的大小(以位元組為單位):
-
計算記憶體中的總字組數:
-
求定址所需的位元數: 要唯一識別 個不同的字組,需要 個位元滿足 ,因此:
第 26 題2 分
下列何者等於九進位 ?
核心觀念
本題測驗「進位制數值轉換(Radix Conversion)」中的「非十進位轉十進位」。
在位置記數法(Positional Numeral System)中,基底為 的整數 ,其對應的十進位數值可透過**乘冪展開法(Polynomial Expansion)**計算:
本題之基底 ,由右至左各數位的權重(Weights)分別為:
- 第 0 位(個位):
- 第 1 位(十位):
- 第 2 位(百位):
解題方法
欲求九進位數 等於十進位數的多少,將各數位乘以對應之權重後相加:
-
各項權重展開:
-
數值計算:
- 百位項:
- 十位項:
- 個位項:
- 求和:
因此,。
選項分析
- (A) :錯誤。 此選項為常見的「符號直覺陷阱」,誤以為九進位的數字字符直接等同於十進位數值。因為基底 ,相同表示法的數字在九進位下的實際數值必定小於十進位,故不可直接畫上等號。
第 27 題2 分
如果我們使用 位元的樣式(bit pattern)來表示數字 到 ,每個數字都只使用一個位元樣式,則有多少個位元樣式是浪費的?
核心觀念
本題測驗「數值表示法」與「二進位編碼容量」的基本計算,核心觀念包含:
- 位元樣式總數(容量公式):若使用 個位元(bits),每個位元有 與 兩種狀態,由乘法原理可知,一共可形成 種相異的位元樣式(bit patterns)。
- 整數個數計算(加一原則):連續整數區間 內所包含的整數個數為 。
- 浪費樣式數定義:總共可提供的位元樣式數,扣除實際分配給數字使用的樣式數,剩餘未被使用的部分即為「浪費的樣式數」。
解題方法
-
計算 位元的總樣式數: 個位元所能產生的相異樣式總數為:
-
計算表示 到 所需的樣式數: 題目要求表示數字 到 ,且每個數字均佔用一個相異樣式。 數字個數為: 因此共使用 個位元樣式。
-
計算浪費的位元樣式數: 將總樣式數扣除實際使用之樣式數:
選項分析
第 28 題2 分
在 C 語言中,一個三維陣列 一共含有多少元素?
核心觀念
本題考查 C 語言多維陣列(Multi-dimensional Array)的宣告定義與元素總數計算:
- 陣列宣告與元素個數:在 C 語言中,宣告陣列時在中括號
[]內所填入的正整數,代表該維度的大小(長度/元素個數),而非最大索引值。 - 多維陣列元素總數公式:若一個 維陣列宣告為 ,則該陣列所容納的元素總數為各維度大小的乘積:
解題方法
- 檢視各維度大小: 題目給定之三維陣列宣告為 ,三個維度之長度分別為:
- 第一維度大小:
- 第二維度大小:
- 第三維度大小:
- 計算總元素個數: 將三個維度的大小直接相乘:
因此,該陣列一共含有 個元素。
第 29 題2 分
有兩個數字內容以十進位表示( 和 ),這兩個數字經過 bitwise XOR 邏輯運算後,將結果存入 ,請問 的內容以十進位表示時,結果為何?
核心觀念
本題測驗「進位制轉換」與「逐位元邏輯運算(Bitwise Operation)」的基礎概念:
- 進位制轉換:熟練十進位(Decimal)與 8 位元二進位(Binary)之間的雙向互轉。
- 互斥或運算(XOR,符號為 或
^)規則:
- 輸入位元「相同為 、相異為 」:
- 與全 位元進行 XOR 的代數性質:
- 任何二進位位元 與 做 XOR,等同於位元反轉(NOT 運算):。
- 8 位元無號整數 之二進位為 ,因此任何 8 位元數值 與 進行 Bitwise XOR,等價於求 的一的補數(即二進位各個位元反轉),數值上嚴格等於 。
解題方法
方法一:正規位元運算法(標準步驟)
-
步驟一:將十進位轉換為 8 位元二進位
-
(即 )
-
拆解為 2 的冪次和: 故
-
步驟二:逐位元進行 XOR 運算 對應位元相異輸出 1、相同輸出 0:
第 30 題2 分
下列何者不是 TCP/IP 協定中所訂定層架構之一?
核心觀念
本題測驗「TCP/IP 協定分層架構」(TCP/IP Protocol Architecture,又稱 DoD 模型)。 TCP/IP 是網際網路的核心通訊架構,標準的 TCP/IP 四層架構(由下而上)為:
- 網路存取層(Network Access Layer / Link Layer,或稱連結層)
- 網際網路層/網路層(Internet Layer / Network Layer)
- 傳輸層(Transport Layer)
- 應用層(Application Layer)
(部分現代教科書將網路存取層細分為實體層與資料鏈結層,統稱為 TCP/IP 五層架構)。無論是四層或五層模型,標準網路協定分層中皆無「虛擬層」。
解題方法
本題為標準的觀念記憶與架構辨識題。
- 檢視題幹所問為「不是 TCP/IP 協定中所訂定層架構之一」。
- 對照 TCP/IP 模型所涵蓋的各階層:
- 最頂層為應用層(Application Layer)。
- 中間負責端對端通訊者為傳輸層(Transport Layer)。
- 負責定址與封包路由者為網路層(網際網路層,Internet / Network Layer)。
- 底層為網路存取層(Network Access Layer)。
- 逐一比對各選項,即可發現 (D)「虛擬層」並非任何標準網路通訊模型(OSI 或 TCP/IP)所定義之層級。
第 31 題2 分
演算法必須具備哪些特性?下列哪一個答案正確?
核心觀念
本題考查計算機科學中演算法(Algorithm)的五大基本特性。此定義由圖靈獎得主高德納(Donald E. Knuth)於其經典著作《電腦程式設計藝術》(The Art of Computer Programming)中所確立,為國家考試各級《計算機大意》、《資料結構》之必考基本題:
- 輸入(Input):具備零個或多個由外部提供的輸入值(即輸入數量 )。
- 輸出(Output):至少必須產生一個輸出結果(即輸出數量 ),供使用者或系統接收運算成效。
- 明確性(Definiteness):演算法中的每一個步驟指令必須清晰、具體且無任何歧義(Unambiguous)。
- 有限性(Finiteness):演算法必須在執行「有限個步驟」及「有限的時間」後正常終止,絕不可陷入無窮迴圈(Infinite Loop)。
- 有效性/可行性(Effectiveness):每一個步驟都必須足夠基本、切實可行,原則上能利用紙筆於有限時間內逐步演算完成。
解題方法
解答本題的切入點為比對演算法的標準五大特性:「輸入、輸出、明確性、有限性、有效性」。 解題時應特別抓住「有限性」這一絕對要件——若程式無法終止(如作業系統常駐核心),在學理上僅能稱為「程式(Program)」或「程序(Process)」,不能稱作「演算法」。
第 32 題2 分
一個學校學生資料庫中,最適合作為主鍵(Primary Key)的個人資料為?
核心觀念
本題測驗關聯式資料庫(Relational Database)中**主鍵(Primary Key,簡稱 PK)**的定義與特性。
在關聯式資料庫中,主鍵具備以下兩大不可或缺的特質:
- 唯一性(Uniqueness):在同一個資料表(Table)內,任何兩筆紀錄(Record / Tuple)的主鍵值絕不能重複,能用來唯一識別該筆資料。
- 非空性(Not NULL / 實體完整性,Entity Integrity):主鍵值必須具備明確內容,絕對不可為空值(NULL)。
此外,理想的主鍵通常具備「簡短性」、「不易變動」且「不可替代」的特性。
解題方法
評估資料庫中最適合作為主鍵的欄位時,切入點為尋找「全體資料中絕無可能重複」的屬性:
- 檢視題目給定的實體情境為「學校學生」。
- 衡量各個個人資料欄位在現實中的資料分布與特性。
- 尋找能保證「每位學生皆擁有唯一一組對應值」的欄位。
第 33 題2 分
下列依據由左至右順序所建造的二元搜尋樹(Binary Search Tree)中,哪一個最為平衡(balanced)?
核心觀念
- 二元搜尋樹(Binary Search Tree, BST)之建樹原則:
- 樹中任意節點,其左子樹所有節點之值皆小於該節點之值。
- 樹中任意節點,其右子樹所有節點之值皆大於該節點之值。
- 由左至右依序插入資料時,第一個讀取的數值為根節點(Root),後續數值依據大小關係自根節點向下比較,找到適當空位插入。
- 樹的平衡性(Balanced)與樹高(Height):
- 二元搜尋樹的「平衡」,指任意節點的左右子樹高度差越小越好(例如 AVL 樹要求左右子樹高度差絕對值 )。
- 若 個節點建立的樹越平衡,其樹高越接近最小值 ;若完全不平衡,則退化為單向鏈結結構(稱為歪斜樹,Skewed Tree),樹高退化至最大值 。
- 本題共有 7 個節點,最小可能樹高為 (此時構成滿二元樹/完美二元樹)。
解題方法
本題給定 7 個相異數值:。將數值由小到大排序為: 其中位數(第 4 個數)為 33。
評估由左至右插入所建立之 BST 平衡度的方式:
- 依序將數列中的數值插入 BST。
- 檢視建構完成後的樹狀結構與樹高(以節點層數計算)。
- 比較各選項的樹高與各節點的平衡狀態,樹高最小、左右子樹對稱分布者最為平衡。
選項分析
- (A) 7, 24, 29, 33, 46, 52, 84(錯誤)
- 建樹過程:此數列為「嚴格遞增」排序。
- 根節點為 。
- 後續每一個數皆大於前一個數,因此 成為 的右小孩、 成為 的右小孩……依此類推。
- 樹形特徵:所有節點皆無左小孩,形成一條向右延伸的右歪斜樹(Right-skewed Tree)。
- 樹高: 層(完全退化為線性鏈結,搜尋效率退化為 ,最不平衡)。
- (B) 84, 52, 46, 33, 29, 24, 7(錯誤)
- 建樹過程:此數列為「嚴格遞減」排序。
- 根節點為 。
- 後續每一個數皆小於前一個數,因此 成為 的左小孩、 成為 的左小孩……依此類推。
- 樹形特徵:所有節點皆無右小孩,形成一條向左延伸的左歪斜樹(Left-skewed Tree)。
- 樹高: 層(完全退化為線性鏈結,最不平衡)。
第 34 題2 分
下列哪一種資料結構是一個有次序的資料集合,且其中每一個元素包含下一個元素的位址?
核心觀念 本題測驗「資料結構(Data Structure)」的基本分類與實體儲存結構特性。 資料在記憶體中建立邏輯次序(Logical Order)的方式主要分為兩大類:
- 循序配置(Sequential Allocation):利用實體記憶體位址的連續性來表示資料間的前後順序(例如:陣列)。
- 鏈結配置(Linked Allocation):元素在記憶體中的存放位址不需連續,每個節點(Node)必須額外配置一個指標欄位(Pointer / Link),用以記錄「下一個元素的記憶體位址」,藉此維持資料的邏輯順序(例如:鏈結串列)。
解題方法 抓住題幹的兩大關鍵線索進行判斷:
- 「有次序的資料集合」:代表此結構屬於線性或具方向性次序的集合。
- 「每一個元素包含下一個元素的位址」:代表元素在實體記憶體中並非依賴連續儲存空間,而是以「指標(Pointer)/位址(Address)」來串接相鄰元素。
在常見的資料結構中,節點結構為「資料欄(Data)+鏈結欄(Link / Pointer)」者,即為鏈結串列(Linked List)。
選項分析
- (A) 記錄(Record):錯誤。記錄(如 C 語言的
struct)是一組不同資料型態(異質資料,Heterogeneous data)的欄位集合,各欄位透過欄位名稱(Field name)與偏移量(Offset)進行存取,其本質並非透過「記錄下一個元素的位址」來構成集合次序。 - (B) 陣列(Array):錯誤。
第 35 題2 分
下列何者是電腦硬體執行時使用的語言?
核心觀念
本題測驗程式語言的發展世代與階層架構,以及中央處理器(CPU)硬體的運作本質。
- 硬體的本質:電腦硬體(CPU)內部是由邏輯閘與暫存器等數位電子電路所構成,僅能識別二進位的高低電位訊號(即 與 )。
- 機器語言(Machine Language):由二進位數字 與 編碼而成的指令集合,是唯一不需要經過任何軟體轉譯,硬體電路即可直接解碼並執行的底層語言。
- 其他語言的限制:無論是組合語言或各類高階語言,硬體皆無法直接理解,必須透過翻譯程式(組譯器、編譯器或直譯器)轉換成「機器語言」後,方能在硬體上運行。
解題方法
從「電腦硬體能否直接辨識與執行」為切入點進行判斷:
- 電腦硬體的運算核心是 CPU,其微架構只能讀取二進位代碼(機器碼,Machine Code)。
- 題目問「電腦硬體執行時使用的語言」,即為 CPU 能夠「直接吃進去並驅動內部電路運作」的語言。
- 因此,唯有完全由 與 組成的機器語言符合條件。
選項分析
- (A) 高階語言(High-Level Language):錯誤。 如 C、C++、Java、Python 等。語法貼近人類的自然語言(英文)與數學符號,具備跨平台與可讀性高的優點;但電腦硬體完全無法直接理解,必須透過「編譯器(Compiler)」或「直譯器(Interpreter)」翻譯成機器語言後才能執行。
- (B) 符號式語言(Symbolic Language):錯誤。 泛指使用符號、英文單字或助記詞來撰寫的語言(組合語言即為典型代表)。硬體電路無法直接識別這些文字與符號,必須先經過轉譯處理。
第 36 題2 分
下列哪一項不是資訊安全目標?
核心觀念
本題測驗資訊安全的核心目標——CIA 三要素(CIA Triad)。
在資訊安全架構中,最基礎且公認的三大安全目標為:
- 機密性(Confidentiality):確保資訊只有獲授權的實體或人員才能存取,防止機密資料外洩。
- 完整性(Integrity):確保資訊與系統在未經授權的情況下不被竄改、刪除或偽造,維持資料的正確性與一致性。
- 可用性(Availability):確保獲授權的使用者在需要時,隨時能夠及時且穩定地存取系統、網路與資料。
解題方法
本題切入點為比對選項與資訊安全核心架構:
- 檢視各選項是否屬於國際公認的資安防護核心原則(CIA 三要素)。
- 選項 (B)、(C)、(D) 分別對應機密性(C)、可用性(A)、完整性(I),皆為標準的資訊安全目標。
- 選項 (A)「按序性」屬於資料通訊協定(如 TCP)的可靠傳輸機制,並非資訊安全防護的核心目標,故為本題所選之答案。
選項分析
- (A) 按序性:【非資安目標,為正確選項】 「按序性」(In-order delivery / Sequencing)是指電腦網路通訊協定(例如傳輸層的 TCP 協定)透過序號機制,確保接收端能按照發送順序重組封包。
第 37 題2 分
下列的後置算術運算式(postfix expression) 所計算出來的值為何?
核心觀念
- 後置算術運算式(Postfix Expression / 逆波蘭表示法 RPN): 將運算子(Operator)置於運算元(Operand)之後的表示法。其優點為不需使用括號即可依其排列順序唯一決定運算先後,電腦常利用「堆疊」(Stack)結構進行求值。
- 堆疊(Stack)之後進先出(LIFO)特性:
- 由左至右依序掃描運算式:
- 若遇到運算元(數值):直接推入(Push)堆疊。
- 若遇到二元運算子:從堆疊頂端連續彈出(Pop)兩個元素。特別注意非對稱運算子(如減法、除法)之順序:先彈出者為「右運算元」,後彈出者為「左運算元」。
- 計算完成後,將所得結果推回(Push)堆疊中。
- 掃描完畢時,堆疊頂端所留之值即為運算式的最終結果。
解題方法
本題後置運算式為:。 由左至右逐一讀取字元並透過堆疊進行模擬追蹤:
| 步驟 | 讀取項目 | 動作說明 | 堆疊內容(底 頂) |
|---|---|---|---|
| 1 | 8 | 運算元,Push 8 | |
| 2 | 2 | 運算元,Push 2 | |
| 3 | 2 | 運算元,Push 2 | |
| 4 | * | 運算子,Pop 2(右)與 2(左),計算 ,Push 4 | |
| 5 | - | 運算子,Pop 4(右)與 8(左),計算 ,Push 4 | |
| 6 | 7 | 運算元,Push 7 | |
| 7 | 5 | 運算元,Push 5 |
第 38 題2 分
下列 C 程式執行後的輸出為何?
#include<stdio.h>
int main(void) { int i,j,n=0;
for(i=0; i<=100; ++i)
for(j=0; j<=i; ++j)
n++;
printf("%d",n);
return 0;
}
核心觀念
本題評量 C 語言中巢狀迴圈(Nested Loops)的執行次數分析與基本數學級數求和:
- 迴圈計數與邊界範圍:在 C 語言中,若迴圈初始值為 且終止條件為
<= M(每次遞增 ),該迴圈共會執行 次。 - 巢狀迴圈總次數:外層迴圈每執行一次,內層迴圈就完整執行一輪。變數
n初始值為 ,其最終值即為內層敘述n++被執行的「總次數」。 - 等差級數求和公式:首項為 、公差為 的連續整數和為:
解題方法
-
分析外層迴圈:
for(i=0; i<=100; ++i)變數 的變化範圍為 。 -
分析內層迴圈與遞增次數:
for(j=0; j<=i; ++j) n++;對於每一個確定的 值,變數 會從 遞增至 (含 與 ),因此內層迴圈每次執行的次數為 次:
- 當 時: 走過 ,共執行 次。
- 當 時: 走過 ,共執行 次。
- 當 時: 走過 ,共執行 次。
- 當 時: 走過 ,共執行 次。
- 計算總執行次數 :
變數
n的累加總次數即為: 帶入等差級數求和公式,其中項數 :
第 39 題2 分
下列何者不屬於人工智慧(Artificial Intelligence)的主要技術?
核心觀念
本題考查人工智慧(Artificial Intelligence, AI)的核心技術範疇與作業系統/計算機架構之概念區分。
- 人工智慧(AI):旨在研究如何以電腦模擬人類的智能行為,包含學習、推理、問題解決、認知、知覺及語言理解等能力。其代表性技術包含符號推論、專家系統、模糊邏輯、機器學習、深度學習、電腦視覺以及自然語言處理。
- 即時系統(Real-Time System, RTS):屬於作業系統(OS)與嵌入式系統範疇,其核心定義在於系統必須在「嚴格的時間限制(Deadline)」內對外部事件產生正確回應,著重於處理速度的確定性(Determinism)與任務排程,並非模擬人類智慧。
解題方法
本題採用「學科領域分類法」與「本質特徵比對法」切入:
- 檢視題目各選項的技術本質,判斷其是否具備「模擬人類認知、不確定性推論、知識表達或語言理解」之特徵。
- 區分「智慧演算法/認知推論模型(AI 領域)」與「系統排程/時限控制架構(作業系統領域)」,進而找出不屬於人工智慧主要技術的選項。
選項分析
- (A) 錯誤(屬於 AI 技術): **Fuzzy Logic(模糊邏輯)**突破傳統布林邏輯(Boolean Logic)僅有 與 (真/偽)的二值限制,引入 到 之間的連續成員隸屬度(Membership Function),用以模擬人類大腦處理含糊、不確定語意概念(如「微熱」、「略高」)的推理能力,為計算型人工智慧與智慧控制的重要分支。
- (B) 錯誤(屬於 AI 技術): **Expert System(專家系統)**為古典符號人工智慧(Symbolic AI)的代表技術。
第 40 題2 分
對於 TCP 和 UDP 協定的敘述,下列何者錯誤?
核心觀念
本題測驗 OSI 模型中**傳輸層(Transport Layer)**兩大核心通訊協定——**TCP(傳輸控制協定,Transmission Control Protocol)與UDP(使用者資料包協定,User Datagram Protocol)**的運作機制與特性差異。
兩者核心規格與特性對比如下:
- TCP(Transmission Control Protocol):
- 連接導向(Connection-oriented):傳輸前需透過「三向交握(Three-way Handshake)」建立連線。
- 可靠傳輸(Reliable):具備序號(Sequence Number)、確認機制(Acknowledgment, ACK)、逾時重傳(Retransmission)、流量控制(Flow Control)與擁塞控制(Congestion Control),確保資料不遺失、不重複且依序到達。
- 標頭負擔大:基本標頭至少為 位元組(Bytes)。
- UDP(User Datagram Protocol):
- 非連接導向(Connectionless):不需事先建立連線,傳送端可直接發送資料包(Datagram)。
- 不可靠傳輸(Unreliable / Best-effort):盡力傳送,不保證資料必定抵達、不保證抵達順序,亦不具備自動請求重傳機制。
- 標頭負擔極小、傳輸速度快:固定標頭僅 位元組(Bytes),即時性高,常應用於 DNS 查詢、VoIP 網路電話、視訊即時串流及線上遊戲。
解題方法
本題題幹要求選出錯誤的敘述,解題切入點在於檢驗「TCP 與 UDP 在錯誤處理與可靠度機制的劃分」。
判斷依據如下: 在通訊協定設計中,保證「錯誤偵測並重新傳送(ARQ 機制)」是 TCP 提供**可靠度(Reliability)**的核心功能;相對地,UDP 本身只提供最簡約的傳輸通道,傳輸層的 UDP 協定在封包遺失或損壞時不會發出重傳請求。因此,敘述稱「UDP 在傳送過程中如果發生錯誤,會要求重新進行傳送」明顯與 UDP 的原始定義相悖。
選項分析
- (A) TCP 協定負責傳送資料,且會檢測資料是否成功送達目的地(敘述正確,非本題答案)