112 國安局特考三等 資訊組(選試英文) 計算機概論 考古題詳解
第 一 題10 分
假設 、 與 都是 8 位元暫存器,其中高序 5 位元儲存整數,低序 3 位元儲存小數,則:
(一) 將 14.35 與 15.6875 分別存入 與 暫存器時, 與 暫存器的值為何?請以二進制表示。
(二) 將 與 暫存器的值相加後,存入 暫存器中,則 暫存器的值為何?請以二進制表示。
登入後即可作答並保存紀錄。
核心觀念
這題考固定小數點表示法。8 位元暫存器中,高序 5 位元表示整數,低序 3 位元表示小數,因此小數部分只能以 為單位表示。換言之,將數值乘以 後,取其整數部分,再轉成 8 位元二進制。
解題方法
先將數值乘以 ,再轉為二進制;等效作法是把二進制小數點向右移 3 位。若結果含有超過 8 位的部分,依 8 位元暫存器的容量截去超出的位元。
(一)求 與
對 :
取整數部分 ,轉成 8 位元二進制為:
因此:
實際表示的數值為 。
對 :
取整數部分 ,轉成 8 位元二進制為:
因此:
第 二 題5 分
全減器(full subtractor)為一個具有三個輸入(、 與 )與兩個輸出( 與 )的邏輯電路,用來計算三個單一位元 (被減數)、(減數)與 (借位輸入)的差值。輸出中的 (差值),而借位輸出 在 時被設為 1。
(一) 請列出全減器的真值表(truth table)。
(二) 將輸出 與 表示為最簡的和之積(sum-of-products)表示式。
(三) 使用兩個輸入端的 AND、OR、XOR 等三種類型的邏輯閘,畫出輸出 與 的邏輯電路。
(四) 使用上述全減器(使用方塊圖表示),設計一個四位元減法器,並以方塊圖(block diagram)描述。
登入後即可作答並保存紀錄。
核心觀念
全減器(full subtractor)以被減數 、減數 與借位輸入 為輸入,計算
其中差值位元 為結果的最低位,借位輸出 則表示此位元相減時是否需要向高位借 。由於輸入與輸出都是單一位元,差值可能為 至 ,因此可用上述等式表示借位與差值的關係。
解題方法
依序列出 的八種組合。每列先計算 ,再由 求出 與 。
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | |
| 0 | 1 | 0 | 1 | 1 | |
| 0 | 1 | 1 | 1 | 0 | |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
例如 時,,所以 。
最簡和之積表示式
由真值表中輸出為 的列寫出最小項。變數順序採 。
差值 的最小項為 :
這四個最小項沒有可合併的相鄰項,故為最簡和之積形式。它也可辨認為三輸入互斥或:
借位輸出 的最小項為 :
合併相鄰項可化簡為:
其中前三個最小項的化簡結果可寫為 ;最後一項與相鄰項合併後,借位式如上。此式亦符合借位判斷:當 而 或 為 時會借位;即使 ,若 ,仍會借位。
邏輯電路
使用題目指定的二輸入 AND、OR、XOR 閘,差值可用兩級 XOR 閘實作:
x ─────┐
XOR ──┐
y ─────┘ XOR ─── d
B_in ─────────┘
第 三 題5 分
請解釋或定義下列與網際網路相關的名詞:
(一) 代理伺服器(proxy server)。
(二) 防火牆(firewall)。
(三) 分散式阻斷服務(Distributed denial of service, DDoS)攻擊。
(四) 間諜程式(spyware 或 sniffing)。
登入後即可作答並保存紀錄。
核心觀念
本題測驗網際網路的中介與防護機制,以及常見網路攻擊與惡意程式的基本概念。作答時應說明各名詞的功能、運作方式及可能造成的影響,並區分「代理伺服器」與「防火牆」等容易混淆的機制。
解題方法
依序從「網路中介設備」、「存取控管」、「攻擊方式」及「惡意程式或流量監聽」四個角度說明:代理伺服器代替用戶端轉送請求;防火牆依安全規則控管網路流量;DDoS 以多個來源耗盡目標資源;間諜程式或嗅探則涉及秘密蒐集資訊或擷取網路流量。
名詞解釋
(一)代理伺服器(proxy server)
代理伺服器是位於用戶端與目的伺服器之間的中介伺服器。用戶端先將請求送給代理伺服器,再由代理伺服器代為轉送至目的地,並將回應傳回用戶端。
代理伺服器常用於快取常見資料以加快存取、控管或記錄內部網路的上網行為、隱藏用戶端的直接網路位址,以及集中管理對外連線。代理伺服器也可設定存取政策,但它的核心角色是代替用戶端處理或轉送請求。
(二)防火牆(firewall)
防火牆是部署於網路邊界或主機上的安全機制,用來依預先設定的規則,允許或阻擋進出網路的流量。規則可依來源或目的 IP 位址、連接埠、通訊協定、連線狀態或應用程式等條件判斷。
防火牆的主要目的,是限制未授權的網路連線並降低外部攻擊或內部違規連線的風險。它可以是硬體設備、軟體程式或兩者組合,但不能單獨保證系統安全,也不能取代防毒、身分驗證與修補漏洞等措施。
(三)分散式阻斷服務(Distributed denial of service, DDoS)攻擊
第 四 題5 分
假設輸入系列為:
(一) 建構一個二元搜尋樹(binary search tree)。
(二) 何謂最小優先權佇列(min priority queue)?試定義之。
(三) 使用二元搜尋樹是否可以實現最小優先權佇列?若可以,請描述如何取得最小優先權的資訊。若不可以,請說明理由。
登入後即可作答並保存紀錄。
核心觀念
本題考查二元搜尋樹(Binary Search Tree, BST)的建構與性質,以及最小優先權佇列(min priority queue)的定義和實作方式。
二元搜尋樹的每個節點都符合以下次序關係:
- 左子樹的鍵值小於該節點。
- 右子樹的鍵值大於該節點。
- 左、右子樹本身也都符合二元搜尋樹的性質。
最小優先權佇列依優先權取出元素;其中優先權值最小的元素具有最高優先權,應最先被取得。
解題方法
(一)依輸入順序建構二元搜尋樹
依序插入 。插入每個數值時,從根節點開始比較:較小者往左,較大者往右。
- 為根節點。
- ,放在 左側。
- ,往左比較;,放在 左側。
- ,放在 右側。
- ,往左比較;,放在 右側。
- ,往右比較;,放在 左側。
- ,往右比較;,放在 右側。
建構結果如下:
23
/ \
12 56
/ \ / \
4 19 42 98
(二)定義最小優先權佇列
第 五 題5 分
請回答下列有關於程式語言的問題:
(一) 說明什麼是形式引數(formal arguments)。
(二) 說明什麼是實際引數(actual arguments)。
(三) 說明傳值呼叫(call by value)與傳參考值呼叫(call by reference)的區別。
登入後即可作答並保存紀錄。
核心觀念
本題考查程序呼叫時,呼叫端提供的資料如何對應到被呼叫程序的參數,以及參數值在程序內變更時是否會影響呼叫端的變數。
- 形式引數(formal arguments):寫在函式或程序定義中的參數名稱,用來接收呼叫時傳入的資料,也稱為「形式參數」。例如
function add(x, y)中的x、y。 - 實際引數(actual arguments):呼叫函式或程序時,實際提供的值或變數,也稱為「實際參數」。例如呼叫
add(a, 3)時,a與3是實際引數。
形式引數與實際引數依呼叫時的位置或語言規定的對應方式配對;兩者名稱不必相同。
解題方法
比較傳值與傳參考值,關鍵在於:被呼叫程序取得的是「引數值的副本」,還是「能指向呼叫端變數的參考」。
procedure change(x):
x = 10
a = 5
change(a)