108 地方特考四等 統計 資料處理概要 考古題詳解
第 一 題25 分
試寫出此運算式 的前序表示法與後序表示法。
登入後即可作答並保存紀錄。
核心觀念
本題考查算術運算式的前序表示法(Prefix,又稱波蘭表示法)與後序表示法(Postfix,又稱逆波蘭表示法)。
轉換前先依運算優先順序解析原式:乘法、除法優先於加法、減法;同一優先順序的運算由左至右進行。因此:
前序表示法將運算子放在運算元之前;後序表示法將運算子放在運算元之後。括號不列入表示式。
解題方法
先把原式拆成最外層運算及其左右運算元:
最外層是減法,左運算元為加法,右運算元為乘法。轉換各部分如下:
- :前序為
/ 99 9,後序為99 9 /。 - :其運算結構為除法,左運算元是乘法。
第 二 題25 分
請利用 SQL 語法列出員工資料表(Employee)內之員工編號(Employee_no)、姓名(Employee_name),以及訂單資料表(Order)內之訂單編號(Order_no)、送貨日期(Delivery_date)、交貨日期(Order_date),並將結果使用員工編號遞增排序,其中:
員工資料表中包含員工編號、姓名、職稱、性別。
訂單資料表中包含訂單編號、員工編號、送貨日期、交貨日期。
登入後即可作答並保存紀錄。
核心觀念
本題考查 SQL 的多表連接、SELECT 欄位選取,以及 ORDER BY 排序。
Employee 與 Order 兩表以共同的「員工編號」欄位連接:員工表中的 Employee_no 對應訂單表中的 Employee_no。如此可列出每筆訂單所屬員工的資料。ORDER BY Employee_no ASC 表示依員工編號由小到大排列。
解題方法
題目指定輸出員工編號、姓名、訂單編號、送貨日期與交貨日期,因此在 SELECT 中列出這五個欄位。由於兩張表都可能有名稱相同或容易混淆的欄位,使用表格別名標明欄位來源。
Order 在部分資料庫系統中是保留字,使用時可用雙引號括住表名;若資料庫系統採用其他識別字引用方式,則依該系統語法調整。
SELECT E.Employee_no,
E.Employee_name,
O.Order_no,
O.Delivery_date,
O.Order_date
FROM Employee AS E
JOIN "Order" AS O
ON E.Employee_no = O.Employee_no
ORDER BY E.Employee_no ASC;
JOIN 未指定連接種類時,通常代表內部連接(INNER JOIN),只列出員工編號能在兩表中相互配對的資料。若採用較通用的寫法,也可明寫為:
第 三 題25 分
分別說明可搶先排班演算法(Preemptive Scheduling)與不可搶先排班演算法(Nonpreemptive Scheduling)二者的優缺點。
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統的 CPU 排班方式。兩者差異在於:一個行程開始使用 CPU 後,作業系統能否在其完成前中斷它,並把 CPU 分配給其他行程。
- 可搶先排班(Preemptive Scheduling):行程執行期間,作業系統可依排班規則中斷目前行程,改讓其他行程使用 CPU。時間片輪轉(Round Robin)與最短剩餘時間優先(Shortest Remaining Time First)是常見例子。
- 不可搶先排班(Nonpreemptive Scheduling):行程取得 CPU 後,會持續執行,直到完成或因等待 I/O 等原因自行釋放 CPU,其他行程才能取得 CPU。先到先服務(FCFS)與非搶先式優先權排班是常見例子。
解題方法與優缺點比較
可從「反應速度與公平性」、「切換成本」及「執行與管理難度」比較:
| 排班方式 | 優點 | 缺點 |
|---|---|---|
| 可搶先排班 | 可快速回應新到達的高優先權或互動式行程,提升系統反應速度; |
第 四 題25 分
封包傳送當中的錯誤控制方式技術有兩種,分別為回退 重傳(Go-back-, GBN)和選擇性重複(Selective Repeat, SR),請比較兩種方式的差異以及各自的優點。
登入後即可作答並保存紀錄。
核心觀念
本題考查資料鏈結層的滑動視窗錯誤控制。傳送端可在收到確認訊息前,連續送出多個封包;若封包遺失或損毀,接收端與傳送端依確認(ACK)及逾時機制處理重傳。
- 回退 重傳(Go-back-, GBN):接收端只接受依序到達的封包;遇到缺號封包時,通常丟棄該封包及其後續封包。傳送端逾時後,從未確認的最早封包起,重傳該封包及其後所有已送出的封包。
- 選擇性重複(Selective Repeat, SR):接收端可先收下並暫存失序封包;傳送端只重傳遺失或損毀的封包,其他已正確收到的封包不必重傳。
兩者的差異主要在接收端如何處理失序封包,以及發生錯誤時重傳多少封包。
解題方法
可從「接收端處理方式、確認方式、重傳範圍、所需資源與效率」逐項比較:
| 比較項目 | 回退 重傳(GBN) | 選擇性重複(SR) |
|---|---|---|
| 接收端處理失序封包 | 通常丟棄失序封包,只接受下一個預期序號的封包 | 接收並暫存視窗內的失序封包 |
| 確認方式 | 通常採累積確認;確認序號表示此前連續收到的封包 | 通常對各封包分別確認 |
| 發生遺失時的重傳範圍 | 從遺失封包起,重傳尚未確認的後續封包 | 只重傳遺失或損毀的封包 |
| 接收端需求 | 不必暫存大量失序封包,設計較簡單 | 需要緩衝區保存失序封包,控制較複雜 |
| 頻寬使用效率 | 錯誤後可能重傳已成功送達的封包,效率較低 | 避免不必要的重傳,通常效率較高 |