114 國安局特考五等 資訊組 計算機大意 考古題詳解

114 年・國安局特考・五等・資訊組
試題代碼 計算機大意

第 1 題2 分

當我們設計一個有 12 種變化的警示燈時,需要多少個位元(bit)的數位電路,以最精簡電路設計且涵蓋這些變化?

這一題的完整詳解

核心觀念

本題考查位元數與可表示狀態數的關係。每個位元有 00、11 兩種狀態;nn 個位元共有 2n2^n 種不同組合。因此,要表示 NN 種變化,所需的最少位元數為:

n=⌈log⁡2N⌉n=\lceil \log_2 N\rceil

其中 ⌈ ⌉\lceil \ \rceil 表示無條件進位。

解題方法

警示燈有 1212 種變化,先找出足以涵蓋 1212 種狀態的最小位元數:

  • 33 個位元可表示 23=82^3=8 種狀態,不足以涵蓋 1212 種變化。
  • 44 個位元可表示 24=162^4=16 種狀態,足以涵蓋 1212 種變化。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 2 題2 分

下列有關資料庫系統的敘述,哪一項錯誤?

這一題的完整詳解

核心觀念

本題考資料庫系統的三層式架構,以及 XML、SQL 與不同資料庫模型的關係。

ANSI/SPARC 三層式架構由外而內分為:

  • 外層(external level):使用者或應用程式所看到的個別資料檢視。
  • 概念層(conceptual level):描述整個資料庫的邏輯結構與資料間的關係。
  • 內層(internal level):描述資料在儲存媒體中的實際組織方式。

解題方法

逐項核對資料庫架構的正式名稱與各種查詢語言所對應的資料庫類型。題目問「哪一項錯誤」,只要找出敘述與標準定義不符的選項。

選項分析

(A) 錯誤。 ANSI/SPARC 架構確實分為三層,但中間一層是概念層(conceptual level),不是「關係層(relational level)」。正確名稱是外層、概念層與內層。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 3 題2 分

程式設計師所撰寫的程式需經過轉換成機器碼(machine code)的過程,才能在電腦中執行。請問下列哪三種可以將程式轉換成機器碼?

① 組譯器(assembler) ② 解碼器(decoder) ③ 直譯器(interpreter) ④ 編譯器(compiler)

這一題的完整詳解

核心觀念

本題考查把程式轉換為機器碼的工具:

  • 組譯器(assembler):將組合語言指令翻譯成機器碼。
  • 編譯器(compiler):將高階語言程式轉換成機器碼或其他可執行的目標碼。
  • 直譯器(interpreter):逐步讀取並執行程式指令;在執行過程中,會將指令轉成電腦可處理的形式。
  • 解碼器(decoder):解讀已編碼的指令或資料,並非將程式翻譯成機器碼的工具。

解題方法

逐一判斷四種工具是否負責把程式轉換為機器可執行的形式。組譯器、直譯器、編譯器符合此功能;解碼器的工作是解讀編碼內容,不屬於程式語言轉換工具。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 4 題2 分

若記憶體可用的 5 個區塊依序包括:11M、15M、6M、19M 和 7M。當下執行一個程式需要 5M 的記憶體容量,那麼分別採用最先(first fit)、最佳(best fit)以及最糟(worst fit)記憶體配置法,將分別選到哪一個記憶體區塊?

這一題的完整詳解

核心觀念

本題考記憶體配置的三種策略。程式需要 5M5\text{M},因此只考慮容量至少為 5M5\text{M} 的區塊:

  • First fit(最先適應):由前往後掃描,選第一個足以容納程式的區塊。
  • Best fit(最佳適應):選擇足以容納程式、且剩餘空間最小的區塊。
  • Worst fit(最糟適應):選擇容量最大的可用區塊。

區塊依序為 11M11\text{M}、15M15\text{M}、6M6\text{M}、19M19\text{M}、7M7\text{M}。

解題方法

以需求量 5M5\text{M} 比較各區塊,均符合容量至少為 5M5\text{M} 的條件。

  • First fit:由前往後,第一個符合條件的是 11M11\text{M}。
  • Best fit:符合條件的區塊中,最小者是 6M6\text{M}。
  • Worst fit:符合條件的區塊中,最大者是 19M19\text{M}。

因此依序選到 11M11\text{M}、6M6\text{M}、19M19\text{M}。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 5 題2 分

下列對於固態硬碟(SSD, Solid State Drive)的描述,何者錯誤?

這一題的完整詳解

核心觀念

本題考查 SSD 與傳統硬碟(HDD)的儲存原理差異。SSD 使用 NAND Flash 快閃記憶體儲存資料,沒有用來讀寫資料的旋轉碟片或移動讀寫頭;HDD 則透過馬達帶動碟片旋轉,並以讀寫頭存取資料。

解題方法

逐項比對敘述是否符合 SSD 的特性。凡是描述「機械元件轉動來獲取資料」的,屬於傳統 HDD 的運作方式,與 SSD 的無機械式存取原理不符,因此可判定為錯誤敘述。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 6 題2 分

三維陣列 [12,15,25][12,15,25] 的記憶體起始位置為 [1,1,1][1,1,1],起始位址為 1100,每個元素佔 8 Bytes,以行為主(column major)之存取順序,則 [3,4,5][3,4,5] 的元素位址為下列哪一個?

這一題的完整詳解

核心觀念

本題考三維陣列採「以行為主(column major)」儲存時,如何計算指定元素的位址。以行為主表示第一維的索引變動最快;陣列各維度的元素數量,則決定索引每增加一格所跨越的元素數。

解題方法

陣列範圍為 [12,15,25][12,15,25],索引從 [1,1,1][1,1,1] 起算,基底位址為 11001100,每個元素占 88 Bytes。以行為主排列時,索引 [i,j,k][i,j,k] 相對於起始元素的位移量為:

(i−1)+12(j−1)+(12×15)(k−1)(i-1)+12(j-1)+(12\times15)(k-1)

代入 [3,4,5][3,4,5]:

元素位移量=(3−1)+12(4−1)+(12×15)(5−1)=2+36+720=758\begin{aligned} \text{元素位移量} &=(3-1)+12(4-1)+(12\times15)(5-1)\\ &=2+36+720\\ &=758 \end{aligned}

位移量是 758758 個元素,換算成位元組後加上起始位址:

1100+758×8=1100+6064=71641100+758\times8=1100+6064=7164

因此該元素的位址為 71647164。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 7 題2 分

當電腦處理事件需要依序先到先服務的原則,應採用下列哪種資料結構來達成這個目的?

這一題的完整詳解

核心觀念

本題考查資料結構的「先進先出」(FIFO,First In, First Out)原則。佇列會依元素進入的先後順序處理:最早進入佇列的元素,最先離開。

解題方法

題幹明確指出「依序先到先服務」,也就是先進入的事件要先處理。符合 FIFO 的資料結構是佇列:從一端加入資料,從另一端取出資料。

選項分析

  • (A) 堆疊:錯誤。 堆疊採「後進先出」(LIFO,Last In, First Out),最後放入的元素會最先取出,不符合先到先服務。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 8 題2 分

平衡二元樹的左、右子樹樹高相差幾層?

這一題的完整詳解

核心觀念

本題考查平衡二元樹的平衡條件。平衡二元樹要求每個節點的左、右子樹高度差至多為 11 層,也就是兩側子樹高度相同,或相差一層。

解題方法

比較左、右子樹的高度,以高度差的絕對值表示:

∣h左−h右∣≤1\left|h_{\text{左}}-h_{\text{右}}\right|\leq 1

因此,左、右子樹樹高相差 00 或 11 層,符合平衡條件,選項 (A) 正確。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 9 題2 分

運算樹的前序追蹤得到 prefix:+ 3 ∗ 4 2+ \ 3 \ * \ 4 \ 2,而後序追蹤得到 postfix:3 4 2 ∗ +3 \ 4 \ 2 \ * \ +,則這運算式所得結果為下列何者?(註:上列數字都是個位數。)

這一題的完整詳解

核心觀念

本題考運算樹的前序與後序表示法,以及依運算子優先順序計算算式。前序表示法中,運算子寫在運算元之前;後序表示法中,運算子寫在運算元之後。兩種追蹤都表示同一棵運算樹,也就是同一個算式。

解題方法

前序序列為 + 3 * 4 2:最前面的 + 是根節點,其左子樹為 3,右子樹由 * 4 2 組成。因此算式為:

3+(4×2)=3+8=113+(4\times2)=3+8=11

也可依後序序列 3 4 2 * + 驗算:先讀到 *,將前面的兩個運算元 44、22 相乘;再讀到 +,將 33 與乘積相加,結果同為 1111。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 10 題2 分

下列哪一段副程式 swap(a,b) 可以將 aa 和 bb 二個變數的數字交換?例如:二變數分別為 a=3a=3、b=5b=5,執行後,a=5a=5、b=3b=3。

這一題的完整詳解

核心觀念

本題考查副程式透過參考參數(int &a, int &b)直接修改呼叫端變數,以及交換兩個變數時暫存值的使用。參考參數會對應到原本的變數,因此副程式內對 a、b 的指定會改變呼叫端的值。

解題方法

以原始值 a=3a=3、b=5b=5 逐行追蹤。交換時,先把其中一個值存入暫存變數,再覆寫該變數,最後將暫存值放入另一個變數:

  1. temp = a:temp=3。
  2. a = b:a=5。
  3. b = temp:b=3。

執行完畢後為 a=5a=5、b=3b=3,符合題意。

選項分析

  • (A) 錯誤。 將 a 固定設為 5、b 固定設為 3。這只對題目給定的數值碰巧符合結果,沒有依照兩個變數原本的值進行交換。
  • **(B) 錯誤。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 11 題2 分

下列簡化程式中,哪一個變數可以使用的範圍最大?

#include <iostream>
int a = 100;

void processA(int b) {
    int c;
    …
    for (int d = 1; d < a; d++) {
        …
    }
}

void processB(void) {
    …
}
這一題的完整詳解

核心觀念

本題考 C++ 變數的作用域(scope):名稱能在程式碼中的哪些區域被使用。全域變數、函式參數、區域變數與迴圈變數的作用範圍不同;宣告位置越外層,通常可見範圍越大。

解題方法

依變數宣告位置判斷其作用域:

  • int a = 100; 宣告在所有函式之外,是全域變數,可在其宣告之後的程式區域中使用。
  • int b 是 processA 的參數,只在 processA 函式內可用。
  • int c 宣告在 processA 函式內,只在該函式的區塊中可用。
  • int d 宣告在 for 迴圈的初始化區段,只在該 for 迴圈的範圍內可用。

因此,a 的作用範圍最大。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 12 題2 分

在諸如乙太區域網路傳輸中,是透過下列哪一個位址來辨識該接收資料的電腦?

這一題的完整詳解

核心觀念

本題考查乙太網路在資料鏈結層如何辨識同一區域網路中的接收設備。乙太網路訊框會在標頭中記載目的端與來源端的 MAC 位址;網路介面卡會依目的 MAC 位址判斷訊框是否要由本機接收。

解題方法

先看題目限定「乙太區域網路傳輸」,再判斷它問的是哪一層用來辨識接收設備的位址。乙太網路屬於資料鏈結層技術,因此應選擇資料鏈結層使用的 MAC 位址。IP 位址、埠號則分別用於網路層與傳輸層,作用層次不同。

選項分析

  • (A) 網路層的 IP 位址:錯誤。 IP 位址用於網路層的邏輯定址與跨網路路由。資料經乙太網路傳送時,仍須由乙太網路訊框中的目的 MAC 位址辨識區域網路上的接收介面。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 13 題2 分

下列對於關聯式資料庫正規化(database normalization)的描述,哪一項錯誤?

這一題的完整詳解

核心觀念

正規化是依照資料間的相依關係拆分資料表,以減少不必要的重複,並降低新增、修改或刪除資料時產生異常的風險。

  • 第一正規化(1NF):每個欄位的值須具原子性,不能在同一欄位中放置重複群或多個值。
  • 第三正規化(3NF):資料表須先符合 2NF,且非主鍵欄位不得透過另一個非主鍵欄位間接依賴主鍵。3NF 著重於函數相依與減少異常,並不保證任何刪除都不會造成資料遺失。
  • 複合主鍵:可由兩個以上欄位共同組成,用來唯一識別一筆資料。

解題方法

逐項檢查敘述是否符合正規化的目的與定義。判斷關鍵在於:正規化可以降低資料異常,但不能推論成「達到 3NF 後,刪除某筆資料一定不會遺失其他有用資訊」。刪除資料列本身仍可能使該列所記錄的資訊消失。

選項分析

(A) 避免資料重複,導致資料維護不一致問題。—正確

正規化會將不同主題的資料適當拆分,減少同一事實在多處重複儲存的情形,因此可降低更新不一致,以及新增、修改、刪除異常的風險。題目此處描述的是正規化的目的。

(B) 第 1 正規化(1NF)避免資料重複群。—正確

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 14 題2 分

下列電腦系統的元件,請依資料存取的速度由快至慢排序:

① 快取記憶體(Cache Memory) ② 隨機存取記憶體(RAM) ③ 暫存器(Register) ④ 固態硬碟(SSD)

這一題的完整詳解

核心觀念

本題考查電腦記憶體階層的存取速度。一般而言,越靠近處理器、容量越小的記憶體,存取速度越快;儲存資料的裝置則相對較慢。速度由快至慢為:

暫存器(Register)>快取記憶體(Cache Memory)>隨機存取記憶體(RAM)>固態硬碟(SSD)

解題方法

先辨認各元件在記憶體階層中的位置:

  1. 暫存器位於 CPU 內部,供處理器立即運算與暫存資料,速度最快。
  2. 快取記憶體靠近 CPU,用來暫存常用資料,速度次於暫存器。
  3. RAM供程式執行時存放資料,速度低於快取記憶體。
  4. SSD是非揮發性儲存裝置,存取速度低於主記憶體。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 15 題2 分

一部 64 位元電腦,有 512 MB 的記憶體,記憶體以一字組(word)作為定址單位。請問此電腦需要多少位元來定址記憶體的每一個字組?

這一題的完整詳解

核心觀念

記憶體定址所需的位元數,取決於可定址的字組數量。若有 NN 個不同的字組位址,所需位址位元數 kk 滿足:

2k=N2^k = N

本題以一字組(word)為定址單位,因此要先把記憶體容量換算成字組數。依本題採用的慣例,1 MB=2201\text{ MB}=2^{20} 位元組,且一字組為 6464 位元,也就是 88 位元組。

解題方法

先將 512 MB512\text{ MB} 換算成位元組:

512×220=29×220=229 位元組512 \times 2^{20} = 2^9 \times 2^{20} = 2^{29}\text{ 位元組}

一字組為 6464 位元,即 88 位元組,因此可定址的字組數為:

229 位元組23 位元組/字組=226 字組\frac{2^{29}\text{ 位元組}}{2^3\text{ 位元組/字組}} =2^{26}\text{ 字組}
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 16 題2 分

半加法器(Half Adder)的功能是將兩個二進位的一位元相加,請問下列哪兩個(只能使用兩個)邏輯閘可以實現半加法器?

這一題的完整詳解

核心觀念

半加法器(Half Adder)將兩個一位元二進位數 AA、BB 相加,輸出包含:

  • 和位元 SS:S=A⊕BS=A\oplus B
  • 進位位元 C=A⋅BC=A\cdot B

其中,⊕\oplus 表示 XOR(互斥或),⋅\cdot 表示 AND。

解題方法

分別確認半加法器的兩個輸出需要什麼邏輯閘:

  1. 兩輸入不同時和為 1,相同時和為 0,因此和位元由 XOR 閘產生。
  2. 只有 A=B=1A=B=1 時才產生進位,因此進位位元由 AND 閘產生。

對照選項,只有 XOR、AND 能同時產生和位元與進位位元。

AABB和 SS進位 CC
0000
0110
1010
1101
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 17 題2 分

下列何者等於七進位的 (456)7(456)_7?

這一題的完整詳解

核心觀念

七進位數的每一位,依序代表 77 的冪次。將七進位數轉成十進位時,從右至左分別乘上 70、71、727^0、7^1、7^2,再將各位數值相加。

解題方法

將 (456)7(456)_7 展開:

(456)7=4×72+5×71+6×70(456)_7=4\times 7^2+5\times 7^1+6\times 7^0 =4×49+5×7+6×1=196+35+6=237=4\times49+5\times7+6\times1 =196+35+6 =237

因此,(456)7=(237)10(456)_7=(237)_{10}。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 18 題2 分

在一個多工的作業系統中,記憶體管理方法為分頁(paging),假設記憶體大小為 60 MB,每一頁大小為 4 MB。目前系統中共有 3 個程序:第一個程序需要 13 MB、第二個程序需要 26 MB、第三個程序需要 11 MB,請問浪費的記憶體占總記憶體的比率是多少?

這一題的完整詳解

核心觀念

分頁(paging)以固定大小的頁面配置程序所需的記憶體。程序即使沒有用滿最後一頁,該頁仍須配置,因此產生的浪費稱為內部碎裂。

每個程序的配置量為:

⌈程序所需記憶體頁面大小⌉×頁面大小\left\lceil \frac{\text{程序所需記憶體}}{\text{頁面大小}} \right\rceil \times \text{頁面大小}

解題方法

頁面大小為 44 MB,逐一計算各程序需要配置的頁數與浪費量:

  • 第一個程序:1313 MB,需要 ⌈13/4⌉=4\lceil 13/4\rceil=4 頁,配置 1616 MB,浪費 16−13=316-13=3 MB。
  • 第二個程序:2626 MB,需要 ⌈26/4⌉=7\lceil 26/4\rceil=7 頁,配置 2828 MB,浪費 28−26=228-26=2 MB。
  • 第三個程序:1111 MB,需要 ⌈11/4⌉=3\lceil 11/4\rceil=3 頁,配置 1212 MB,浪費 12−11=112-11=1 MB。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 19 題2 分

音訊資料為類比(analog)資料,將其轉換為數位(digital)資料需要經過三個步驟:

① 編碼(encoding) ② 量化(quantization) ③ 取樣(sampling)

請問正確處理順序為何?

這一題的完整詳解

核心觀念

本題考查類比音訊轉換為數位資料的基本流程。典型的脈衝編碼調變(PCM)依序進行:

  1. 取樣(sampling):按固定時間間隔測量類比訊號,取得一系列取樣值。
  2. 量化(quantization):將每個取樣值歸到有限個離散振幅等級之一。
  3. 編碼(encoding):把量化後的等級以二進位碼表示。

解題方法

先判斷各步驟的先後依賴關係:必須先從連續時間的類比訊號取得取樣值,才能將這些取樣值量化;量化成有限等級後,才有明確的數值可轉成二進位碼。因此順序為「取樣 → 量化 → 編碼」,即③②①。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 20 題2 分

請用二元搜尋演算法(binary search)在串列 17,26,44,56,88,97,10217,26,44,56,88,97,102 中搜尋 17,請問其搜尋過程依序比較了哪些數?

這一題的完整詳解

核心觀念

二元搜尋法適用於已排序的串列。每一步都比較搜尋值與目前範圍的中間元素:若搜尋值較小,就繼續搜尋左半部;若較大,就搜尋右半部;相等時則找到目標。

解題方法

串列共有 77 個數,依序編號為位置 11 至 77。每次取目前搜尋範圍的中間位置:

  1. 範圍為位置 11 至 77,中間位置為 44,比較 1717 與 5656。因為 17<5617<56,改查左半部。
  2. 範圍為位置 11 至 33,中間位置為 22,比較 1717 與 2626。因為 17<2617<26,改查左半部。
  3. 範圍剩位置 11,比較 1717 與 1717,找到目標。

因此,搜尋過程依序比較 56、26、1756、26、17,符合選項 (D)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 21 題2 分

假設有兩個堆疊(stack)S1S1 與 S2S2,一開始它們的內容都是空的(empty)。執行下列的演算法後,請問 S2S2 的內容為何?(由左至右的順序代表堆疊由底部到上面的順序。)

Push (S1, 6) Push (S1, 2) Push (S1, 4) Push (S2, 8) Push (S2, 9) x = Pop (S1) While (not empty(S1)) Push (S2, Pop(S1)) Push (S2, x)

這一題的完整詳解

核心觀念

本題考堆疊(stack)的後進先出(LIFO)特性:最後放入堆疊的元素會最先取出。Push 將元素放到堆疊頂端;Pop 取出頂端元素。題目要求的順序是由底部到頂端。

解題方法

依序追蹤兩個堆疊:

  1. Push (S1, 6)、Push (S1, 2)、Push (S1, 4) 後,S1S1 由底到頂為 6,2,46,2,4。
  2. Push (S2, 8)、Push (S2, 9) 後,S2S2 由底到頂為 8,98,9。
  3. x = Pop (S1) 取出頂端的 44,所以 x=4x=4,此時 S1S1 為 6,26,2。
  4. 迴圈每次從 S1S1 頂端取出元素,再放入 S2S2:
  • 先取出 22,放入 S2S2,其內容變成 8,9,28,9,2。
  • 再取出 66,放入 S2S2,其內容變成 8,9,2,68,9,2,6。
  1. Push (S2, x) 將 x=4x=4 放入 S2S2 頂端,最後由底到頂為 8,9,2,6,48,9,2,6,4。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 22 題2 分

某二元樹(binary tree)的前序走訪(preorder traversal)為 FBADCEGKHJ,中序走訪(inorder traversal)為 ABCDEFGHJK,請問此二元樹的廣度優先走訪(breadth-first traversal)為何?

這一題的完整詳解

核心觀念

前序走訪依序為「根節點、左子樹、右子樹」;中序走訪依序為「左子樹、根節點、右子樹」。知道根節點後,可在中序序列中找到根,並據此切分左右子樹;再用前序序列的相應區段,遞迴重建二元樹。

廣度優先走訪(breadth-first traversal)則是由上而下、每層由左至右走訪,通常以佇列(queue)實作。

解題方法

前序序列為 FBADCEGKHJ,第一個字元 F 是根。在中序序列 ABCDEFGHJK 中,F 左側為 ABCDE,右側為 GHJK,所以左、右子樹分別含有五個及四個節點。

左子樹的前序序列為 BADCE,其根為 B。在左子樹中序序列 ABCDE 裡,B 左側為 A,右側為 CDE。因此 B 的左子節點是 A,右子樹以 D 為根;D 的左右子節點分別是 C、E。

右子樹的前序序列為 GKHJ,其根為 G。在中序序列 GHJK 裡,G 左側沒有節點,右側為 HJK。右側子樹以 K 為根,K 的左子樹以 H 為根,且 H 有右子節點 J。

依此得到樹形:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 23 題2 分

下列有關資料排序的敘述,何者錯誤?

這一題的完整詳解

核心觀念

本題考查常見排序法的平均與最壞時間複雜度,以及排序是否穩定。穩定排序會保留鍵值相同元素的原始相對次序;不穩定排序則不保證如此。

常見排序法的複雜度如下:

排序法平均時間複雜度最壞時間複雜度穩定性
氣泡排序O(n2)O(n^2)O(n2)O(n^2)穩定
插入排序O(n2)O(n^2)O(n2)O(n^2)穩定
堆積排序O(nlog⁡n)O(n\log n)O(nlog⁡n)O(n\log n)不穩定
快速排序O(nlog⁡n)O(n\log n)O(n2)O(n^2)不穩定
合併排序O(nlog⁡n)O(n\log n)O(nlog⁡n)O(n\log n)穩定
選擇排序O(n2)O(n^2)O(n2)O(n^2)不穩定

解題方法

逐項核對各排序法的複雜度與穩定性。題目問「何者錯誤」,因此找出敘述與標準性質不符的選項即可。特別注意:合併排序的平均時間是 O(nlog⁡n)O(n\log n),但選擇排序的平均時間是 O(n2)O(n^2)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 24 題2 分

下列程式是 C 語言的函式(function),請問呼叫 C(5,4) 的結果為何?呼叫 C(5,4) 後,此 C 函式總共被呼叫幾次才計算出結果?

int C (int n, int k)
{
    if ((k == 0) || (n == k))
        return 1;
    else
        return (C(n - 1, k) + C(n - 1, k - 1));
}
這一題的完整詳解

核心觀念

此函式以遞迴方式計算組合數,符合組合數的遞迴關係:

(nk)=(n−1k)+(n−1k−1)\binom{n}{k}=\binom{n-1}{k}+\binom{n-1}{k-1}

當 k=0k=0 或 n=kn=k 時,函式抵達遞迴終止條件並回傳 11。題目也要求計算從呼叫 C(5,4) 開始,包含最初呼叫在內的總呼叫次數。

解題方法

依程式的遞迴分支展開,並將每一次執行 C(...) 都算作一次呼叫:

C(5,4)
├─ C(4,4) → 1
└─ C(4,3)
 ├─ C(3,3) → 1
 └─ C(3,2)
 ├─ C(2,2) → 1
 └─ C(2,1)
 ├─ C(1,1) → 1
 └─ C(1,0) → 1

因此回傳值為:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 25 題2 分

請問下列的程式執行結束後,陣列 grade 的內容為何?

int grade[4] = {80, 70, 60, 50};

int main (void)
{
    int i, j, temp;

    for (i = 2; i >= 0; i--)
        for (j = 0; j <= i; j++)
        {
            if (grade[j] > grade[j + 1]);
            {
                temp = grade[j];
                grade[j] = grade[j + 1];
                grade[j + 1] = temp;
            }
        }

    return 0;
}
這一題的完整詳解

核心觀念

本題考 C 語言的 if 敘述、分號的作用,以及巢狀迴圈對陣列的逐步操作。if (條件); 中,條件後的分號會結束 if 敘述,因此其後的大括號區塊並不受條件控制,而是每次都會執行。

解題方法

初始陣列為 {80, 70, 60, 50}。雖然程式寫了比較大小的條件,但 if 後面多出的分號使比較結果不影響交換;每次內層迴圈執行時,都會交換相鄰兩個元素。

依迴圈順序追蹤:

ij交換後的陣列
初始—{80, 70, 60, 50}
20{70, 80, 60, 50}
21{70, 60, 80, 50}
22{70, 60, 50, 80}
10{60, 70, 50, 80}
11{60, 50, 70, 80}
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 26 題2 分

在課程系統中包含學生、課程、老師的實體關聯圖中,學生可以選擇多門課程,老師可以開設多門課程。假設一門課只由一位老師開課,依此,學生和課程的數量關係為何?

這一題的完整詳解

核心觀念

本題考查實體關聯圖中的基數關係,也就是兩種實體之間能對應多少筆資料。判斷「學生與課程」的關係時,要分別看:

  • 一位學生可以選幾門課?
  • 一門課可以被幾位學生選?

題目指出學生可以選擇多門課程;依一般課程系統情境,一門課也可由多位學生選修。因此,學生與課程之間是多對多關係。老師與課程的關係則是另一組關係;「一門課只由一位老師開課」不會改變學生與課程的基數。

解題方法

從學生一端看,一位學生可選多門課;從課程一端看,一門課可有多位學生選修。兩端都能對應多筆資料,因此學生與課程為多對多。

「一門課只由一位老師開課」描述的是老師與課程的關係:每門課對應一位老師;這不代表每門課只能有一位學生,也不影響學生與課程之間的關係。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 27 題2 分

針對下列的 Python 函式,已知 f(3)=17f(3)=17、f(4)=15f(4)=15、f(5)=17f(5)=17,請問下列 while 的條件判斷式何者正確?

def f(x):
    while ( ):
        x += 2
    return x * 2 + 3
這一題的完整詳解

核心觀念

本題考查 while 迴圈的條件判斷、變數更新,以及函式的回傳值。while 會在條件為真時重複執行區塊;每次執行後,x 增加 22。迴圈結束後,函式回傳 2x+32x+3。

解題方法

由回傳值 f(x)=2x+3f(x)=2x+3,先反推迴圈結束時的 x:

  • 當初始值為 33,f(3)=17f(3)=17,所以結束時 x=(17−3)/2=7x=(17-3)/2=7。
  • 當初始值為 44,f(4)=15f(4)=15,所以結束時 x=(15−3)/2=6x=(15-3)/2=6。
  • 當初始值為 55,f(5)=17f(5)=17,所以結束時 x=7x=7。

測試選項 (D) 的條件 x*x < 30:

  • 初始 x=3x=3:9<309<30,執行後 x=5x=5;25<3025<30,再執行後 x=7x=7;49<3049<30 為假,迴圈停止,回傳 7×2+3=177\times2+3=17。
  • 初始 x=4x=4:16<3016<30,執行後 x=6x=6;36<3036<30 為假,迴圈停止,回傳 6×2+3=156\times2+3=15。
  • 初始 x=5x=5:25<3025<30,執行後 x=7x=7;
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 28 題2 分

下列哪一項不是物件導向程式設計的核心概念?

這一題的完整詳解

核心觀念

本題考查物件導向程式設計(Object-Oriented Programming, OOP)的核心概念。常見的三項核心概念是:

  • 封裝(encapsulation):將資料與操作資料的方法組合在一起,並控制外部存取。
  • 繼承(inheritance):讓類別沿用其他類別的屬性與方法,並可加以擴充。
  • 多型(polymorphism):相同介面或呼叫方式,可依實際物件型態呈現不同的行為。

**動態(dynamic)**是形容詞,可用來描述執行期繫結、動態派發等特性,但它本身不是與封裝、繼承、多型並列的標準核心概念名稱。

解題方法

先辨認選項是否屬於常見的 OOP 核心概念,再找出不屬於該組的項目。封裝、繼承、多型是典型的核心概念;「動態」較常出現在「動態繫結」或「動態派發」等術語中,故應選 D。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 29 題2 分

GPT 支援多模態(Multimodal)資料,以學習語意和人類感知資料。多模態不包含下列哪一種形式的資料或訊息?

這一題的完整詳解

核心觀念

多模態是指模型處理或整合不同類型的輸入資料,以理解語意或感知資訊。常見模態包括文字、影像、聲音、影片,以及來自感測器的資訊;人類的手勢、姿勢與臉部表情也能以影像或動作資訊呈現。HTML、CSS 則是描述網頁結構與外觀的標記語言和樣式表,屬於資料的表示或格式,不是本題所列的感知資料模態。

解題方法

逐一判斷選項描述的是不是一種感知資料形式或訊息:

  • 照片是影像資料。
  • 手勢、姿勢與臉部表情可由視覺或動作資料表達。
  • GPS 提供位置等感測器資訊。
  • HTML、CSS 用來標記文件結構、描述版面樣式,分類上不是上述感知模態。

因此,題目所問「不包含」的選項是 (C)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 30 題2 分

假設有一個關聯表格 PRODUCT 如下:

Model numberProduct nameProduct priceunit
1111File cabinet15010
1112Chair29015
1113Desk25025
1114Table39030
1115Sofa49020

請問執行下列的指令會得到什麼結果?

select *
from PRODUCT
where unit < 22
這一題的完整詳解

核心觀念

本題考查 SQL 查詢中的兩個部分:

  • WHERE unit < 22:只保留 unit 欄位小於 22 的資料列。
  • SELECT *:輸出符合條件資料列的所有欄位,不會只顯示查詢條件使用的欄位。

解題方法

逐列比較 unit 與 22:

Model numberProduct nameProduct priceunit是否符合 unit < 22
1111File cabinet15010是
1112Chair29015是
1113Desk25025否
1114Table39030否
1115Sofa49020是

符合條件的資料列是 1111、1112、1115。由於 SELECT * 會選取 PRODUCT 的所有欄位,因此結果包含 Model number、Product name

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 31 題2 分

假設電腦 A 的 IP 位址:10.16.23.1/21,MAC 位址:MAC(A),其預設閘道(GA)的 IP 位址:IP(GA),MAC 位址:MAC(GA)。電腦 B 的 IP 位址:10.16.24.3,MAC 位址:MAC(B),預設閘道(GB)的 IP 位址:IP(GB),MAC 位址:MAC(GB)。若 A 要送封包給 B,請問此封包的目的地 MAC 位址與目的地 IP 位址為何?

這一題的完整詳解

核心觀念

本題考查 IP 封包目的位址與乙太網路框架目的 MAC 位址的差異:

  • IP 封包的目的 IP 位址是最終接收主機的 IP,傳送途中通常不變。
  • 若目的主機不在本機的子網路,主機會把封包交給預設閘道轉送;此時第一段鏈路的目的 MAC 位址是預設閘道的 MAC。

解題方法

先由 A 的前綴長度判斷 A、B 是否位於同一子網路。A 的 IP 為 10.16.23.1/21,/21 的子網路遮罩是 255.255.248.0。第三個位址欄位以每 8 個數值為一個子網路區段,因此 A 所在網段為:

10.16.16.0∼10.16.23.25510.16.16.0 \sim 10.16.23.255

B 的 IP 為 10.16.24.3,不在這個網段內,所以 A 要將封包送往外部子網路,下一跳是預設閘道 GA。

因此,A 發出的第一個乙太網路框架目的 MAC 位址為 MAC(GA);封包的目的 IP 位址仍是最終目的主機 B 的 IP(B)。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 32 題2 分

下列有關電子郵件的敘述,哪一項錯誤?

這一題的完整詳解

核心觀念

本題考查電子郵件系統中 郵件傳送協定 與 郵件存取協定 的分工,以及 MIME 的用途:

  • SMTP:用來將郵件從用戶端送至郵件伺服器,或在郵件伺服器之間轉送。
  • POP3、HTTP:可用於收件者存取郵件;HTTP 常見於透過網頁郵件服務讀取郵件。
  • MIME:擴充電子郵件內容格式,使郵件能表示非 ASCII 文字、附件及多媒體資料。它不是傳送 ASCII 郵件的必要處理程序。

解題方法

逐項判斷敘述是否正確,關鍵是分清 MIME 的用途:一般 ASCII 郵件可直接透過 SMTP 傳送;需要表示附件或其他非 ASCII 內容時,才會使用 MIME 格式。選項 (A) 把 MIME 說成 ASCII 資料傳送前的必要步驟,因此錯誤。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 33 題2 分

有關傳輸層(transport layer)協定的敘述,哪一項錯誤?

這一題的完整詳解

核心觀念

本題考傳輸層中 TCP 與 UDP 的服務特性,重點是流量控制、傳輸可靠性,以及通訊端口提供的多工與解多工。

TCP 與 UDP 都使用埠號(port number)識別應用程式的傳輸端點,因此都支援多工與解多工:傳送端可讓多個應用程式共用傳輸層服務,接收端則依埠號將資料交給正確的應用程式。兩者主要差異在於,TCP 提供連線導向及可靠傳輸機制;UDP 則以較精簡的方式傳送資料,不保證可靠送達或順序。

解題方法

逐項比對敘述是否符合協定功能。尤其要區分 TCP 的「流量控制」與 UDP 是否具備「多工/解多工」:流量控制用來配合接收端的處理能力;多工與解多工則由傳輸層利用埠號處理,並非 TCP 專有。

選項分析

(A) 正確。 TCP 使用流量控制,透過接收端通告的接收視窗限制來源端可傳送、尚未獲確認的資料量,避免接收端緩衝區超載。題目所述是對流量控制目的的概括。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 34 題2 分

下列有關資訊安全的敘述,哪一項錯誤?

這一題的完整詳解

核心觀念

本題考查資訊安全的機密性、完整性與可用性,以及非對稱加密、對稱加密與數位簽章的用途。

  • 機密性:避免未經授權者讀取資料。
  • 完整性:確保資料未遭未授權修改。
  • 可用性:確保系統與服務能正常使用。

解題方法

逐一對照各選項所描述的攻擊或技術,判斷它主要影響哪項安全目標,以及加密與簽章各自的用途。題目已指定官方答案為 A,因此依此判定錯誤敘述。

選項分析

(A) 錯誤。 DDoS(分散式阻斷服務)攻擊通常藉由大量流量或請求耗盡伺服器、網路等資源,使正常使用者無法取得服務,主要威脅的是可用性,不是資料的機密性。因此本選項錯誤,符合題目所問。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 35 題2 分

假設有一個班級有 100 個學生,每個學生對其他的任一個學生之間都需要交換私密資料,若是採用對稱加密法(symmetric encryption),請問總共需要多少金鑰?若是採用非對稱加密法(asymmetric encryption),請問總共需要多少金鑰?

這一題的完整詳解

核心觀念

本題考查兩種加密方式的金鑰管理數量:

  • 對稱加密法:任兩位學生要私下交換資料,須共用一把專屬金鑰。每一組學生各需一把,因此計算學生兩兩配對數。
  • 非對稱加密法:每位學生各自持有一組公鑰與私鑰,共需 22 把金鑰。

解題方法

100 位學生兩兩配對,配對數為:

(1002)=100×992=4,950\binom{100}{2} =\frac{100\times 99}{2} =4,950

除以 22 是因為甲與乙的配對和乙與甲是同一組,不可重複計算。因此,對稱加密法需要 4,9504,950 把金鑰。

非對稱加密法每位學生持有一把公鑰和一把私鑰:

100×2=200100\times 2=200

因此,非對稱加密法共需 200200 把金鑰。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 36 題2 分

URL(uniform resource locator)用來定位網路上某個資源。下列是一個 URL 範例:

https://www.abc.com:890/path/to/resource?query=234#section

若以上面的範例決定 URL 結構的各個部分,請問下列哪一項敘述錯誤?

這一題的完整詳解

核心觀念

本題考查 URL(Uniform Resource Locator,統一資源定位符)的組成。常見的 URL 結構可拆解為:

方案://主機:連接埠/路徑?查詢字串#片段

其中,https 是方案(Scheme,也常稱 Method),www.abc.com 是主機(Host),:890 指定連接埠(Port),/path/to/resource 是路徑(Path);? 後方是查詢字串,# 後方則是片段識別碼。

解題方法

依照分隔符號逐段辨認::// 前是方案,主機名稱後的冒號引出連接埠,第一個 / 起是路徑;? 和 # 則標示查詢字串與片段的起點。

套用到題目中的 URL:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 37 題2 分

CPU 與記憶體在連接 I/O 裝置時需要透過控制器(controller)連接,下列哪一個不是連接 I/O 裝置的控制器?

這一題的完整詳解

核心觀念

本題考「I/O 控制器」的功能,以及如何區分周邊裝置介面與 CPU 架構。I/O 控制器負責協助 CPU 與記憶體和周邊裝置溝通,可能處理資料傳送、控制訊號與裝置介面等工作。

解題方法

辨認各選項所屬類別:USB、SCSI、HDMI 都是與周邊裝置連接或傳輸資料、訊號相關的介面或標準;RISC 則是 CPU 指令集架構的設計理念,不是連接 I/O 裝置的控制器。因此選出 RISC。

選項分析

  • (A) USB:錯誤。 USB 是連接電腦與周邊裝置的通用介面標準,支援裝置辨識、資料傳輸與供電;相關 USB 控制器負責管理 USB 裝置的通訊。
  • **(B) RISC:正確。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 38 題2 分

建立二元搜尋樹(Binary Search Tree),其插入順序為:15,16,5,12,3,20,10,18,23,13,6,715,16,5,12,3,20,10,18,23,13,6,7。請問搜尋 11 需經過幾次的比較?

這一題的完整詳解

核心觀念

二元搜尋樹(Binary Search Tree, BST)的每個節點都符合:左子樹鍵值小於節點,右子樹鍵值大於節點。搜尋某個數值時,從根節點開始逐一比較;若目標較小就往左,較大就往右。每訪問一個節點並比較一次,計為一次比較。

解題方法

依插入順序建立 BST,搜尋 1111 時只需追蹤搜尋路徑:

  • 根節點 1515:11<1511<15,往左。
  • 節點 55:11>511>5,往右。
  • 節點 1212:11<1211<12,往左。
  • 節點 1010:11>1011>10,往右;此處沒有子節點,搜尋失敗。

因此比較的節點依序為 15,5,12,1015,5,12,10,共 44 次。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 39 題2 分

下列哪一種排序法可以在時間複雜度 O(n)O(n) 即可排出前二最大值的方法?

這一題的完整詳解

核心觀念

本題考查排序法的時間複雜度,以及如何只求出資料中的前兩大值。完整排序通常需要整理所有 nn 個元素;若只需要最大值與第二大值,氣泡排序法可以只執行固定趟數,不必排完整個資料列。

解題方法

氣泡排序每一趟會將尚未定位的最大值移到該區段的末端。第一趟後,最大值已到位;第二趟後,第二大值也已到位。

每一趟最多比較約 nn 次,執行兩趟的時間為:

O(n)+O(n)=O(2n)=O(n)O(n) + O(n) = O(2n) = O(n)

因此,氣泡排序法可在 O(n)O(n) 時間內排出前二最大值,選項 (A) 正確。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 40 題2 分

在 C 程式語言中,哪一種資料型態不是原始型態(primitive type)?

這一題的完整詳解

核心觀念

本題考的是 C 語言的基本資料型態。標準 C 提供整數型態 int、浮點數型態 float,以及字元型態 char 等內建型態;C 沒有內建的 boolean 關鍵字。C99 起可透過標頭檔 <stdbool.h> 使用 bool,但它是以 _Bool 定義的別名,並非名為 boolean 的原始型態。

解題方法

辨認選項是否為 C 語言內建的基本型態即可。int、float、char 都是 C 的基本型態;boolean 則不是 C 的標準型態名稱,因此選它。

選項分析

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題

114 年資訊組的其他科目

資訊組《計算機大意》其他年度