113 調查局特考三等 電子科學組 計算機概論 考古題詳解

113 年・調查局特考・三等・電子科學組
試題代碼 計算機概論

第 一 題25 分

程式設計完成後,後續測試工作也很重要。例如,黑箱測試(Black-box Testing)常用以測試軟體的功能性,有很多種方法都屬於黑箱測試。

假若測試時輸入程式的資料是由介於 2000(含)到 2999(含)間的三個整數組合而成,請回答下列問題:

(一) 若以邊界值測試(Boundary-Value Testing)法進行測試,請列出所有的測試輸入組合。(16 分)

(二) 若以徹底測試(Exhaustive Testing)法進行測試,請問此方法的輸入組合需要進行多少次?(4 分)

(三) 若一亂數產生器可由 0(含)到 0.999(含)間隨機產生 3 個數字,要如何利用此亂數產生器來進行隨機測試法進行測試?(5 分)

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

這一題的完整詳解

核心觀念

本題考黑箱測試中的邊界值測試、徹底測試與隨機測試。

輸入由三個整數組成,每個整數的有效範圍都是 20002000 至 29992999,含上下界。邊界值測試著重檢查範圍端點及其鄰近值;徹底測試則列舉所有有效輸入組合;隨機測試則將亂數映射成有效範圍內的輸入值。

解題方法

(一)邊界值測試

常見的邊界值測試取每個輸入欄位的「最小值、最小值加一、中間值、最大值減一、最大值」。本題每個整數的測試值為:

2000, 2001, 2500, 2998, 29992000,\ 2001,\ 2500,\ 2998,\ 2999

以三個欄位逐一變動、其餘欄位固定在中間值 25002500 的基本邊界值測試法(每次只改變一個欄位),測試組合如下:

  • 固定第二、第三個數為 25002500,改變第一個數: (2000,2500,2500)(2000,2500,2500)、(2001,2500,2500)(2001,2500,2500)、(2500,2500,2500)(2500,2500,2500)、(2998,2500,2500)(2998,2500,2500)、(2999,2500,2500)(2999,2500,2500)
  • 固定第一、第三個數為 25002500,改變第二個數: (2500,2000,2500)(2500,2000,2500)、(2500,2001,2500)(2500,2001,2500)、(2500,2500,2500)(2500,2500,2500)、(2500,2998,2500)(2500,2998,2500)、(2500,2999,2500)(2500,2999,2500)
  • 固定第一、第二個數為 25002500,改變第三個數: (2500,2500,2000)(2500,2500,2000)、(2500,2500,2001)(2500,2500,2001)、(2500,2500,2500)(2500,2500,2500)、(2500,2500,2998)(2500,2500,2998)、(2500,2500,2999)(2500,2500,2999)

(2500,2500,2500)(2500,2500,2500) 重複三次,去除重複後共有 3×4+1=133 \times 4 + 1 = 13 組。

(二)徹底測試

每個欄位有 2999−2000+1=10002999-2000+1=1000 種整數,三個欄位的組合數為:

🔒

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

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

免費註冊

第 二 題25 分

關於電腦網路設備與應用,以及資訊安全的重要性,請回答下列問題:

(一) 網路上使用閘道器(Gateway)的目的?(5 分)

(二) 網路上路由器(Router)的功能?(5 分)

(三) 請簡要說明防火牆(Firewall)的運作原理?(5 分)

(四) 請說明替代加密(Substitution Cipher)及換位加密(Transposition Cipher)的差別?(6 分)

(五) 假設阿明與阿華使用模除 26 算術的加法加密(Additive Cipher),如果入侵者小王要以測試所有可能金鑰的方式來破解密碼,即採用暴力攻擊法(Brute-force Attack),請問平均需要測試幾把金鑰?(4 分)

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

這一題的完整詳解

核心觀念

本題考查網路設備的分工,以及古典加密法的基本分類與金鑰空間。

  • 閘道器(Gateway):連接使用不同協定或架構的網路,負責協定轉換,使兩端能互通。
  • 路由器(Router):依據網路層位址與路由表,選擇封包通往目的網路的路徑。
  • 防火牆(Firewall):依預先設定的安全規則,檢查並控制網路流量。
  • 替代加密與換位加密:前者替換字元,後者改變字元順序。
  • 加法加密:在模 26 下以金鑰位移字母,金鑰共有 26 種可能。

解題方法

(一)閘道器的目的

閘道器的主要目的,是讓使用不同通訊協定、資料格式或網路架構的網路彼此溝通。它可在網路邊界進行必要的協定轉換或資料轉換,使來源網路的資料能被目的網路理解。

例如,兩個網路採用不同協定時,閘道器可將資料從一種協定格式轉換為另一種格式。一般而言,閘道器是不同網路之間的轉接點;路由器則主要負責依路由資訊轉送封包。

(二)路由器的功能

路由器主要在網路層運作,依據封包的目的 IP 位址查詢路由表,決定下一個轉送節點或輸出介面,將封包送往目的網路。

路由器也可執行路由選擇、轉送封包,並隔離不同的網路區段。若有多條路徑可供選擇,路由器會依路由資訊及路由度量選擇適當路徑。

(三)防火牆的運作原理

防火牆設置於不同安全區域或網路的邊界,依安全政策檢查進出網路的流量,再決定允許、拒絕或記錄該流量。

常見檢查方式包括:

  1. 封包過濾:檢查來源與目的 IP 位址、連接埠及通訊協定等欄位。
  2. 狀態檢查:追蹤連線狀態,只允許符合既有連線狀態與規則的封包通過。
  3. 應用層檢查:檢查特定應用程式或應用層內容,依規則管制服務。

防火牆的核心是依規則控制網路流量;它能降低未授權存取風險,但不能取代所有資訊安全措施。

(四)替代加密與換位加密的差別

🔒

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

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

免費註冊

第 三 題20 分

假設一台 32 位元的電腦,CPU 有 16 個暫存器(R0 到 R15),主記憶體有 2048 個字組(Word)和 16 個不同的指令(例如:add(加法)、sub(減法)等)。

如果一個典型指令設計成下列格式:「add R1, R2, R3」,請回答下列問題:

(一) 每個暫存器最佳長度(Size)會是多少位元(bit/bits)?(5 分)

(二) 此 CPU 指令格式的運作碼(opcode)最少需要幾位元(bit/bits)?(5 分)

(三) 主記憶體是多少位元組(byte/bytes)?(5 分)

(四) 此指令「add R1, R2, R3」的機器碼(Machine Code)所需的最少長度(Size)會是多少位元(bit/bits)?(5 分)

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

這一題的完整詳解

核心觀念

本題考查暫存器編號、指令運作碼、主記憶體容量與指令格式的位元數計算。

若要表示 NN 種不同狀態,至少需要 ⌈log⁡2N⌉\lceil \log_2 N\rceil 位元。指令中的暫存器欄位則依操作數個數,重複計算所需的暫存器編號位元數。

解題方法

(一)每個暫存器的長度

題目指出電腦為 32 位元,故每個暫存器的資料長度為 32 位元。暫存器共有 16 個,影響的是表示暫存器編號所需的位元數,並不改變暫存器本身的資料長度。

因此,每個暫存器長度為 32 位元。

(二)運作碼(opcode)長度

16 種指令需要區分 16 種運作碼:

⌈log⁡216⌉=4 位元\lceil \log_2 16 \rceil = 4 \text{ 位元}

因此,opcode 最少需要 4 位元。

(三)主記憶體容量

主記憶體有 2048 個 Word。依題目所述的 32 位元電腦,每個 Word 為 32 位元,即 4 bytes。

🔒

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

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

免費註冊

第 四 題10 分

有兩個一維陣列(Array)XX 和 YY,每一陣列都有 MM 個整數。請使用 while 迴圈語法寫出一虛擬程式碼(Pseudo Code)演算法,來測試陣列 XX 中每一個元素是否等於陣列 YY 中相對應位置之元素。

若上述條件成立(XX 陣列相等於 YY 陣列),則回傳(Return)為真(True);反之,則回傳為假(False)。(10 分)

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

這一題的完整詳解

核心觀念

本題考一維陣列的逐項比較,以及使用 while 迴圈控制索引。兩個陣列相等的條件是:每個相同位置的元素都相等。只要找到一組對應元素不同,即可判定兩個陣列不相等。

解題方法

以索引 i 從第一個元素開始,逐項比較 X[i] 與 Y[i]。若不同,立即回傳 False;若相同,將索引加一,繼續比較。全部 MM 個位置都相同時,回傳 True。

以下採用從 0 開始的索引,元素位置為 0 至 M-1:

Algorithm ArraysEqual(X, Y, M)
 i ← 0

 while i < M do
 if X[i] ≠ Y[i] then
 return False
 end if

 i ← i + 1
 end while

 return True
🔒

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

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

免費註冊

第 五 題10 分

圖形(Graph)是一種抽象資料型態(Abstract Data Type),請回答下列問題:

(一) 請定義何謂圖形(Graph)?(4 分)

(二) 請簡要說明有向圖形(Directed Graph)與無向圖形(Undirected Graph)的不同?(3 分)

(三) 在電腦中,城市與城市間的道路若要以圖形來表示,會使用有向圖形還是無向圖形?城市名稱如何在圖形中表示?城市之間的距離如何在圖形中表示?(3 分)

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

這一題的完整詳解

核心觀念

圖形(Graph)由頂點與邊組成,用來表示物件之間的關係。一般記為 G=(V,E)G=(V,E),其中 VV 是頂點(Vertex)的集合,EE 是邊(Edge)的集合。若邊連接兩個頂點,便表示這兩個頂點之間存在某種關係。

解題方法

先看邊是否具有方向:有方向的是有向圖,沒有方向的是無向圖。再將題目中的城市道路對應為頂點與邊,城市名稱作為頂點的標籤,道路距離則記為邊的權重。

分題作答

(一)圖形的定義

圖形是由頂點集合 VV 與邊集合 EE 所構成的資料結構,表示為 G=(V,E)G=(V,E)。頂點代表被描述的對象,邊代表對象彼此之間的連結或關係。

(二)有向圖與無向圖的差異

  • 有向圖(Directed Graph):邊具有方向,連接 uu 與 vv 的邊可表示為有序對 (u,v)(u,v),表示由 uu 指向 vv。一般而言,(u,v)(u,v) 與 (v,u)(v,u) 是不同的邊。
🔒

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

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

免費註冊

第 六 題10 分

有 3 個數 XX、YY、ZZ,分別以不同進位的方式來表示:

XX 以 8 進位表示其值為 24.424.4;

YY 以 16 進位表示其值為 14.214.2;

ZZ 以 10 進位表示其值為 20.820.8。

請比較這 3 個數 XX、YY、ZZ 的大小關係為何?(10 分)

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

這一題的完整詳解

核心觀念

不同進位的數要先換成同一進位,才能直接比較。bb 進位數的整數部分,依各位數乘上 bb 的次方加總;小數部分則依小數點後各位數乘上 b−1,b−2,…b^{-1}, b^{-2}, \ldots 加總。

解題方法

將三個數都換算成十進位:

X=(24.4)8=2×81+4×80+4×8−1=16+4+48=20.5X=(24.4)_8 =2\times 8^1+4\times 8^0+4\times 8^{-1} =16+4+\frac{4}{8} =20.5
🔒

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

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

免費註冊

其他考古題