民國112年 高考三級 統計 資料處理考古題

民國112年 高考三級 統計 資料處理收錄考選部官方試題,共 4 題可線上瀏覽,考選部未公告本科目答案。

官方資料

題目與答案

第1題

在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為A與 B兩家電腦公司本身販賣的產品,內容如下表所示,表格有兩個欄位,欄 位分別代表ID與產品品項名稱。請回答下列問題: CompanyA CompanyB 寫一個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 ID Product CPU Tablet NB Router PC Mouse ID Product PC Monitor GPU NB Tablet Keyboard Mouse

參考解答(AI 生成,非官方)

  • 一、解題前提與資料觀察:CompanyA 有 6 筆產品(CPU、Tablet、NB、Router、PC、Mouse),CompanyB 有 7 筆(PC、Monitor、GPU、NB、Tablet、Keyboard、Mouse),合計 13 筆,與第一小題結果表的筆數完全相符,可用來驗證資料判讀是否正確。兩張表結構相同(ID、Product 兩欄),屬於「同名同結構」的資料表,最適合以集合運算(set operation)處理,並須注意各 DBMS 對集合運算的支援差異。
  • 二、第一小題(保留重複、遞增排序):SELECT Product AS Item FROM CompanyA UNION ALL SELECT Product FROM CompanyB ORDER BY Item ASC; 關鍵在於 UNION ALL 不做重複資料刪除(duplicate elimination),故 Mouse、NB、PC、Tablet 各出現兩次,共 13 筆。若誤寫成 UNION(不帶 ALL),系統會自動去除重複並隱含排序,只會得到 9 筆,不符合題意。
  • 三、第二小題(交集、遞減排序):SELECT Product AS Item FROM CompanyA INTERSECT SELECT Product FROM CompanyB ORDER BY Item DESC; INTERSECT 預設會回傳去除重複後的共同品項,結果為 Tablet、PC、NB、Mouse 四筆,再以 DESC 由大到小排列。若資料庫不支援 INTERSECT(例如 MySQL 8.0.31 以前的版本),可改寫為 SELECT DISTINCT a.Product AS Item FROM CompanyA a INNER JOIN CompanyB b ON a.Product = b.Product ORDER BY Item DESC; 或改用 IN 搭配 DISTINCT。
  • 四、第三小題(差集、遞增排序):SELECT Product AS Item FROM CompanyB EXCEPT SELECT Product FROM CompanyA ORDER BY Item ASC; 差集具有方向性,是「B 減 A」,結果為 CPU、Router 兩筆。若系統不支援 EXCEPT,可改寫為 SELECT Product AS Item FROM CompanyB b WHERE NOT EXISTS (SELECT 1 FROM CompanyA a WHERE a.Product = b.Product) ORDER BY Item ASC;,或使用 LEFT JOIN CompanyA 並加上 WHERE a.Product IS NULL 的寫法。
  • 五、作答提醒:ORDER BY 只能出現在整個集合運算的最後,不可分別寫在各 SELECT 之後;輸出欄位別名以第一個 SELECT 的 AS Item 為準;排序結果受 collation 影響,預設多為不分大小寫;EXCEPT ALL 與 INTERSECT ALL 在多数商用 DBMS 並未支援,答題時宜註明所用資料庫版本與替代語法,以展現對 SQL 標準(SQL:1992 起納入 UNION/INTERSECT/EXCEPT)的完整理解。

第2題

固態硬碟(SSD)使用快閃記憶體來儲存資料。 何謂快閃記憶體(Flash memory)?(5分) 請寫出至少兩種固態硬碟的介面?(10分)

參考解答(AI 生成,非官方)

  • 一、快閃記憶體(Flash memory)的定義:一種非揮發性(non-volatile)的半導體記憶體,以浮閘(floating gate)或電荷捕捉(charge trap)結構儲存電子,藉由控制閘電壓改變電晶體的臨界電壓,以判別儲存位元為 0 或 1。斷電後電荷仍可保留,故資料不會消失;但其寫入前必須先抹除,且抹除以區塊(block)為單位、讀寫以頁(page)為單位,無法像 DRAM 般任意位元組覆寫。
  • 二、快閃記憶體的類型:主要分為 NOR Flash 與 NAND Flash。NOR Flash 支援位元組隨機存取、讀取速度快、可靠度高,適合存放程式碼,如主機板 BIOS/UEFI 韌體、微控制器(MCU)程式;NAND Flash 單位面積密度高、成本低、抹寫速度快,適合大量資料儲存,為固態硬碟、記憶卡、USB 隨身碟與 eMMC/UFS 的主要儲存媒體,並可再依儲存單元分為 SLC、MLC、TLC、QLC。
  • 三、固態硬碟(SSD)的架構與特性:由 NAND 快閃顆粒、控制器(controller)、DRAM 快取(部分機型)、FTL(Flash Translation Layer,快閃轉譯層)組成,FTL 負責邏輯位址對映、垃圾回收(garbage collection)與平均抹寫(wear leveling)。優點為無機械元件、抗震耐摔、低功耗、無搜尋時間、隨機存取延遲低;限制為抹寫次數(P/E cycle)有上限、寫入放大(write amplification)現象,且區塊寫滿後需先抹除才能再寫。
  • 四、SSD 常見介面(至少兩種):(1) SATA III:傳輸速率 6 Gb/s,採 AHCI 協定,外形有 2.5 吋與 M.2(M key,SATA 通道)兩種,相容性最佳但頻寬已成瓶頸。(2) PCIe 搭配 NVMe:直接走 PCIe 通道,PCIe 3.0/4.0/5.0 每通道約 1/2/4 GB/s,採 NVMe 協定,外形多為 M.2、U.2 或 Add-in Card,延遲低、佇列深度大,為現行主流。(3) 其他尚有 mSATA、SAS(企業級)、USB(外接式)與 EDSFF 等,答題時列舉兩種並簡述協定與頻寬差異即可。

第3題

下圖所示為小賈家中桌上型電腦的電腦網路設定,請回答下列問題: 請說明何謂子網路遮罩?(5分)何謂預設閘道?(5分) 此設定的子網路首碼長度為多少?(3分) 此設定的IP位址與預設閘道是否為同一網段?(2分)請說明原因為何? (5分)

參考解答(AI 生成,非官方)

  • 一、子網路遮罩(subnet mask):為 32 位元的二進位數,用來劃分 IP 位址中的網路位元(network portion)與主機位元(host portion)。其格式必為前面連續的 1 之後接連續的 0,1 的個數即網路位元數。將 IP 位址與子網路遮罩做位元 AND 運算,即可求得該主機所屬的網路位址(network address);例如 255.255.255.0 表示前 24 位元為網路位址、後 8 位元為主機位址。
  • 二、預設閘道(default gateway):當主機判斷目的 IP 位址不在同一網段時,會將封包送往的「出口」路由器介面位址,通常設定為該網段中可用主機位址之一(慣例為 .1 或 .254)。若目的位址在同一網段,主機可直接以 ARP 取得對方 MAC 位址後經由交換器傳送,不須經過閘道;因此閘道位址必須與本機 IP 位於同一網段,否則無法連外。
  • 三、子網路首碼(prefix length)的求法:將遮罩四組十進位數各自換算為二進位,計算連續 1 的總個數。常用的對照為 255=8、254=7、252=6、248=5、240=4、224=3、192=2、128=1、0=0,四組相加即為首碼長度;亦可由主機數回推,首碼長度 = 32 − log2(可用主機數+2)。惟本題圖示之 IP、遮罩與閘道數值未隨題幹呈現,題目資料缺漏,無法得出唯一數值,考生須依圖中遮罩實際換算後作答。
  • 四、是否為同一網段的判定:將「IP 位址」與「預設閘道」分別與子網路遮罩做位元 AND,得到兩個網路位址,若兩者完全相同即屬同一網段,否則不同網段。以常見設定為例,IP 192.168.1.10、遮罩 255.255.255.0、閘道 192.168.1.1,兩者 AND 後均為 192.168.1.0,故為同一網段(/24)。本題因圖說資料缺漏,無法得出唯一數值,須以圖中實際位址代入上述步驟判定並寫出比較過程。
  • 五、延伸提醒:若遮罩與 IP 搭配後使主機位元全為 0(網路位址)或全為 1(廣播位址),該組態即不合法;跨網段通訊失敗時,可先用 ipconfig/ifconfig 檢查遮罩與閘道,再以 ping 閘道、tracert 逐層排查,並確認 DHCP 配發或手動設定是否有誤。

第4題

所謂互質為兩個或兩個以上的整數彼此之間的最大公因數是1,而最簡分 數為分子和分母互質的分數。 請使用C語言完成函數int coprime (int a, int b),來檢查正整數a與b是否 互質。如果互質,則函數回傳值為1,反之回傳0。(10分) 使用上述函數,寫一個C語言程式,來找出一最簡分數,其分子與分母 的和為70,且該分數化為小數並四捨五入後為0.6。(15分)

參考解答(AI 生成,非官方)

  • 一、互質(coprime)與解題策略:兩正整數 a、b 若最大公因數(greatest common divisor, gcd)為 1,即稱互質。實作上採輾轉相除法(Euclidean algorithm),反覆以餘數取代除數,直到餘數為 0,此時非零的除數即為 gcd;若 gcd 等於 1 則回傳 1,否則回傳 0。須注意邊界條件:gcd(a,0)=a,故 a=1 時與任何 b 互質;輸入為負數時宜先取絕對值,避免取餘运算出現負值。
  • 二、函數程式碼:int coprime(int a, int b){ if(a<0) a=-a; if(b<0) b=-b; while(b!=0){ int t=a%b; a=b; b=t; } return (a==1)?1:0; } 此寫法時間複雜度為 O(log min(a,b)),不需遞迴、不會有堆疊溢位風險;若 a、b 皆為 0,迴圈不執行且 a==0,回傳 0,符合「非互質」的直覺。
  • 三、第二小題的數學分析:設最簡分數為 a/b,且 a+b=70,因分數值約 0.6 小於 1,故為真分數且 a<b,得 a=70−b。四捨五入至小數第一位為 0.6,表示 0.55 ≤ a/b < 0.65;代入 a=70−b 得 1.55 ≤ 70/b < 1.65,即 42.42 < b ≤ 45.16,故 b 只能為 43、44、45,對應 a 為 27、26、25。
  • 四、逐一驗證:27/43 = 0.6279,四捨五入為 0.6,且 gcd(27,43)=1,符合最簡;26/44 = 0.5909,四捨五入亦為 0.6,但 gcd=2 非最簡(化簡為 13/22,分子分母和為 35);25/45 = 0.5556,四捨五入為 0.6,但 gcd=5 非最簡(化簡為 5/9,和為 14)。故符合條件的唯一解為 27/43。
  • 五、程式碼範例:int main(void){ for(int b=2;b<70;++b){ int a=70-b; if(a<=0||a>=b) continue; if(!coprime(a,b)) continue; double v=(double)a/b; if(round(v*10)==6) printf("%d/%d=%.4f\n",a,b,v); } return 0; } 執行後輸出 27/43=0.6279。為避免浮點誤差,判定宜改用整數運算 20*a>=11*b 且 20*a<13*b(因 0.55=11/20、0.65=13/20),或使用 round(v*10.0)==6;在 Linux 環境編譯時須加 -lm 連結數學函式庫。