115 國安局特考三等 電子組(選試英文) 計算機概論 考古題詳解

115 年・國安局特考・三等・電子組(選試英文)
試題代碼 計算機概論

第 一 題15 分

A=(1982)10A=(1982)_{10}、B=(3456)8B=(3456)_8、C=(6C7D)16C=(6C7D)_{16}、D=(10101101)2D=(10101101)_2。計算 AA、BB、CC、DD 四數之和,並用八進位的方式表示答案。請詳列計算過程。

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

這一題的完整詳解

核心觀念

本題考查不同進位數值的轉換與加總。各進位數可先轉成十進位,再相加,最後將總和轉成八進位。

一個 rr 進位數的位值展開公式為:

(anan−1⋯a0)r=∑i=0nairi(a_na_{n-1}\cdots a_0)_r =\sum_{i=0}^{n}a_i r^i

也可利用每三個二進位位元對應一個八進位數字,直接將二進位數轉成八進位。

解題方法

先分別換算 AA、BB、CC、DD,再求總和。

  1. AA 已是十進位:
A=(1982)10A=(1982)_{10}
  1. 將 B=(3456)8B=(3456)_8 轉成十進位:
B=3×83+4×82+5×81+6×80=3×512+4×64+5×8+6=1536+256+40+6=1838\begin{aligned} B &=3\times 8^3+4\times 8^2+5\times 8^1+6\times 8^0\\ &=3\times512+4\times64+5\times8+6\\ &=1536+256+40+6\\ &=1838 \end{aligned}
  1. 將 C=(6C7D)16C=(6C7D)_{16} 轉成十進位。十六進位字母中,C=12C=12、D=13D=13:
C=6×163+12×162+7×161+13×160=6×4096+12×256+7×16+13=24576+3072+112+13=27773\begin{aligned} C &=6\times16^3+12\times16^2+7\times16^1+13\times16^0\\ &=6\times4096+12\times256+7\times16+13\\ &=24576+3072+112+13\\ &=27773 \end{aligned}
  1. 將 D=(10101101)2D=(10101101)_2 轉成十進位:
🔒

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

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

免費註冊

第 二 題15 分

請詳細比較傳統硬碟(HDD)和固態硬碟(SSD)之差異。

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

這一題的完整詳解

核心觀念

本題比較 HDD(Hard Disk Drive,傳統硬碟)與 SSD(Solid-State Drive,固態硬碟)的儲存原理及其對效能、可靠度、成本與使用情境的影響。HDD 以磁性方式將資料記錄在旋轉碟片上;SSD 以快閃記憶體儲存資料,沒有旋轉碟片或機械讀寫臂。

解題方法

依「儲存原理 → 存取方式與效能 → 耐用度與耗電 → 容量成本與適用情境」比較,並說明各項差異的成因。這樣作答能避免只列出「SSD 較快」等結論,而能呈現差異與原因之間的關係。

比較項目HDDSSD
儲存媒介與原理以旋轉磁性碟片記錄資料,由讀寫臂移動磁頭讀寫以 NAND Flash 等快閃記憶體儲存資料,以電子方式存取
是否有機械構件有馬達、碟片及讀寫臂等機械構件沒有旋轉碟片與機械讀寫臂
存取時間須等待碟片旋轉到正確位置,並讓磁頭移至目標磁軌;具有旋轉延遲與尋道時間可直接存取快閃記憶體中的資料,隨機讀寫延遲通常較低
傳輸效能連續讀寫效能受碟片轉速、磁錄密度及介面限制;大量隨機存取時,機械移動會降低效能隨機存取效能通常較佳;實際速度也受控制器、快閃記憶體、介面及工作負載影響
抗震與耐用度運作中受撞擊可能造成磁頭或碟片損傷;機械構件亦會磨耗沒有機械構件,通常較能承受日常震動;但仍可能因電子故障、控制器損壞或快閃記憶體磨耗而失效
寫入壽命與資料保存磁性媒介可反覆改寫,仍會受到機械故障與其他因素影響NAND Flash 的寫入次數有限,控制器會透過磨耗平均等技術延長壽命;斷電保存資料的能力也受媒介狀態、溫度與時間影響
噪音與發熱旋轉與磁頭移動可能產生噪音及發熱通常較安靜;耗電與發熱依產品、介面及負載而異
🔒

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

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

免費註冊

第 三 題15 分

有一組資料以二元搜尋樹(binary search tree)的結構儲存,請提供一個演算法,將這組資料由小到大排序。並舉例說明。

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

這一題的完整詳解

核心觀念

二元搜尋樹(Binary Search Tree, BST)的左子樹節點值小於根節點,右子樹節點值大於根節點。對 BST 做中序走訪,順序為「左子樹、根節點、右子樹」,因此輸出的資料會由小到大排列。

解題方法

採用遞迴中序走訪:先走訪左子樹,再輸出目前節點,最後走訪右子樹。當節點為空時停止。

BSTSort(node):
 if node == null:
 return
 BSTSort(node.left)
 output node.key
 BSTSort(node.right)

例如,將資料依序插入 BST:5,3,7,2,4,6,85, 3, 7, 2, 4, 6, 8,形成:

🔒

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

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

免費註冊

第 四 題15 分

當你實作電路時發現缺少 NOT 邏輯閘(gate),但你手邊有下列兩種邏輯閘,請問如何應用現有的邏輯閘,達成 NOT 邏輯閘的功能需求?

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

附圖包含 AND Gate 與 XOR Gate。

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

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

這一題的完整詳解

核心觀念

本題考查基本邏輯閘的布林代數與真值表。NOT 邏輯閘的功能是將輸入反相:

Y=A‾Y=\overline{A}

XOR 邏輯閘的輸出規則為:兩個輸入不同時輸出 11,相同時輸出 00。

當 XOR 的其中一個輸入固定接至邏輯 11 時:

Y=A⊕1=A‾Y=A\oplus 1=\overline{A}

因此可利用 XOR Gate 實作 NOT Gate。

解題方法

將輸入訊號 AA 接到 XOR Gate 的一個輸入端,另一個輸入端固定接至邏輯高電位 11:

Y=A⊕1Y=A\oplus 1

分別檢查兩種輸入情形:

輸入 AA固定輸入XOR 輸出 Y=A⊕1Y=A\oplus 1
001111
111100

可見輸出結果恰好是輸入的反相:

Y=A‾Y=\overline{A}

電路連接方式可表示為:

A⟶XORA\longrightarrow \text{XOR}

且 XOR 的另一輸入端連接至邏輯 11。

AND Gate 的作用分析

單獨使用 AND Gate 無法完成 NOT 功能。常見連接方式如下:

🔒

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

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

免費註冊

第 五 題20 分

某一作業系統之中央處理器(CPU)排程使用先到先服務的方法(first-come, first-served scheduling),若今有一排程,共有四個程序 P1、P2、P3 及 P4,其到達時間與所需執行時間如下表所示,則此排程中,每個程序的總執行時間(turnaround time)分別為何?請詳列計算過程。

程序到達時間所需執行時間
P105
P237
P3103
P4174

註:時間單位為毫秒。

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

這一題的完整詳解

核心觀念

本題考 先到先服務(First-Come, First-Served, FCFS)排程與**周轉時間(turnaround time)**的計算。FCFS 按程序到達就緒佇列的先後順序執行;程序開始後會持續執行至完成。

周轉時間是程序從到達系統至完成所經過的時間:

周轉時間=完成時間−到達時間\text{周轉時間}=\text{完成時間}-\text{到達時間}

解題方法

依到達順序排列程序,逐一計算開始時間與完成時間。程序的開始時間為「其到達時間」與「前一程序完成時間」兩者較晚者:

開始時間=max⁡(到達時間,前一程序完成時間)\text{開始時間}=\max(\text{到達時間},\text{前一程序完成時間})

本題中 P1、P2、P3、P4 的到達時間依序增加,因此按此順序執行。

程序到達時間執行時間開始時間完成時間周轉時間計算周轉時間
P10500+5=50+5=55−05-05 毫秒
🔒

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

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

免費註冊

第 六 題20 分

寫出下列 Python 語言程式的輸出,並詳細解釋程式的執行流程。

def foo(arr): n = len(arr)

if n <= 1:
    return
for i in range(1, n):
    key = arr[i]
    j = i - 1
    while j >= 0 and key < arr[j]:
        arr[j + 1] = arr[j]
        j -= 1
    arr[j + 1] = key
    print(arr)

arr = [35, 91, 25, 30, 6, 18, 8, 55] foo(arr)

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

這一題的完整詳解

核心觀念

本題考查 插入排序(Insertion Sort) 與 Python 的串列可變性。程式每次取出尚未排序部分的第一個元素,向左比較並移動較大的元素,最後將該元素插入已排序部分的正確位置。

foo 直接修改傳入的串列 arr。每完成一次外層迴圈,就印出當下整個串列;因此輸出共有 n−1n-1 行。

解題方法

初始串列為:

[35, 91, 25, 30, 6, 18, 8, 55]

外層迴圈的 i 從 11 到 77。每次以 arr[i] 作為 key,從其左側開始比較:

  • 若 key < arr[j],將 arr[j] 往右移一格,並令 j 減 11。
  • 比較停止後,把 key 放在 arr[j + 1]。
  • 印出完成本輪插入後的串列。
ikey插入過程摘要本輪輸出
19191 不小於左側的 35,位置不變[35, 91, 25, 30, 6, 18, 8, 55]
22591、35 右移,25 插入最前面[25, 35, 91, 30, 6, 18, 8, 55]
33091、35 右移,30 插入 25 與 35 之間[25, 30, 35, 91, 6, 18, 8, 55]
4691、35、30、25 右移,6 插入最前面[6, 25, 30, 35, 91, 18, 8, 55]
🔒

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

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

免費註冊

其他考古題

115 年國安局特考三等・其他類科的《計算機概論》