112 高普考高考三級 統計 資料處理 考古題詳解
第 一 題40 分
在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為 A 與 B 兩家電腦公司本身販賣的產品,內容如下表所示。表格有兩個欄位,欄位分別代表 ID 與產品品項名稱。請回答下列問題。
CompanyA:
| ID | Product |
|---|---|
| 2 | PC |
| 3 | Monitor |
| 5 | GPU |
| 6 | NB |
| 8 | Tablet |
| 10 | Keyboard |
| 11 | Mouse |
CompanyB:
| ID | Product |
|---|---|
| 1 | CPU |
| 2 | Tablet |
| 3 | NB |
| 4 | Router |
| 5 | PC |
| 6 | Mouse |
(一)寫一個 SQL 指令查詢上述兩家公司販售的所有產品品項,重複的品項不要刪除,且產品品項名稱按字母順序排序。查詢結果如下表所示。(10 分)
Item CPU GPU Keyboard Monitor Mouse Mouse NB NB PC PC Router Tablet Tablet
(二)寫一個 SQL 指令查詢上述兩家公司販賣的相同產品品項,且產品品項名稱按字母順序反項排序。查詢結果如下表所示。(15 分)
Item Tablet PC NB Mouse
(三)寫一個 SQL 指令查詢 CompanyB 公司有販售但 CompanyA 公司沒有販售的產品品項名稱。查詢結果如下表所示。(15 分)
Item CPU Router
登入後即可作答並保存紀錄。
核心觀念
本題考查 SQL 的集合運算:
UNION ALL:合併兩個查詢結果,保留重複資料。INTERSECT:取兩個查詢結果的交集,通常會去除重複資料。EXCEPT:取前一個查詢結果中,後一個查詢結果沒有的資料。ORDER BY:依指定欄位排序。
本題判斷產品品項即可,ID 欄位不影響查詢結果。
(一)查詢兩家公司所有產品,保留重複品項並遞增排序
因為題目要求保留重複品項,必須使用 UNION ALL,不能使用會刪除重複值的 UNION。
SELECT Product AS Item
FROM CompanyA
UNION ALL
SELECT Product AS Item
FROM CompanyB
ORDER BY Item ASC;
兩家公司共有 筆產品資料,因此結果應有 13 筆,包含重複的 Mouse、NB、PC 與 Tablet。
(二)查詢兩家公司共同販售的產品,並依字母反向排序
兩家公司共同販售的產品為:
使用 INTERSECT 取得兩個資料表的交集,再以 DESC 進行遞減排序。
SELECT Product AS Item
FROM CompanyA
INTERSECT
SELECT Product AS Item
FROM CompanyB
ORDER BY Item DESC;
結果依反向字母順序為:
Tablet、PC、NB、Mouse。
(三)查詢 CompanyB 有販售、但 CompanyA 沒有販售的產品
應以 CompanyB 作為前一個查詢,再扣除 CompanyA 的產品,因此使用:
第 二 題15 分
固態硬碟(SSD)使用快閃記憶體來儲存資料。
(一)何謂快閃記憶體(Flash memory)?(5 分)
(二)請寫出至少兩種固態硬碟的介面。(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查固態硬碟(SSD)的儲存原理,以及常見的硬碟連接介面。
快閃記憶體(Flash memory)是一種非揮發性半導體記憶體,以電荷狀態儲存資料;即使切斷電源,資料仍可保留。它可電子式讀取、寫入及抹除,常見於 SSD、USB 隨身碟與記憶卡。與 RAM 不同,快閃記憶體斷電後不會失去資料;與傳統磁性硬碟不同,它不靠旋轉碟片及讀寫磁頭存取資料。
SSD 的介面是指連接儲存裝置與主機、傳輸資料所採用的規格。作答列出兩種以上即可。
解題方法
(一)定義快閃記憶體時,掌握三個重點:半導體記憶體、非揮發性、可電氣讀寫與抹除。補充說明斷電仍能保存資料,即可完整交代其主要特性。
第 三 題20 分
下圖所示為小賣家中桌上型電腦的電腦網路設定,請回答下列問題:
IP 位址:
子網路遮罩:
預設閘道:
(一)請說明何謂子網路遮罩?(5 分)何謂預設閘道?(5 分)
(二)此設定的子網路首碼長度為多少?(3 分)
(三)此設定的 IP 位址與預設閘道是否為同一網段?(2 分)請說明原因為何?(5 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查 IPv4 位址、子網路遮罩、CIDR 子網路首碼,以及如何利用子網路遮罩判斷兩個 IP 位址是否位於同一網段。
- 子網路遮罩(Subnet Mask):用來區分 IP 位址中的「網路部分」與「主機部分」。遮罩中二進位為 的部分代表網路位元,為 的部分代表主機位元。
- 預設閘道(Default Gateway):主機要傳送資料到本身網段以外的網路時,資料封包預設轉送的路由器介面位址。
(一)子網路遮罩與預設閘道
1. 子網路遮罩
子網路遮罩是用來判斷 IP 位址中哪些位元屬於網路識別部分、哪些位元屬於主機識別部分的數值。
本題子網路遮罩為:
其二進位表示為:
其中前 個位元為 ,表示網路部分;後 個位元為 ,表示主機部分。
2. 預設閘道
預設閘道是主機連接外部網路時所使用的出口設備,通常是路由器在該區域網路中的介面 IP 位址。
當目的 IP 位址不屬於本機所在的子網路時,主機會將封包交給預設閘道,再由路由器轉送到其他網路。
(二)子網路首碼長度
將子網路遮罩 轉換為二進位:
從左至右共有 個連續的 ,因此子網路首碼長度為:
(三)判斷 IP 位址與預設閘道是否同一網段
1. 先求每個子網路的區塊大小
最後一個位元組的遮罩值為 ,因此子網路區塊大小為:
第 四 題25 分
所謂互質為兩個或兩個以上的整數彼此之間的最大公因數是 1,而最簡分數為分子和分母互質的分數。
(一)請使用 C 語言完成函數 int coprime(int a, int b),來檢查正整數 與 是否互質。如果互質,則函數回傳值為 1,反之回傳 0。(10 分)
(二)使用上述函數,寫一個 C 語言程式,來找出一最簡分數,其分子與分母的和為 70,且該分數化為小數並四捨五入後為 0.6。(15 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查最大公因數、互質與最簡分數的定義,以及 C 語言的迴圈、條件判斷與函數呼叫。
正整數 、 互質,等價於 。可用輾轉相除法求最大公因數:反覆以除數與餘數取代原數,直到餘數為 ;最後一個非零餘數就是最大公因數。
分子、分母的和為 ,設分子為 、分母為 ,則 。分數化為小數後四捨五入至小數第一位為 ,其值須落在 (含)至 (不含)之間。
解題方法
(一)以輾轉相除法實作 coprime。當餘數為 時,最後的除數即為 ;若該除數為 ,函數回傳 1,否則回傳 0。
int coprime(int a, int b)
{
int r;
while (b != 0) {
r = a % b;
a = b;
b = r;
}
return (a == 1) ? 1 : 0;
}
例如 、:依序得到 、,故最大公因數為 ,函數回傳 0。若輸入為 、,最大公因數為 ,則回傳 1。
(二)依題意逐一枚舉分子 ,令分母 。只保留滿足以下條件的分數:
- 、 為正整數;
- 、 互質;
- 小數值符合四捨五入至一位小數為 ,即 。