115 身心障礙特考三等 統計 資料處理 考古題詳解
第 一 題20 分
近年來,隨著人工智慧(AI)與高效能運算(HPC)技術快速發展,電腦系統對記憶體容量、存取速度與資料傳輸效率的需求日益提高。從電腦硬體的角度來看,各類記憶體與儲存裝置可共同構成一個記憶體階層,其常見層級包括快取記憶體(Cache)、暫存器(Register)、主記憶體(RAM),以及輔助記憶體,例如 SSD 與 HDD 等。此外,除傳統常見的 ROM 與 RAM 外,近年來部分高階運算平台亦導入 HBM(High Bandwidth Memory),以提升大量資料平行存取時的整體效能。
請回答下列問題:
(一) 在 Cache、Register、RAM、ROM、SSD、HDD、HBM 之中,哪些屬於非揮發性記憶體?(6 分)
(二) 在 Cache、Register、RAM、ROM、SSD、HDD 之中,請以存取速度由快到慢排列,並說明其順序為何?(6 分)
(三) 請從記憶體瓶頸(memory bottleneck)的觀點,說明 HBM 為何有助於提升 AI 或 HPC 系統的效能;並進一步分析其相較於傳統 RAM 的主要優點與限制,以及其未普遍應用於一般個人電腦的原因。(8 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查記憶體的揮發性、存取速度階層,以及高頻寬記憶體(HBM)如何緩解處理器與記憶體之間的資料傳輸瓶頸。
- 揮發性記憶體:失去電源後,資料通常會消失,例如暫存器、快取與一般 RAM。
- 非揮發性記憶體:失去電源後仍能保留資料,例如 ROM、SSD、HDD。
- 記憶體階層通常呈現:越靠近處理器,存取速度越快、容量越小、每位元成本越高;越遠離處理器,速度越慢、容量越大、每位元成本越低。
- HBM 是堆疊式 DRAM,仍屬揮發性記憶體;它的特色是高頻寬,而非像快取那樣以極低延遲為主要訴求。
解題方法
先依裝置的儲存技術判斷資料是否需要持續供電,再按典型記憶體階層排列速度。最後從 AI/HPC 的工作負載切入:大量平行運算單元必須持續取得資料,若運算速度高於資料供應速度,效能就會受到記憶體頻寬限制。
(一) 非揮發性記憶體
逐項判斷如下:
| 裝置 | 揮發性 | 說明 |
|---|---|---|
| Cache | 是 | 通常由 SRAM 或其他揮發性電路構成,斷電後資料消失。 |
| Register | 是 | 處理器內的暫存器以電路狀態保存資料,斷電後資料消失。 |
| RAM | 是 | 一般所稱主記憶體多為 DRAM,需供電維持資料。 |
| ROM | 否 | 設計上可在斷電後保留內容。 |
| SSD | 否 | 使用非揮發性快閃記憶體儲存資料。 |
| HDD | 否 | 以磁性方式記錄資料,斷電後仍可保留。 |
| HBM | 是 | HBM 是堆疊式 DRAM,仍需供電維持資料。 |
因此,非揮發性記憶體為 ROM、SSD、HDD。
(二) 存取速度由快到慢
依典型存取速度排列:
暫存器位於處理器內,供指令直接使用,速度最快;快取緊鄰處理器,用來降低存取主記憶體的延遲;RAM 是主要工作記憶體。SSD、HDD 與 ROM 均屬非揮發性儲存,但題目未指定 ROM 的具體種類或實作方式,故此處依一般教科書的記憶體階層,將 ROM 視為讀取速度較慢的唯讀儲存類型,排在 HDD 之後。
ROM 的讀取速度會因技術與實作而異,因此它與 SSD、HDD 的實際速度不一定能普遍比較;上述順序是本題採用的典型教材式排列。
(三) HBM 對 AI/HPC 效能的影響、優點與限制
第 二 題20 分
小昕在宿舍使用筆記型電腦連接校園網路時,遇到下列情況:
(1) 使用視訊會議上課時,偶爾出現聲音斷續與畫面延遲,但整體課程仍可持續進行。
(2) 使用學校雲端平台上傳期末報告 PDF 檔案時,系統要求傳輸內容必須完整且正確無誤。
為了排除網路問題,小昕先在 Windows 系統的命令提示字元中輸入 ipconfig,檢查本機的網路設定資訊,確認設定正確無誤。接著,他再輸入 ping 8.8.8.8,測試是否能與外部網路正常連線。(註:8.8.8.8 是由 Google 提供的公共伺服器 IP 位址。)
請回答下列問題:
(一) 視訊會議的資料傳輸較適合使用 TCP 或 UDP?請說明理由。(5 分)
(二) 上傳期末報告檔案時,較適合使用 TCP 或 UDP?請說明理由。(5 分)
(三) 若 ping 8.8.8.8 能成功收到回應,但瀏覽器中輸入 www.ntu.edu.tw 仍無法開啟網站,最可能屬於哪一類網路問題?請說明原因與其建議解決方法。(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查傳輸層的 TCP 與 UDP 特性,以及使用 ping、ipconfig 排除網路問題的方法。
- TCP(傳輸控制協定):提供可靠、連線導向的傳輸。透過確認回應、重傳及排序等機制,確保資料完整且依序送達;代價是額外控制負擔較多。
- UDP(使用者資料包協定):不建立連線,也不保證資料一定送達或依序抵達,控制負擔較少、延遲較低,適合重視即時性的傳輸。
ipconfig:查看本機的 IP 位址、子網路遮罩、預設閘道及 DNS 等網路設定。ping:利用 ICMP 測試目的 IP 是否能往返連通;它不會測試 DNS 名稱解析,也不能單獨證明網站服務正常。
解題方法
依應用需求判斷傳輸協定:若短暫遺失資料仍可繼續服務、而即時性優先,選 UDP;若內容必須完整正確,選 TCP。
第三小題則依測試結果定位問題:ping 8.8.8.8 成功,表示小昕的電腦至少能以 IP 位址與該外部主機通訊。若輸入網域名稱仍無法開啟網站,應優先檢查把網域名稱轉成 IP 位址的 DNS 名稱解析。
(一)視訊會議:UDP
視訊會議的語音與影像具有即時性。若個別資料封包遺失,通常只影響短暫的聲音或畫面品質;若為了重傳而等待,資料抵達時可能已失去即時價值,反而造成更明顯的延遲與停頓。
因此,視訊會議通常較適合使用 UDP,以較低的傳輸控制負擔換取較低延遲。實際視訊系統也可能搭配其他機制處理壅塞、錯誤修正或部分重傳,但就 TCP、UDP 的基本特性比較,本題應選 UDP。
(二)上傳期末報告:TCP
第 三 題25 分
牛頓法是一種常用的數學方法,可用來求一個數值的平方根。若要計算 的平方根,可利用下列公式反覆進行近似:
其中, 是要開平方根的數字, 是目前的估計值, 是下一次算出的新估計值。而當前後兩次估計值的差小於所容許的誤差 時,即可停止計算,並將該值視為平方根的近似解。
(一) 請用 C 語言撰寫一個函式 float newtonSqrt(float a, float x, float e),來計算 的平方根,其中 表示目前的估計值, 為所容許的誤差。若目前估計值與下一次估計值之差小於 ,則回傳該近似值;否則以遞迴方式繼續呼叫自己。(15 分)
(二) 寫一個 C 語言程式 main(),讓使用者輸入一個正數 與容許誤差 ,並以 作為初始估計值,呼叫上述函式求出其平方根,最後將結果印出,顯示至小數點後第 2 位。(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查牛頓法的遞迴實作,以及 C 語言函式呼叫、停止條件與格式化輸出。
令目前估計值為 ,下一次估計值為:
每次用新估計值繼續計算,直到兩次估計值的差小於容許誤差 。由於題目指的是兩個估計值的「差」,程式以絕對值 判斷,避免差值為負時誤判為已達精度。
解題方法
函式先依牛頓公式算出 next。若 fabsf(next - x) < e,代表本次更新已符合停止條件,回傳新估計值 next;否則將 next 當作新的目前估計值,遞迴呼叫 newtonSqrt(a, next, e)。
main 讀入正數 a 與誤差 e,並按照題意以 a 作為初始估計值。輸出格式使用 %.2f,將結果顯示至小數點後兩位。
C 語言參考程式
第 四 題35 分
欣欣是一家連鎖網路花店,為了有效管理各分店的營運情形,店長建立了三個資料表:Branch、Product 與 Sales,其中 Branch 用來記錄分店資料,Product 用來記錄花店商品資料,Sales 則用來記錄各分店每日的銷售明細。
各資料表的重要欄位包括:BranchID 為分店編號、ProductID 為商品編號、Quantity 為銷售數量、Price 為商品單價。三個資料表的內容如下。
Branch:
BranchID | BranchName | City 1 | 臺北忠孝店 | 臺北市 2 | 臺中公益店 | 臺中市 3 | 高雄美術店 | 高雄市 4 | 臺南安平店 | 臺南市 5 | 新竹竹北店 | 新竹縣 6 | 桃園中壢店 | 桃園市
Product:
ProductID | ProductName | Category | Price 101 | 玫瑰花 | 花束 | 1,200 102 | 百合花 | 花束 | 1,000 103 | 康乃馨 | 花束 | 104 | 向日葵 | 花束 | 900 105 | 蝴蝶蘭 | 盆栽 | 1,100 106 | 仙人掌 | 盆栽 | 107 | 乾燥花 | 禮盒 | 600 108 | 萬代蘭 | 盆栽 | 600 109 | 情人節花盒 | 佈置 | 900 110 | 婚禮桌花 | | 1,300 | | | 2,500
Sales:
SalesID | BranchID | ProductID | Quantity | SalesDate 1 | 1 | 101 | 2 | 2026/3/1 2 | | | 3 | 2026/3/2 3 | | | 4 | 2026/3/3 4 | 2 | 102 | 2 | 2026/3/3 5 | | | 5 | 2026/3/4 6 | 2 | 106 | 3 | 2026/3/4 7 | | | 4 | 2026/3/5 8 | 3 | 103 | 1 | 2026/3/5 9 | | | 2 | 2026/3/6 10 | 3 | 108 | 5 | 2026/3/6 11 | | | 3 | 2026/3/7 12 | 4 | 104 | 2 | 2026/3/7 13 | | | 1 | 2026/3/8 14 | 4 | 107 | 2 | 2026/3/8 15 | | | 4 | 2026/3/9 16 | 5 | 109 | 3 | 2026/3/9 17 | | | 1 | 2026/3/10 18 | 5 | 110 | 5 | 2026/3/10 19 | 20 | 6 | 101 |
擷取內容另列出下列資料列:
6 | 106 1 | 103 2 | 104 3 | 105 4 | 109 5 | 107 6 | 108 1 | 110 2 | 102
三個資料表之間的關聯如下圖所示。
請回答下列問題:
(一) 請說明外來鍵(Foreign Key, FK)應具備哪些條件,並指出本資料庫中哪些欄位屬於外來鍵?(10 分)
(二) 若店長想找出總銷售數量高於所有分店平均銷售數量的分店,請使用子查詢(Subquery)寫出 SQL 指令,查詢結果如下表所示,資料需以總銷售數量遞減排序。(15 分)
分店名稱 | 總銷售數量 臺中公益店 | 16 臺北忠孝店 | 11
(三) 請寫出一個 SQL 查詢,列出各分店名稱及其總銷售金額,查詢結果如下表所示,資料需以總銷售金額遞減排序。註:銷售金額=商品銷售數量 × 商品單價。(10 分)
分店名稱 | 總銷售金額 臺中公益店 | 13,800 臺北忠孝店 | 12,400 新竹竹北店 | 11,100 臺南安平店 | 10,650 桃園中壢店 | 8,100 高雄美術店 | 6,000
登入後即可作答並保存紀錄。
核心觀念
本題考查:
- 外來鍵(Foreign Key, FK)與參照完整性。
GROUP BY、聚合函數SUM、AVG。- 子查詢(Subquery)。
- 三表連接(
JOIN)。 - 銷售金額計算公式:
(一)外來鍵條件與本題外來鍵
1. 外來鍵應具備的條件
外來鍵是子資料表中的欄位,用來參照父資料表的主鍵或候選鍵,主要條件如下:
- 外來鍵欄位與被參照欄位的資料型態、意義必須相容。
- 外來鍵的值必須存在於被參照資料表的主鍵或候選鍵中。
- 外來鍵可以重複,因為多筆子表資料可以參照同一筆父表資料。
- 外來鍵可設為
NULL,但須視資料庫的欄位設定及業務規則而定。 - 不可任意刪除或修改父表資料,以免造成子表出現無法對應的資料;除非設定級聯更新、級聯刪除等規則。
2. 本題的外來鍵
依題目關聯圖:
Sales.BranchID是外來鍵,參照Branch.BranchID。Sales.ProductID是外來鍵,參照Product.ProductID。
其中:
Branch.BranchID為Branch的主鍵。Product.ProductID為Product的主鍵。Sales.SalesID為Sales的主鍵,不是外來鍵。
(二)找出總銷售數量高於所有分店平均值的分店
解題方法
先依 BranchID 彙總各分店的銷售數量,再以子查詢計算各分店總銷售數量的平均值,最後篩選出高於平均值的分店。
各分店總銷售數量如下:
| 分店 | 總銷售數量 |
|---|---|
| 臺北忠孝店 | 11 |
| 臺中公益店 | 16 |
| 高雄美術店 | 7 |
| 臺南安平店 | 10 |
| 新竹竹北店 | 9 |
| 桃園中壢店 | 10 |
全部分店總銷售數量為:
分店平均銷售數量為:
因此,高於平均值 的分店為臺中公益店與臺北忠孝店。
SQL 指令
SELECT B.BranchName,
SUM(S.Quantity) AS 總銷售數量
FROM Branch AS B
JOIN Sales AS S
ON B.BranchID = S.BranchID
GROUP BY B.BranchID, B.BranchName
HAVING SUM(S.Quantity) >
(
SELECT AVG(T.分店總銷售數量)
FROM
(
SELECT BranchID,
SUM(Quantity) AS 分店總銷售數量
FROM Sales
GROUP BY BranchID
) AS T
)
ORDER BY 總銷售數量 DESC;
查詢結果: