112 鐵路特考高員三級 電力工程 計算機概論 考古題詳解

112 年・鐵路特考・高員三級・電力工程
試題代碼 計算機概論

第 一 題10 分

假設 XX、YY 與 ZZ 都是 8 位元暫存器,其中高序 5 位元儲存整數,低序 3 位元儲存小數,則:

(一) 將 14.35 與 15.6875 分別存入 XX 與 YY 暫存器時,XX 與 YY 暫存器的值為何?請以二進制表示。

(二) 將 XX 與 YY 暫存器的值相加後,存入 ZZ 暫存器中,則 ZZ 暫存器的值為何?請以二進制表示。

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

這一題的完整詳解

核心觀念

這題考固定小數點表示法。8 位元暫存器中,高序 5 位元表示整數,低序 3 位元表示小數,因此小數部分只能以 1/81/8 為單位表示。換言之,將數值乘以 23=82^3=8 後,取其整數部分,再轉成 8 位元二進制。

解題方法

先將數值乘以 88,再轉為二進制;等效作法是把二進制小數點向右移 3 位。若結果含有超過 8 位的部分,依 8 位元暫存器的容量截去超出的位元。

(一)求 XX 與 YY

對 14.3514.35:

14.35×8=114.814.35\times 8=114.8

取整數部分 114114,轉成 8 位元二進制為:

11410=011100102114_{10}=01110010_2

因此:

X=01110.0102=01110010X=01110.010_2=01110010

實際表示的數值為 14+28=14.2514+\frac{2}{8}=14.25。

對 15.687515.6875:

15.6875×8=125.515.6875\times 8=125.5

取整數部分 125125,轉成 8 位元二進制為:

12510=011111012125_{10}=01111101_2

因此:

🔒

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

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

免費註冊

第 二 題5 分

全減器(full subtractor)為一個具有三個輸入(xx、yy 與 BinB_{in})與兩個輸出(dd 與 BoutB_{out})的邏輯電路,用來計算三個單一位元 xx(被減數)、yy(減數)與 BinB_{in}(借位輸入)的差值。輸出中的 dd(差值)=x−y−Bin=x-y-B_{in},而借位輸出 BoutB_{out} 在 x<(y+Bin)x<(y+B_{in}) 時被設為 1。

(一) 請列出全減器的真值表(truth table)。

(二) 將輸出 dd 與 BoutB_{out} 表示為最簡的和之積(sum-of-products)表示式。

(三) 使用兩個輸入端的 AND、OR、XOR 等三種類型的邏輯閘,畫出輸出 dd 與 BoutB_{out} 的邏輯電路。

(四) 使用上述全減器(使用方塊圖表示),設計一個四位元減法器,並以方塊圖(block diagram)描述。

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

這一題的完整詳解

核心觀念

全減器(full subtractor)以被減數 xx、減數 yy 與借位輸入 BinB_{in} 為輸入,計算

x−y−Bin=2Bout+dx-y-B_{in}=2B_{out}+d

其中差值位元 dd 為結果的最低位,借位輸出 BoutB_{out} 則表示此位元相減時是否需要向高位借 11。由於輸入與輸出都是單一位元,差值可能為 −2-2 至 11,因此可用上述等式表示借位與差值的關係。

解題方法

依序列出 x,y,Binx,y,B_{in} 的八種組合。每列先計算 x−y−Binx-y-B_{in},再由 x−y−Bin=2Bout+dx-y-B_{in}=2B_{out}+d 求出 BoutB_{out} 與 dd。

xxyyBinB_{in}x−y−Binx-y-B_{in}BoutB_{out}dd
000000
001−1-111
010−1-111
011−2-210
100101
101000
110000
111−1-111

例如 x=0,y=1,Bin=1x=0,y=1,B_{in}=1 時,0−1−1=−2=2(1)+00-1-1=-2=2(1)+0,所以 Bout=1,d=0B_{out}=1,d=0。

最簡和之積表示式

由真值表中輸出為 11 的列寫出最小項。變數順序採 x,y,Binx,y,B_{in}。

差值 d=1d=1 的最小項為 001,010,100,111001,010,100,111:

d=x‾ y‾Bin+x‾yBin‾+xy‾ Bin‾+xyBind=\overline{x}\,\overline{y}B_{in} +\overline{x}y\overline{B_{in}} +x\overline{y}\,\overline{B_{in}} +xyB_{in}

這四個最小項沒有可合併的相鄰項,故為最簡和之積形式。它也可辨認為三輸入互斥或:

d=x⊕y⊕Bind=x\oplus y\oplus B_{in}

借位輸出 Bout=1B_{out}=1 的最小項為 001,010,011,111001,010,011,111:

Bout=x‾ y‾Bin+x‾yBin‾+x‾yBin+xyBinB_{out} =\overline{x}\,\overline{y}B_{in} +\overline{x}y\overline{B_{in}} +\overline{x}yB_{in} +xyB_{in}

合併相鄰項可化簡為:

Bout=x‾y+x‾Bin+yBinB_{out}=\overline{x}y+\overline{x}B_{in}+yB_{in}

其中前三個最小項的化簡結果可寫為 x‾y+x‾Bin\overline{x}y+\overline{x}B_{in};最後一項與相鄰項合併後,借位式如上。此式亦符合借位判斷:當 x=0x=0 而 yy 或 BinB_{in} 為 11 時會借位;即使 x=1x=1,若 y=Bin=1y=B_{in}=1,仍會借位。

邏輯電路

使用題目指定的二輸入 AND、OR、XOR 閘,差值可用兩級 XOR 閘實作:

x ─────┐
 XOR ──┐
y ─────┘ XOR ─── d
B_in ─────────┘
🔒

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

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

免費註冊

第 三 題5 分

請解釋或定義下列與網際網路相關的名詞:

(一) 代理伺服器(proxy server)。

(二) 防火牆(firewall)。

(三) 分散式阻斷服務(Distributed denial of service, DDoS)攻擊。

(四) 間諜程式(spyware 或 sniffing)。

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

這一題的完整詳解

核心觀念

本題測驗網際網路的中介與防護機制,以及常見網路攻擊與惡意程式的基本概念。作答時應說明各名詞的功能、運作方式及可能造成的影響,並區分「代理伺服器」與「防火牆」等容易混淆的機制。

解題方法

依序從「網路中介設備」、「存取控管」、「攻擊方式」及「惡意程式或流量監聽」四個角度說明:代理伺服器代替用戶端轉送請求;防火牆依安全規則控管網路流量;DDoS 以多個來源耗盡目標資源;間諜程式或嗅探則涉及秘密蒐集資訊或擷取網路流量。

名詞解釋

(一)代理伺服器(proxy server)

代理伺服器是位於用戶端與目的伺服器之間的中介伺服器。用戶端先將請求送給代理伺服器,再由代理伺服器代為轉送至目的地,並將回應傳回用戶端。

代理伺服器常用於快取常見資料以加快存取、控管或記錄內部網路的上網行為、隱藏用戶端的直接網路位址,以及集中管理對外連線。代理伺服器也可設定存取政策,但它的核心角色是代替用戶端處理或轉送請求。

(二)防火牆(firewall)

防火牆是部署於網路邊界或主機上的安全機制,用來依預先設定的規則,允許或阻擋進出網路的流量。規則可依來源或目的 IP 位址、連接埠、通訊協定、連線狀態或應用程式等條件判斷。

防火牆的主要目的,是限制未授權的網路連線並降低外部攻擊或內部違規連線的風險。它可以是硬體設備、軟體程式或兩者組合,但不能單獨保證系統安全,也不能取代防毒、身分驗證與修補漏洞等措施。

(三)分散式阻斷服務(Distributed denial of service, DDoS)攻擊

🔒

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

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

免費註冊

第 四 題5 分

假設輸入系列為:

23, 12, 4, 56, 19, 42, 9823,\ 12,\ 4,\ 56,\ 19,\ 42,\ 98

(一) 建構一個二元搜尋樹(binary search tree)。

(二) 何謂最小優先權佇列(min priority queue)?試定義之。

(三) 使用二元搜尋樹是否可以實現最小優先權佇列?若可以,請描述如何取得最小優先權的資訊。若不可以,請說明理由。

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

這一題的完整詳解

核心觀念

本題考查二元搜尋樹(Binary Search Tree, BST)的建構與性質,以及最小優先權佇列(min priority queue)的定義和實作方式。

二元搜尋樹的每個節點都符合以下次序關係:

  • 左子樹的鍵值小於該節點。
  • 右子樹的鍵值大於該節點。
  • 左、右子樹本身也都符合二元搜尋樹的性質。

最小優先權佇列依優先權取出元素;其中優先權值最小的元素具有最高優先權,應最先被取得。

解題方法

(一)依輸入順序建構二元搜尋樹

依序插入 23,12,4,56,19,42,9823, 12, 4, 56, 19, 42, 98。插入每個數值時,從根節點開始比較:較小者往左,較大者往右。

  1. 2323 為根節點。
  2. 12<2312<23,放在 2323 左側。
  3. 4<234<23,往左比較;4<124<12,放在 1212 左側。
  4. 56>2356>23,放在 2323 右側。
  5. 19<2319<23,往左比較;19>1219>12,放在 1212 右側。
  6. 42>2342>23,往右比較;42<5642<56,放在 5656 左側。
  7. 98>2398>23,往右比較;98>5698>56,放在 5656 右側。

建構結果如下:

 23
 / \
 12 56
 / \ / \
 4 19 42 98

(二)定義最小優先權佇列

🔒

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

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

免費註冊

第 五 題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)
🔒

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

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

免費註冊

其他考古題