113 地方特考三等 統計 資料處理 考古題詳解
第 一 題40 分
在一個圖書館管理系統資料庫中,建有資料表「Books」與「BorrowRecords」,其分別為藏書資料與借閱狀態,其中欄位名稱 ISBN、TotalCopies、AvailableCopies、BorrowedQty 與 ReturnedQty 分別代表國際標準書號、圖書總數、可借閱數量、此次借閱數量與此次歸還數量。資料表內容如下:
Books:
| BookID | ISBN | Title | Author | TotalCopies | AvailableCopies |
|---|---|---|---|---|---|
| 1 | 978-986123 | 小紅帽 | 張三 | 10 | 5 |
| 2 | 978-986456 | 健康生活 | 李四 | 8 | 4 |
| 3 | 978-986789 | 臺北旅遊 | 張三 | 4 | 1 |
| 4 | 978-957123 | 時尚生活 | 陳六 | 6 | 5 |
| 5 | 978-957456 | 電腦雜誌 | 吳七 | 13 | 6 |
BorrowRecords:
| RecordID | ISBN | BorrowedQty | ReturnedQty |
|---|---|---|---|
| 1 | 978-986123 | 2 | 0 |
| 2 | 978-986456 | 0 | 1 |
| 3 | 978-986789 | 1 | 0 |
| 4 | 978-957123 | 1 | 0 |
| 5 | 978-957456 | 0 | 3 |
(一) 寫一個 SQL 指令查詢藏書中所有不同作者的名字列表,並按作者名字排序。查詢結果如下:
| Author |
|---|
| 吳七 |
| 李四 |
| 張三 |
| 陳六 |
(5 分)
(二) 寫一個 SQL 指令查詢藏書中作者為張三的圖書總數。(10 分)
(三) 寫一個 SQL 指令,依據「BorrowRecords」資料表中的借閱與歸還數量,更新「Books」資料表中 AvailableCopies(可借閱數量)為最新的數據。更新後的「Books」資料表如下:
| BookID | ISBN | Title | Author | TotalCopies | AvailableCopies |
|---|---|---|---|---|---|
| 1 | 978-986123 | 小紅帽 | 張三 | 10 | 3 |
| 2 | 978-986456 | 健康生活 | 李四 | 8 | 5 |
| 3 | 978-986789 | 臺北旅遊 | 張三 | 4 | 0 |
| 4 | 978-957123 | 時尚生活 | 陳六 | 6 | 4 |
| 5 | 978-957456 | 電腦雜誌 | 吳七 | 13 | 9 |
(25 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查 SQL 的基本查詢與資料更新:
DISTINCT:去除重複資料。ORDER BY:指定排序方式。WHERE:設定查詢條件。SUM:計算數值欄位總和。UPDATE:更新資料表內容。- 可借閱數量更新公式:
(一)查詢不同作者並排序
解題方法
Books 表中作者「張三」出現兩次,但查詢結果只需要列出一次,因此使用 DISTINCT 去除重複資料,再以 ORDER BY Author ASC 按作者姓名升冪排序。
SELECT DISTINCT Author
FROM Books
ORDER BY Author ASC;
查詢結果為:
| Author |
|---|
| 吳七 |
| 李四 |
| 張三 |
| 陳六 |
解題技巧
- 題目出現「不同」、「不重複」時,使用
DISTINCT。 - 題目要求「排序」時,使用
ORDER BY。 ASC表示升冪排序;省略時通常預設為升冪。
(二)查詢作者為張三的圖書總數
解題方法
作者為張三的兩筆資料如下:
| Title | TotalCopies |
|---|---|
| 小紅帽 | 10 |
| 臺北旅遊 | 4 |
因此圖書總數為:
SQL 指令如下:
SELECT SUM(TotalCopies) AS TotalBookCount
FROM Books
WHERE Author = '張三';
查詢結果:
| TotalBookCount |
|---|
| 14 |
解題技巧
題目問「圖書總數」,應加總 TotalCopies,不是計算資料筆數。若使用 COUNT(*),得到的是張三所著書籍的種類數量 ,並非所有圖書冊數 。
(三)依借閱與歸還數量更新可借閱數量
解題方法
Books 與 BorrowRecords 透過 ISBN 對應。每本書的更新公式為:
可使用相關子查詢,依 ISBN 取得對應的借閱數量與歸還數量:
第 二 題20 分
人工智慧現在在許多領域都有蓬勃的發展與應用,請試述下列名詞之意涵:(每小題 5 分,共 20 分)
(一) GPU
(二) CUDA
(三) ARM 架構
(四) HBM
登入後即可作答並保存紀錄。
核心觀念
本題考查人工智慧運算平台的四個基礎名詞,重點在分辨它們各自負責的層次:GPU 是運算硬體、CUDA 是 GPU 平行運算平台與程式設計模型、ARM 是處理器指令集架構、HBM 是高頻寬記憶體技術。說明時須交代各名詞的用途,以及它們如何協助人工智慧運算。
解題方法
依序從「運算硬體 → 軟體平台 → 處理器架構 → 記憶體」切入,說明每個名詞的定義、主要特性與在 AI 系統中的角色。特別要區分 GPU 與 CUDA:GPU 是實際執行運算的硬體,CUDA 則提供讓程式運用 NVIDIA GPU 平行運算的軟體與程式設計環境。
名詞解釋
(一)GPU
GPU(Graphics Processing Unit,圖形處理器)是專門處理圖形與影像運算的處理器。相較於以少量核心處理多樣化工作、擅長序列控制的 CPU,GPU 通常包含大量運算核心,能同時對大量資料執行相同或相似的運算,因此適合平行處理。
人工智慧模型的訓練與推論常涉及大量矩陣乘法、向量運算等工作,這些工作具有高度平行性,能利用 GPU 的運算能力加速。GPU 是硬體本體;要運用它執行特定工作,仍須搭配驅動程式、函式庫及適當的程式設計工具。
(二)CUDA
CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的平行運算平台與程式設計模型,讓開發者能使用 NVIDIA GPU 執行一般用途的平行運算,而不只用於圖形處理。
CUDA 提供程式設計介面、編譯器、執行環境及相關函式庫。程式可將適合平行處理的工作交由 GPU 執行,並與 CPU 協同完成任務。深度學習常用的運算函式庫可建立在 CUDA 生態系之上,以加速模型訓練和推論。
**辨析重點:**GPU 是硬體,CUDA 是支援 GPU 運算的軟體平台與程式設計模型;CUDA 本身不是處理器,也不是記憶體。
(三)ARM 架構
第 三 題20 分
市面上的無線路由器通常支援多種運作模式,以適應不同的網路需求,例如:
核心觀念
本題考查無線路由器四種常見運作模式的網路角色、訊號傳遞方式與適用情境。作答時可從兩個問題區分:
- 設備是否負責連接不同網路、分配 IP 位址及執行 NAT?
- 設備是以有線或無線方式連上主網路,再提供無線覆蓋?
其中,NAT 是網路位址轉換;DHCP 則是自動分配 IP 位址的服務。這些功能常由 Router Mode 負責,其他模式則多著重於延伸或提供無線網路。
解題方法
依序說明每種模式的主要功能、與上游網路的連接方式,以及適用場景,並特別比較 Router、AP 與 Repeater 的差異。Mesh Mode 則著重多個節點協同提供整體覆蓋。
各運作模式說明
(a) Router Mode(路由器模式)
設備連接至數據機或上游網路,負責在區域網路與外部網路之間轉送封包。常見功能包括 NAT、DHCP、基本防火牆,以及有線與無線裝置的網路連線管理。
**適用場景:**家庭或小型辦公室只有一台主要路由器,需要由它連接網際網路、分配內部 IP 位址,並管理家中裝置的網路連線。
(b) Access Point Mode(無線基地台模式)
設備透過有線網路連接既有的路由器或交換器,再提供 Wi-Fi 給附近裝置使用。此模式通常不再自行建立另一個路由層,也通常不負責 NAT 或 DHCP;網路管理多由上游路由器負責。
**適用場景:**已有路由器,但希望透過網路線在另一個房間、樓層或辦公區域增加無線覆蓋。因回程使用有線連線,通常能維持較穩定的傳輸品質。
(c) Repeater Mode(中繼模式)
第 四 題20 分
一枚厚硬幣翻轉後,有 的機率正面朝上(以 表示)、 的機率反面朝上(以 表示),與 的機率立在邊緣上(以 表示)。寫一個 C 語言程式模擬此厚硬幣翻轉 次的結果,將結果儲存於一個字元陣列 中,並將其印出。
註:C 語言的 rand 函數所產生的亂數是一個整數,其值介於 到 之間。(20 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查使用 C 語言的亂數函數 rand,依指定機率產生離散結果,並以字元陣列儲存與輸出。三種結果的機率為:
先將 rand 的整數值正規化到 的區間,再依累積機率切分區間:前 對應 ,接續 對應 ,最後 對應 。
解題方法
rand 的回傳值介於 與 RAND_MAX 之間。令
則 落在 。分母加上 可避免 rand 等於 RAND_MAX 時 ,而小數常數可避免整數除法。
接著依累積機率判斷:
- :記錄
H - :記錄
T - :記錄
E
重複執行 20 次,將每次結果存入 data[0] 至 data[19]。字元陣列另需一格存放字串結尾字元 '\0',因此宣告長度為 21。