115 高普考高考三級 統計 資料處理 考古題詳解

115 年・高普考・高考三級・統計
試題代碼 資料處理

第 一 題25 分

某政府機關建置「智慧交通監測系統」,透過路口攝影機每秒擷取一張交通影像,並即時分析車流量後提供民眾查詢。

系統主要兩項工作為:

  • A:接收並儲存交通影像。
  • B:分析影像中的車輛數量。

系統每秒接收 1 張原始影像,每張原始影像解析度為 1280×7201280 \times 720 pixels,色彩深度為 2424 bits/pixel,之後為節省空間轉換為 PNG 格式。

請說明系統儲存每張原始未壓縮影像,以及 1 分鐘內所需資料空間(KByte)。

另外,為提高系統效能,作業系統將工作 A 與工作 B 分別建立為兩個獨立 Process,並採用 Round Robin 排程管理 CPU,其時間片(Time Quantum)為 44 ms;若工作 A 完成一次影像儲存與工作 B 完成一次影像分析,分別需 88 ms 與 1212 ms,且工作 A 與工作 B 於時間 00 同時進入就緒佇列,排程順序為 A 先於 B。

請說明 CPU 執行順序,並計算工作 A 與工作 B 的等待時間。

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

這一題的完整詳解

核心觀念

本題考查兩個觀念:

  1. 影像資料量換算:未壓縮影像的大小由「像素數 × 每像素位元數」決定,再將位元換算為位元組及 KByte。
  2. Round Robin(RR)排程:每個 Process 每次最多使用一個時間片;若尚未完成,就回到就緒佇列尾端等待下一輪。等待時間是 Process 處於就緒狀態、等待 CPU 的時間,不包含實際執行時間。

題目提到影像之後會轉為 PNG,但所問的是「原始未壓縮影像」,因此計算時不套用 PNG 壓縮率。

解題方法

一、計算未壓縮影像的資料空間

每張影像的像素數為:

1280×720=921,600 pixels1280 \times 720 = 921{,}600 \text{ pixels}

每個像素有 2424 bits,因此每張影像的資料量為:

921,600×24=22,118,400 bits921{,}600 \times 24 = 22{,}118{,}400 \text{ bits}

88 bits 等於 11 Byte,故:

22,118,4008=2,764,800 Bytes\frac{22{,}118{,}400}{8} = 2{,}764{,}800 \text{ Bytes}

以 1 KByte=1,024 Bytes1\text{ KByte}=1{,}024\text{ Bytes} 換算:

2,764,8001,024=2,700 KByte\frac{2{,}764{,}800}{1{,}024} = 2{,}700 \text{ KByte}

系統每秒接收 11 張影像,11 分鐘共接收 6060 張,因此:

2,700×60=162,000 KByte2{,}700 \times 60 = 162{,}000 \text{ KByte}

二、列出 CPU 執行順序並計算等待時間

時間片為 44 ms。工作 A 需 88 ms,須執行兩個時間片;工作 B 需 1212 ms,須執行三個時間片。兩者在時間 00 同時進入就緒佇列,且 A 排在 B 前面。

依 RR 排程逐段執行:

🔒

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

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

免費註冊

第 二 題25 分

某政府機關為提升服務品質與系統擴充能力,近期規劃建置新一代「數位政府服務平台」,提供民眾單一入口網站登入、身分驗證、個人資料查詢、跨機關資料交換、線上申辦、表單下載、文件上傳、操作手冊及相關文件下載等服務。

由於系統需長期支援全國民眾使用,且於報稅季、補助申請期間經常出現大量同時上線情況,因此資訊部門規劃採用雲端架構建置系統,並特別重視資料安全、網路效能及服務可用性。

當民眾透過瀏覽器連線至政府服務平台後,系統需透過網路設備將封包傳送至資料中心;使用者登入與上傳文件時,需確保資料傳輸安全;當大量民眾同時存取系統時,則需透過流量分散與內容快取機制維持系統效能與服務穩定。

請分別說明路由器(Router)、HTTPS、負載平衡器(Load Balancer)與內容傳遞網路(CDN)在本案例中的功能,以及其對系統安全性、效能或可用性之貢獻。

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

這一題的完整詳解

核心觀念

本題考查政府雲端服務平台中,網路傳輸與服務架構元件的基本功能,以及它們對安全性、效能和可用性的貢獻。四者分工如下:

  • 路由器(Router):依據 IP 位址與路由表,選擇封包通往目的網路的路徑。
  • HTTPS:以 TLS 加密 HTTP 通訊,保護瀏覽器與伺服器間傳送的資料。
  • 負載平衡器(Load Balancer):將使用者請求分配到多台伺服器,避免單一伺服器負載過高。
  • 內容傳遞網路(CDN):在分散各地的節點快取靜態內容,讓使用者就近取得資料。

解題方法

依照服務請求從使用者端到平台的需求,分別判斷「封包如何到達」、「傳輸如何受到保護」、「大量請求如何分流」及「常用內容如何快速傳送」。這種依功能定位作答的方法,可避免把網路傳輸設備、加密協定與流量管理機制混為一談。

各項功能與貢獻

一、路由器(Router)

路由器連接不同 IP 網路,讀取封包的目的 IP 位址,並依路由表決定下一個轉送方向。在本案例中,路由器負責將民眾瀏覽器送出的封包,經由網路轉送至政府平台所在的資料中心或雲端網路。

路由器的主要貢獻是提供網路間的連通與封包轉送,使使用者能到達服務平台。它本身不負責加密 HTTP 內容,也不負責將應用程式請求平均分配至多台網站伺服器。

二、HTTPS

HTTPS 是以 TLS 保護的 HTTP 通訊。瀏覽器與伺服器透過 TLS 握手建立安全連線,並使用伺服器憑證驗證伺服器身分、協商加密參數,再以加密方式傳送資料。

在本案例中,民眾登入、查詢個人資料或上傳文件時,HTTPS 可提供:

🔒

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

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

免費註冊

第 三 題25 分

某政府機關設計「大學生住房補貼申請系統」,提供在外租屋的大學生申請住房補貼。

請設計 SQL 建立資料庫 HousingSubsidy 資料表,包含下列欄位:

  • 申請編號(ApplyID,整數)
  • 學生姓名(StudentName,變動字元)
  • 租屋縣市(RentCity,變動字元)
  • 月租金(MonthlyRent,整數)
  • 手機號碼(Phone,變動字元)
  • 申請年度(ApplyYear,整數)
  • 審核狀態(ReviewStatus,變動字元)

並設定 ApplyID 為主鍵。

若此住房補貼系統同時有大量學生進行申請、修改與查詢資料,請說明資料庫管理系統(DBMS)中的「交易(Transaction)」與「備份(Backup)」功能之重要性。

另外,請填寫 (I)~(VI) 空格,使下列 SQL 能正確完成:

  1. 查詢「高雄市」且「已核准」之住房補貼申請資料,統計各申請年度的總月租金,並依總月租金由大到小排序。
  2. 將學生姓名為「王小明」、申請年度為 20262026 年者,其手機號碼變更為 0988123456。
  3. 刪除「申請年度為 20262026 年,且審核狀態為未送出」的申請紀錄。

SQL 如下:

SELECT ApplyYear, ____ AS TotalRent FROM HousingSubsidy WHERE RentCity = '高雄市' AND ReviewStatus = '已核准' ____ ApplyYear ____ TotalRent > 10000 ____ TotalRent DESC;

____ HousingSubsidy SET Phone = '0988123456' WHERE StudentName = '王小明' AND ApplyYear = 2026;

____ FROM HousingSubsidy WHERE ApplyYear = 2026 AND ReviewStatus = '未送出';

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

這一題的完整詳解

核心觀念

本題考查關聯式資料表的建立、主鍵設定、資料彙總查詢,以及資料庫管理系統(DBMS)的交易與備份功能。SQL 關鍵字用途如下:

  • CREATE TABLE:建立資料表;PRIMARY KEY:指定主鍵。
  • SUM:加總欄位;GROUP BY:依欄位分組彙總。
  • HAVING:篩選分組後的彙總結果;ORDER BY:排序查詢結果。
  • UPDATE:修改資料;DELETE:刪除資料。

解題方法

建立資料表

依題目指定的資料型態建立欄位,並將 ApplyID 設為主鍵。VARCHAR(n) 表示最多可容納 nn 個字元的變動長度字串,字串欄位長度可依系統需求調整;此處設定為 VARCHAR(50)。

CREATE TABLE HousingSubsidy (
 ApplyID INT PRIMARY KEY,
 StudentName VARCHAR(50),
 RentCity VARCHAR(50),
 MonthlyRent INT,
 Phone VARCHAR(20),
 ApplyYear INT,
 ReviewStatus VARCHAR(20)
);

手機號碼使用字串型態,因為它是識別資訊而非用來運算的數值,且可能有前置的 0。

查詢各年度總月租金

先以 SUM(MonthlyRent) 計算總月租金,再用 GROUP BY ApplyYear 按年度彙總。HAVING 篩選分組後的總額,最後以 ORDER BY 依總額遞減排序。

SELECT ApplyYear, SUM(MonthlyRent) AS TotalRent
FROM HousingSubsidy
WHERE RentCity = '高雄市'
 AND ReviewStatus = '已核准'
GROUP BY ApplyYear
HAVING SUM(MonthlyRent) > 10000
ORDER BY TotalRent DESC;

WHERE 先篩選個別申請紀錄;HAVING 則在分組與彙總後,篩選各年度的總額。

修改手機號碼

以 UPDATE 指定要修改的資料表,並用 WHERE 限定姓名與申請年度,避免更新到其他申請紀錄。

🔒

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

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

免費註冊

第 四 題25 分

某政府衛生單位設計流感疫情模擬程式,分析不同城市短期內的疫情發展情況。假設:

  1. 初始時已有 AA 人感染流感。
  2. 目前尚未痊癒之感染者每日會以 M%M\% 的傳染率產生新增感染個案。
  3. 感染者自感染日起經過 XX 天後痊癒,痊癒後不再具有傳染力。
  4. 每日新增感染人數取整數部分(無條件捨去)。
  5. 城市若能有效施打疫苗,每日傳染率降低為原本的一半。

下列程式模擬 C1 與 C2 城市 DD 天後仍感染流感的人數,其中 C1 城市未施打疫苗,C2 城市則有效施打疫苗。程式中以陣列 newCase[] 記錄各日新增感染人數,其中 newCase[0] 儲存初始感染人數 AA,請填入 (I)~(V) 空格,使程式能正確模擬。

另外,請說明程式中使用陣列 newCase[] 的功用,以及 simulate() 的運作邏輯與功能。

#include <stdio.h> #define MAXDAY 100

int simulate(int A, double M, int X, int D) { int newCase[MAXDAY] = {0}; int add = 0, current = A;

newCase[0] = ____;

for (int day = 1; day < D; day++) {
    add = current * M / 100;
    newCase[day] = ____;
    current = ____ + add;

    if (day >= ____) {
        current = current - newCase[____];
    }
}

return current;

}

int main() { int A = 1000, X = 5, D = 10; double M = 10.0;

int C1 = simulate(A, M, X, D);
int C2 = simulate(A, M / 2.0, X, D);

printf("C1:%d, C2:%d\n", C1, C2);
return 0;

}

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

這一題的完整詳解

核心觀念

本題考「陣列保存歷史資料」與「以每日新增、痊癒人數更新目前感染人數」的模擬。newCase[day] 記錄第 day 日新增感染人數;newCase[0] 記錄初始感染人數 AA。

每天先依目前尚未痊癒的感染者計算新增人數,再將已滿 XX 天的感染者扣除。每日新增人數依題意無條件捨去,因此整數指派會保留計算結果的整數部分。

解題方法

以 current 表示當日更新前尚未痊癒的感染總數。第 day 日的新增感染數為:

add=⌊current×M100⌋\text{add}=\left\lfloor\text{current}\times\frac{M}{100}\right\rfloor

因為 add 是第 day 日新增的人數,須存入 newCase[day]。加入新增個案後,再扣除感染日距今已滿 XX 天者;這些人是第 day-X 日新增的個案。因此:

  • (I) 初始感染數:A
  • (II) 當日新增感染數:add
  • (III) 更新感染總數時加入新增人數:current
  • (IV) 開始扣除痊癒者的條件:X
  • (V) 扣除第 day-X 日新增的人數:day - X

填妥後的程式如下:

🔒

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

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

免費註冊

其他考古題