110 公務人員升官等薦任 電子工程 計算機概論 考古題詳解

110 年・公務人員升官等・薦任・電子工程
試題代碼 計算機概論

第 一 題10 分

圖 1 為一個 sequential logic circuit,圖中的小圓點表示 not 的意思。

請問:當 aa 值為 11、bb 的值為 00、cc 的值為 11 時,xx 的值為何?請詳述計算求解過程。

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

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

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

這一題的完整詳解

核心觀念

本題考查 交互回授 NOR 閘組成的循序邏輯電路。循序電路的輸出會回授到其他閘的輸入,因此需列出各閘的布林方程式,再求穩定輸出。

圖中的小圓點代表反相;因此右側兩個閘都是 NOR 閘。左側兩個閘為 AND 閘。

解題方法

令下方 NOR 閘的輸出為 yy。依照圖中的連線,可列出:

x=(a∧c)∨y‾x=\overline{(a\land c)\lor y} y=(b∧c)∨x‾y=\overline{(b\land c)\lor x}

先計算兩個 AND 閘的輸出:

a∧c=1∧1=1a\land c=1\land1=1
🔒

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

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

免費註冊

第 二 題20 分

(一) 請將 1616 進位的 (86E)16(86E)_{16} 轉換成 88 進位。

(二) 假設某台電腦用二補數的方式將 1010 進位的 −35-35 儲存在 88 個 bits 的暫存器裡頭,請寫出該暫存器裡頭每個 bit 的內容。

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

這一題的完整詳解

核心觀念

本題考查進位制轉換,以及負整數在固定位元長度下的二補數表示法。

  • 二進位每 33 個位元可對應一個八進位數字,因此十六進位可先轉成二進位,再由右向左每 33 位分組。
  • nn 位元二補數的表示範圍為 −2n−1-2^{n-1} 至 2n−1−12^{n-1}-1。求負數表示時,可將其絕對值寫成固定長度二進位,再逐位反相並加 11。

解題方法

(一)將 (86E)16(86E)_{16} 轉換成八進位

先將每個十六進位數字轉成 44 位元二進位:

(86E)16=(1000 0110 1110)2(86E)_{16} =(1000\ 0110\ 1110)_2

由右向左每 33 位分組:

100 001 101 110100\ 001\ 101\ 110

各組轉成八進位數字:

1002=4,0012=1,1012=5,1102=6100_2=4,\quad 001_2=1,\quad 101_2=5,\quad 110_2=6

因此:

(86E)16=(4156)8(86E)_{16}=(4156)_8

(二)以 88 個 bits 儲存十進位 −35-35

88 位元二補數的表示範圍為 −128-128 至 127127,因此 −35-35 可以表示。

🔒

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

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

免費註冊

第 三 題20 分

給定二個大於 22 的正整數 xx 和 yy,請用程式語言 C 或 pseudo code 寫出 gcd 函式(function),能以 xx 和 yy 為參數,回傳 xx 和 yy 的最大公因數。

(一) 限定用 recursive 函式的方式寫出 gcd 函式。

(二) 限定用「for 迴圈」的方式寫出 gcd 函式。

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

這一題的完整詳解

核心觀念

本題考最大公因數(GCD)的求法,以及如何分別用遞迴函式與 for 迴圈實作。採用歐幾里得演算法:對正整數 a,ba,b,若 a≥b>0a \ge b > 0,則

gcd⁡(a,b)=gcd⁡(b, a mod b)\gcd(a,b)=\gcd(b,\ a\bmod b)

當餘數為 00 時,最後一個非零除數就是最大公因數。此性質成立的原因是:aa 與 bb 的公因數,恰好也是 bb 與 a mod ba\bmod b 的公因數。

解題方法

先將兩個輸入整理為 a≥ba \ge b。反覆以較大的數除以較小的數,並以「除數、餘數」取代原來的兩數;餘數成為 00 時停止。遞迴版以函式呼叫表達反覆更新,迴圈版則以 for 迴圈執行相同更新。

例如 x=48, y=18x=48,\ y=18:

48=18×2+1218=12×1+612=6×2+0\begin{aligned} 48 &= 18\times 2+12\\ 18 &= 12\times 1+6\\ 12 &= 6\times 2+0 \end{aligned}

最後一個非零餘數前的除數為 66,所以 gcd⁡(48,18)=6\gcd(48,18)=6。

(一)遞迴函式

int gcd_recursive(int x, int y) {
 if (x < y) {
 return gcd_recursive(y, x);
 }

 if (y == 0) {
 return x;
 }

 return gcd_recursive(y, x % y);
}

若輸入均大於 22,程式仍會正確處理;函式也將「其中一數為 00」設為遞迴終止條件。當 x<yx<y 時先交換兩數,使後續計算符合歐幾里得演算法的形式;否則繼續呼叫 gcd_recursive(y, x % y)。

🔒

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

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

免費註冊

第 四 題15 分

如圖 2 所示,我們假設當行動台(mobile station)X 正傳輸資料給 access point(AP)時,行動台 Y 也想傳輸資料給 AP。由於 Y 偵測不到 X 的訊號,誤以為沒有其它設備在傳送資料,便傳送資料給 AP,如此將導致 AP 無法正常接收 X 和 Y 所傳送的資料。此一現象稱為 hidden terminal problem。

請問 WiFi 的國際標準 IEEE 802.11 如何避免 hidden terminal problem 的發生?

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

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

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

這一題的完整詳解

核心觀念

本題考查 IEEE 802.11 的 **CSMA/CA(載波感知多重存取/碰撞避免)**與 RTS/CTS 握手。隱藏終端問題是:X、Y 都能與 AP 通訊,但彼此無法偵測對方的訊號,因此 Y 可能在 X 傳送時也開始傳送,造成 AP 收到碰撞資料。

解題方法

IEEE 802.11 可使用 RTS/CTS 機制,在傳送較長資料前先保留無線媒介:

  1. X 先向 AP 傳送 RTS(Request to Send,要求傳送)。
  2. AP 收到 RTS 後,回覆 CTS(Clear to Send,允許傳送)。
  3. CTS 會由 AP 傳送。圖中的 Y 雖然偵測不到 X,卻能收到 AP 的 CTS。
🔒

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

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

免費註冊

第 五 題20 分

圖 3 為 AVL tree。

(一) 畫出在圖 3 裡頭增加 key 值為 9090 的 node 之後的 AVL tree。(註:此時 AVL tree 裡頭共有 99 個 nodes。)

(二) 圖 3 為 AVL tree。畫出在圖 3 裡頭刪除 key 值為 4040 的 node 之後的 AVL tree。(註:此時 AVL tree 裡頭共有 77 個 nodes。)

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

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

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

這一題的完整詳解

核心觀念

AVL tree 是符合二元搜尋樹排序規則,且每個節點左右子樹高度差不超過 11 的二元樹。平衡因子定義為:

BF(v)=h(左子樹)−h(右子樹)BF(v)=h(\text{左子樹})-h(\text{右子樹})

每個節點都必須滿足 BF(v)∈{−1,0,1}BF(v)\in\{-1,0,1\}。插入或刪除節點後,若有節點的平衡因子超出範圍,就沿著失衡方向進行旋轉,恢復平衡。

原樹的結構為:

 40
 / \
 25 70
 \ / \
 35 55 80
 / \
 75 85

解題方法

(一)插入 key 值 90

依二元搜尋樹規則,9090 大於 40、70、80、8540、70、80、85,因此插入為 8585 的右子節點:

 40
 / \
 25 70
 \ / \
 35 55 80
 / \
 75 85
 \
 90

插入後,節點 7070 的右子樹比左子樹高 22,有 BF(70)=−2BF(70)=-2。失衡發生在右子樹的右側,屬於 RR 型,因此對 7070 做一次左旋。旋轉後結果為:

 40
 / \
 25 80
 \ / \
 35 70 85
 / \ \
 55 75 90

共有 99 個節點,且各節點都符合 AVL 平衡條件。

(二)刪除 key 值 40

🔒

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

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

免費註冊

第 六 題15 分

解釋下列有關電腦及網路安全的名詞:

(一) 巨集病毒(macro virus)

(二) 特洛伊木馬(Trojan horse)

(三) 字典攻擊(dictionary attack)

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

這一題的完整詳解

核心觀念

本題考查三種常見的惡意程式或密碼破解方式。作答時要分清楚它們的感染或偽裝方式、主要行為,以及攻擊目標:

  • 巨集病毒利用文件中的巨集程式碼散播或執行惡意行為。
  • 特洛伊木馬偽裝成正常或有用的程式,誘使使用者執行。
  • 字典攻擊以常見單字、慣用密碼或其變形,逐一嘗試登入密碼。

解題方法

本題是名詞解釋題,逐項說明「是什麼、如何運作、造成什麼風險」即可。辨別時可抓住關鍵字:巨集病毒看文件巨集;特洛伊木馬看偽裝與誘騙執行;字典攻擊看候選密碼逐一嘗試。

(一)巨集病毒(macro virus)

巨集病毒是以應用程式的巨集語言撰寫的惡意程式,常見於支援巨集的文書或試算表文件。當使用者開啟受感染文件,並允許或觸發巨集執行時,病毒即可執行其指令;部分巨集病毒也會感染範本或其他文件,使後續文件繼續帶有病毒。

其危害包括竄改或刪除文件內容、複製自身、散播到其他文件,或執行其他惡意操作。防範方式包括停用不必要的巨集、只允許可信來源的巨集,以及使用防毒軟體掃描文件。

(二)特洛伊木馬(Trojan horse)

🔒

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

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

免費註冊

其他考古題