109 關務特考三等 電機工程 計算機概論 考古題詳解

109 年・關務特考・三等・電機工程
試題代碼 計算機概論

第 一 題15 分

有關電腦系統的記憶體與資料存取:

(一)什麼是記憶體階層(memory hierarchy)?詳細說明其運作流程以及優點。(15 分)

(二)何謂存取的局部性(locality of reference)?(10 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

記憶體階層(memory hierarchy)​是依照存取速度、容量、每位元成本與揮發性等特性,將多種記憶體組成由快至慢、由小至大的層次結構。典型順序如下:

暫存器  >  快取記憶體(Cache)  >  主記憶體(DRAM)  >  固態硬碟/硬碟等輔助儲存\text{暫存器} \;>\; \text{快取記憶體(Cache)} \;>\; \text{主記憶體(DRAM)} \;>\; \text{固態硬碟/硬碟等輔助儲存}

層級愈靠近處理器,存取速度愈快、容量通常愈小、每位元成本愈高;愈遠離處理器,速度愈慢、容量通常愈大、每位元成本愈低。暫存器、快取與主記憶體多屬揮發性記憶體;輔助儲存則可在斷電後保留資料。

運作流程

處理器要讀取資料或指令時,系統由最靠近處理器的層級開始查找:

  1. 先查暫存器或快取:若所需資料已在目前層級,稱為命中(hit),即可快速提供資料。
  2. 未命中則往下一層查找:例如快取未命中時,向主記憶體取得資料;主記憶體也沒有時,再由輔助儲存載入。
  3. 將資料帶回較高層級:取得資料後,通常會將該資料及相鄰資料或同一區塊一併載入較快的上層,以供近期可能發生的存取使用。
  4. 寫入時依政策更新:資料修改後,系統依寫入策略更新上層與下層。常見策略包括同步更新下層的 write-through,以及先更新上層、待適當時機再寫回下層的 write-back。

未命中需要到較慢層級取資料,故會增加存取時間。快取的命中率愈高,處理器平均等待時間通常愈低。常用的平均記憶體存取時間表示式為:

AMAT=命中時間+未命中率×未命中代價\text{AMAT} = \text{命中時間} + \text{未命中率}\times\text{未命中代價}

其中未命中率為 1−命中率1-\text{命中率}。

優點

🔒

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

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

免費註冊

第 二 題15 分

有關 TCP/IP 協定組:

(一)分別說明下列工作是屬於 TCP/IP 協定組哪一層的任務:

  1. 決定路徑(route determination)
  2. 連接到傳輸媒介(transmission media)
  3. 提供服務給終端使用者(end users)

(15 分)

(二)TCP 協定、IP 協定分別屬於 TCP/IP 協定組的哪一層?(10 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

TCP/IP 協定組依功能可分為四層:

層級主要任務
應用層提供網路服務給終端使用者與應用程式
傳輸層提供端點間的資料傳輸服務,例如 TCP、UDP
網際網路層負責邏輯位址與封包路由,例如 IP
網路存取層(又稱網路介面層)負責連接傳輸媒介,以及在鏈路上傳送資料

本題要依各項工作的功能判斷其所屬層級。題目未涉及法條。

解題方法

判斷時可由「工作對象」切入:

  1. 涉及封包如何跨越不同網路、選擇傳送路徑,屬於網際網路層。
  2. 涉及實際連接電纜、無線媒介或區域網路鏈路,屬於網路存取層。
  3. 涉及讓使用者或應用程式使用網路服務,屬於應用層。

(一)各項工作所屬層級

  1. 決定路徑(route determination):網際網路層 網際網路層依目的 IP 位址進行封包轉送與路由選擇,使封包能經由適當路徑抵達目的網路。
🔒

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

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

免費註冊

第 三 題5 分

有關圖形(graph)與樹狀結構(tree structure):

(一)何謂最小成本展開樹(minimum-cost spanning tree,MCST)?(5 分)

(二)如下列 Figure-1,由 6 個頂點(node)與 9 個邊(edge)組成。頂點之間的數字代表相鄰兩點的距離(distance),例如 A 與 B 的距離為 2。計算出此圖形的 MCST 之總距離是多少?(10 分)

🖼️【此處有附圖,請對照原卷】

(三)將下列 Figure-2 的二元樹進行後序追蹤(post-order traversal),其輸出的順序為何?(10 分)

🖼️【此處有附圖,請對照原卷】

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

最小成本展開樹(minimum-cost spanning tree,MCST)是連通加權圖的一棵展開樹:它包含圖中所有頂點、沒有環路,且總邊權重最小。若圖有 nn 個頂點,展開樹必須有 n−1n-1 條邊。

後序追蹤(post-order traversal)的順序是:左子樹、右子樹、根節點。

(一)最小成本展開樹的定義

MCST 是連通加權圖中,涵蓋所有頂點且不形成環路的邊集合,其邊權重總和在所有展開樹中最小。對有 nn 個頂點的圖,MCST 恰有 n−1n-1 條邊。

(二)Figure-1 的 MCST 總距離

可用 Kruskal 演算法:依邊的距離由小到大選邊,若加入該邊會形成環路就略過,直到選滿 6−1=56-1=5 條邊。

圖中各邊依距離排序如下:

邊距離
BFBF1
ABAB2
AEAE2
CECE3
ACAC4
CDCD4
DEDE5
EFEF7
DFDF8

依序選取:

  1. 選 BFBF,距離為 11。
  2. 選 ABAB,距離為 22。
  3. 選 AEAE,距離為 22。
  4. 選 CECE,距離為 33。
🔒

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

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

免費註冊

第 四 題15 分

請回答下列問題:

(一)如果執行下列 Figure-3 的 C 程式片段,以 nn 表示,最後計算出 counter 的值是多少?(15 分)

Figure-3:

01 #include <iostream> 02 int main ( ) 03 { 04 int i, j, n, counter; 05 scanf ("%d",&n); 06 counter = 0; 07 for (i = 0; i < n; i++) 08 for (j = i; j < n; j++) 09 counter = counter + 1; 10 printf ("%d", counter); 11 }

(二)如果執行下列 Figure-4 的 C 程式片段,且輸入整數 35,則程式將會顯示什麼結果?(10 分)

Figure-4:

01 #include <iostream> 02 int main ( ) 03 { 04 int i,a,b[20]; 05 scanf ("%d",&a); 06 i=0; 07 while (a!=0) { 08 b[i]=a%2; 09 a=a/2; 10 i++; 11 } 12 13 while (i>0) { 14 printf ("%d",b[i-1]); 15 i--; 16 } 17 }

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

counter 每次執行內層迴圈的第 9 行就增加 11。因此,最後的 counter 等於內層迴圈總共執行的次數。

外層變數 ii 從 00 遞增至 n−1n-1。固定某個 ii 時,內層變數 jj 從 ii 遞增至 n−1n-1,共有 n−in-i 次。

解題方法

將每一輪外層迴圈的執行次數加總:

counter=n+(n−1)+⋯+1=∑i=0n−1(n−i)=n(n+1)2\begin{aligned} \text{counter} &= n+(n-1)+\cdots+1\\ &= \sum_{i=0}^{n-1}(n-i)\\ &= \frac{n(n+1)}{2} \end{aligned}

例如 i=0i=0 時,內層執行 nn 次;i=1i=1 時執行 n−1n-1 次;最後 i=n−1i=n-1 時執行 11 次。

解題技巧

固定外層迴圈的變數,數出內層迴圈從起始值到終止值的次數,再加總即可。注意 j < n 不包含 nn,所以每輪次數是 n−in-i,不是 n−i+1n-i+1。

【答案】 最後 counter 的值為 n(n+1)2\boxed{\frac{n(n+1)}{2}}。

(二)整數轉二進位輸出

🔒

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

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

免費註冊

其他考古題