111 高普考高考三級 統計 資料處理 考古題詳解
第 一 題15 分
在人機互動的場域中,有所謂 VR(Virtual Reality)與 AR(Augmented Reality),請各舉出一個實際的應用試述它們是什麼?並從沉浸度及虛擬度強弱比較它們的不同。(15分)
登入後即可作答並保存紀錄。
核心觀念
本題考查人機互動中的虛擬實境(Virtual Reality, VR)與擴增實境(Augmented Reality, AR),重點包括:
- VR 與 AR 的定義。
- 兩者在實際生活中的應用。
- 依「沉浸度」與「虛擬度」比較兩者差異。
- 了解真實環境與虛擬內容在整體使用 अनुभव中的比例。
VR 與 AR 均屬於延伸實境(Extended Reality, XR)技術。可將人機互動環境依真實程度與虛擬程度排列如下:
其中,AR 是在真實世界中加入虛擬資訊;VR 則是以電腦產生的虛擬環境取代使用者所處的真實環境。
解題方法
本題採「定義—實例—比較」三段式作答:
- 先分別說明 VR 與 AR 的技術本質。
- 各舉一個具體且容易辨識的實際應用。
- 以沉浸度及虛擬度兩個面向比較,最後整理成結論。
一、VR:虛擬實境
VR 是利用電腦產生三維虛擬環境,使用者通常透過頭戴式顯示器、感測器及控制器進入該環境。系統會依使用者的頭部轉動、身體動作或操作指令,即時更新影像與聲音,使使用者產生置身於虛擬空間中的感受。
VR 的重要特徵如下:
- 真實環境被大幅遮蔽或排除。
- 使用者主要接收虛擬影像、虛擬聲音及虛擬互動回饋。
- 使用者能在虛擬空間中觀看、移動及操作物件。
- 目標是產生「身歷其境」的感受。
實際應用:飛行模擬訓練
飛行員可戴上 VR 頭戴式裝置,在虛擬駕駛艙中練習起飛、降落、儀表操作及緊急處置。系統能模擬不同天候、航線與故障情境,讓受訓者在不使用實際飛機的情況下進行訓練。
此例中,受訓者主要觀看虛擬駕駛艙與虛擬飛行場景,真實環境並非主要互動對象,因此屬於 VR。
二、AR:擴增實境
AR 是以攝影機、定位系統、感測器或透視式顯示器辨識真實環境,並將文字、圖像、三維模型或提示資訊疊加在真實場景上。使用者仍能看見並理解真實世界,只是實際環境中增加了由電腦產生的數位資訊。
AR 的重要特徵如下:
- 真實環境仍是主要觀看及互動基礎。
- 虛擬資訊與真實物件同時存在。
- 電腦產生的內容通常具有提示、導引、標示或輔助功能。
- 使用者不必完全離開真實環境即可使用。
實際應用:手機導航 AR 導引
使用者以手機攝影機拍攝街道,導航系統便在即時影像上疊加箭頭、街道路口名稱或方向提示,指引使用者前往目的地。使用者仍看見真實道路、建築物及行人,虛擬箭頭只是附加於真實畫面之上,因此屬於 AR。
沉浸度與虛擬度比較
一、沉浸度
沉浸度是指使用者感受到自己「置身於該環境」的程度。沉浸度越高,使用者的視覺、聽覺及操作回饋越集中於系統建立的環境,對外在真實環境的注意力越低。
VR 通常具有較高沉浸度,原因包括:
- 頭戴式顯示器覆蓋使用者視野。
- 虛擬影像會隨頭部或身體動作即時改變。
- 虛擬音效與控制器回饋能增加臨場感。
- 使用者主要注意虛擬場景,而非周遭真實環境。
AR 的沉浸度通常較低,原因包括:
- 使用者仍持續接收真實環境的視覺與聽覺資訊。
- 虛擬內容只占據畫面或視野的一部分。
- 使用者必須同時注意真實環境與數位提示。
第 二 題30 分
資料表正規化(Normalization)為降低新增異常、刪除異常、更新異常等資料異動異常的有效方式,請試述:(每小題 10分,共 30分) (一) 資料表達成二階正規化的特徵。 (二) 資料表達成三階正規化的特徵。 (三) 需要資料表反正規化(Denormalization)的原因與做法。
登入後即可作答並保存紀錄。
核心觀念
本題考查關聯式資料庫的正規化,核心工具是:
- 函數相依(Functional Dependency)
- 候選鍵(Candidate Key)
- 主鍵(Primary Key)
- 主屬性(Prime Attribute):出現在任一候選鍵中的屬性
- 非主屬性(Non-prime Attribute):不屬於任何候選鍵的屬性
正規化的目的,是透過拆分資料表,減少資料重複與新增、刪除、更新異常。
解題方法
判斷正規化階段時,依下列順序分析:
- 是否符合第一階正規化(1NF):每個欄位皆為不可再分的原子值。
- 是否存在複合候選鍵。
- 非主屬性是否只依賴複合鍵的一部分,判斷是否違反 2NF。
- 是否存在「鍵 非主屬性 非主屬性」的傳遞相依,判斷是否違反 3NF。
例如關係:
其候選鍵為 ,函數相依為:
學生姓名只依賴學號,課名只依賴課號,均只依賴複合鍵的一部分,因此違反 2NF。
(一)資料表達成二階正規化的特徵
1. 定義
一個資料表要達成第二階正規化(Second Normal Form, 2NF),必須同時符合:
- 已達成第一階正規化(1NF)。
- 每一個非主屬性,皆完全函數相依於每一個候選鍵。
所謂「完全函數相依」,是指非主屬性依賴整個候選鍵,不能只依賴複合候選鍵的一部分。
若候選鍵為:
而存在:
其中 為非主屬性,則 只依賴 的一部分,稱為部分相依(Partial Dependency),此時不符合 2NF。
2. 主要特徵
- 先符合 1NF。
- 消除非主屬性對複合候選鍵的部分相依。
- 若候選鍵只有單一屬性,則不會發生部分相依,因此只要符合 1NF,通常即可符合 2NF。
- 2NF主要處理「複合鍵造成的部分相依」。
3. 拆分示例
原表:
候選鍵為:
由於:
可拆成:
拆分後,學生姓名完全依賴學生表的主鍵學號,課名完全依賴課程表的主鍵課號,成績完全依賴選課表的複合鍵 ,因此消除了部分相依。
(二)資料表達成三階正規化的特徵
1. 定義
資料表達成第三階正規化(Third Normal Form, 3NF),必須:
- 已達成第二階正規化(2NF)。
- 非主屬性不得傳遞相依於候選鍵。
典型的傳遞相依形式為:
因此:
其中 是候選鍵,、 是非主屬性。此時稱 傳遞相依於 ,違反 3NF。
2. 形式化判斷
對關係中的每一個非平凡函數相依:
若要符合 3NF,至少必須滿足下列一項:
- 是超鍵(Superkey);或
- 是主屬性。
在一般考試題型中,可簡化記憶為:
非主屬性必須直接依賴候選鍵,不能依賴另一個非主屬性。
3. 拆分示例
假設表格為:
函數相依為:
因此:
部門名稱不是直接依賴員工編號,而是透過部門編號產生傳遞相依,違反 3NF。
可拆成:
第 三 題10 分
在資料庫設計中,兩資料表最小基數(Minimum Cardinality)的關係,可分為 、、、( 表選擇, 表強制,冒號前面表父資料表,後面表子資料表),請比較並解釋其中 與 關係中資料庫設計的難度。(10分)
登入後即可作答並保存紀錄。
核心觀念
本題考查資料庫設計中「最小基數(Minimum Cardinality)」與參與限制(Participation Constraint)的意義,以及不同最小基數對資料完整性約束與實作難度的影響。
題目規定:
- 冒號前為父資料表,冒號後為子資料表。
- (Optional)表示選擇性參與,最小基數為 。
- (Mandatory)表示強制性參與,最小基數為 。
因此:
| 關係 | 父資料表 | 子資料表 |
|---|---|---|
| 每一筆父資料至少要有一筆子資料 | 子資料可以沒有對應父資料 | |
| 父資料可以沒有任何子資料 | 每一筆子資料必須有對應父資料 |
本題討論的是最小基數,並非最大基數,因此不涉及一對一或一對多的數量上限。
解題方法
判斷資料庫設計難度時,應觀察該限制能否直接利用外鍵與 NOT NULL 實作,或必須跨資料表檢查資料筆數。
以父表 Parent 與子表 Child 為例,子表具有外鍵 parent_id。
一、 關係
的意義為:
- 父表中的資料可以沒有子資料。
- 子表中的每一筆資料都必須對應到父表中的一筆資料。
其主要約束為:
並且:
在關聯式資料庫中,可以直接使用:
parent_id INT NOT NULL,
FOREIGN KEY (parent_id) REFERENCES Parent(parent_id)
其中:
NOT NULL確保每一筆子資料都有父資料。FOREIGN KEY確保該父資料確實存在。- 父表可以先建立資料,暫時沒有任何子資料,不會違反限制。
例如「部門—員工」關係中,某一部門目前沒有員工是允許的;但每一位員工必須隸屬於某一部門。這種設計通常只需在子表建立不可為空的外鍵即可完成,因此難度較低。
二、 關係
的意義為:
- 父表中的每一筆資料至少要有一筆子資料。
- 子表中的資料可以沒有對應父資料。
父表的限制可表示為:
也就是每一筆父資料都必須在子表中找到至少一筆對應記錄。
此限制無法單純靠子表的 NOT NULL 外鍵完成,原因如下:
第 四 題30 分
兩個資訊設備互連溝通,端賴使用相同的通訊協定(Protocol),國際標準組織(ISO)定義了開放式系統互聯模型(Open System Interconnection Model, OSI 模型),OSI 模型從實體層(Physical Layer)到應用層(Application Layer)共分為七層架構,請針對下列 TCP/IP 通訊協定,試述其功能、舉出實際應用,並指出屬於 OSI 模型的哪一層:(每小題 15分,共 30分) (一) ICMP (二) UDP
登入後即可作答並保存紀錄。
核心觀念
本題考查 TCP/IP 通訊協定在 OSI 七層模型中的定位,以及各協定所提供的主要功能與實際應用。
判斷協定所屬層級時,可依其處理對象區分:
- 網路層(第三層):負責主機間的邏輯定址、封包傳遞、路由選擇及網路狀態回報。
- 傳輸層(第四層):負責端點到端點的資料傳輸,透過通訊埠識別不同應用程式,並提供可靠性或快速傳輸等服務。
因此,ICMP 屬於 IP 網路層的控制與錯誤回報協定;UDP 則屬於傳輸層協定。
解題方法
回答每一小題時,依序說明:
- 協定的定位與所屬 OSI 層級。
- 主要功能與運作特性。
- 封包或資料傳遞方式。
- 實際應用案例。
- 與其他常見協定的區別及常見誤解。
(一)ICMP
1. 協定名稱與所屬層級
ICMP 是 Internet Control Message Protocol,中文稱為「網際網路控制訊息協定」。
ICMP 屬於:
OSI 模型第三層:網路層(Network Layer)
ICMP 通常搭配 IP 使用,主要負責傳遞網路控制訊息、錯誤訊息及診斷資訊。它不是用來傳送一般應用程式資料的傳輸協定,也不負責提供 TCP 式的可靠資料傳輸。
2. 主要功能
ICMP 的功能包括:
(1)錯誤回報
當 IP 封包無法正常送達目的地時,中間的路由器或目的主機可利用 ICMP 回報錯誤,例如:
- Destination Unreachable:目的地無法到達。
- Time Exceeded:封包的 TTL 值歸零,常表示封包在網路中繞行過久。
- Redirect:通知主機可改用較適當的路由。
- Packet Too Big:封包大小超過路徑可傳輸的最大單位,常見於 ICMPv6。
ICMP 的錯誤訊息可協助傳送端判斷網路故障原因,但不代表 ICMP 會自動修復錯誤。
(2)網路診斷
ICMP 可用來測試主機是否可達、分析網路路徑及判斷封包傳輸狀況。
常見的 ICMP 訊息類型包括:
- Echo Request
- Echo Reply
透過這些訊息,可以測試來源主機與目的主機間是否能夠互相連通。
(3)提供網路控制資訊
ICMP 可傳送與 IP 封包處理有關的控制資訊,例如封包存活時間逾期、目的端不可達等,使網路設備及主機能掌握傳輸狀態。
3. 實際應用
(1)Ping
ping 指令會向目的主機送出 ICMP Echo Request,目的主機收到後回覆 ICMP Echo Reply。
藉由回覆結果,可判斷:
- 目的主機是否可達。
- 往返時間(Round-Trip Time, RTT)。
- 封包是否遺失。
Ping 使用的是 ICMP,不是 TCP,也不是 UDP。
(2)Traceroute
traceroute 或 Windows 系統中的 tracert,會利用逐步增加 IP 封包 TTL 的方式,找出封包通往目的地所經過的路由器。
當某一跳的 TTL 歸零時,該路由器通常會回傳 ICMP Time Exceeded 訊息,因此來源主機可藉此得知路徑上的各個節點。
4. ICMP 的重要特性
- ICMP 不使用 TCP 或 UDP 通訊埠。
- ICMP 訊息會封裝在 IP 封包中傳送。
- ICMP 本身不提供可靠傳輸、排序、流量控制或壅塞控制。
- ICMP 錯誤訊息主要是針對 IP 層的傳輸問題進行回報。
- 網路設備可能因安全政策封鎖部分 ICMP 訊息,因此 Ping 失敗不必然表示主機完全無法連線。
5. 常見陷阱
最常見的錯誤是將 ICMP 歸入傳輸層。判斷重點在於:
- ICMP 處理的是 IP 封包傳遞狀態及錯誤回報,因此屬於網路層。
- ICMP 沒有 TCP、UDP 所使用的埠號概念,因此不屬於傳輸層。
(二)UDP
1. 協定名稱與所屬層級
UDP 是 User Datagram Protocol,中文稱為「使用者資料包協定」。
UDP 屬於:
OSI 模型第四層:傳輸層(Transport Layer)
UDP 負責在來源主機與目的主機的應用程式之間傳送資料,透過來源埠號與目的埠號識別應用程式。
2. 主要功能
UDP 的主要功能包括:
(1)提供程序到程序的傳輸
IP 只能將資料送到目的主機,UDP 則利用埠號將資料交給主機上的特定應用程式。
UDP 標頭包含:
第 五 題15 分
主副程式的參數傳遞,主要可區分為傳值呼叫(call by value)和傳址呼叫(call by address),請說明此兩種方法何種的計算效率較高及其較高的原因?下列主副程式,請分別依照傳值呼叫和傳址呼叫寫出輸出的答案。(15分)
| 主程式 | 副程式 |
|---|---|
| A=1 | Function F(X, Y, Z) |
| B=2 | Z=X |
| C=3 | X=Y |
| F(A, B, C) | Y=Z |
| PRINT A, B, C | END |
登入後即可作答並保存紀錄。
核心觀念
本題考查副程式的兩種參數傳遞方式:
-
傳值呼叫(Call by Value) 主程式將實際參數的「值」複製給副程式的形式參數。副程式內修改的是複本,不會改變主程式中的原始變數。
-
傳址呼叫(Call by Address) 主程式將實際參數的「記憶體位址」傳給副程式。形式參數直接對應到原始變數,因此副程式內的修改會反映回主程式。
計算效率比較
在傳統參數傳遞模型下,傳址呼叫的計算效率通常較高。
原因是:
- 傳值呼叫必須複製實際參數的內容;
- 傳址呼叫只需傳遞記憶體位址,無須複製整個資料內容;
- 當參數是大型陣列、結構或物件時,複製資料所需的時間與記憶體空間尤其可觀。
因此,若參數資料大小為 :
- 傳值呼叫複製資料的成本約為 ;
- 傳址呼叫傳遞位址的成本約為 。
本題採用傳統程式設計的判定方式,故判斷為傳址呼叫效率較高。實際程式語言仍須考量資料型態、編譯器最佳化及是否使用參考等因素。
解題方法
主程式先設定:
接著執行:
副程式依序執行三個敘述:
關鍵在於判斷 是獨立複本,還是直接對應到 。
傳值呼叫
傳值呼叫時,副程式取得:
副程式內依序計算:
第一步:
此時:
第二步:
此時:
第三步:
副程式結束後, 的變化只發生在副程式的區域複本,主程式原始變數仍為: