110 身心障礙特考四等 資訊處理 資料處理概要 考古題詳解

110 年・身心障礙特考・四等・資訊處理
試題代碼 資料處理概要

第 一 題20 分

已知 11000211000_2、1103110_3、1024102_4、1025102_5、55655_6、44744_7、51851_8,係用不同進位表達的數字,例如 51851_8 是一個用 8 進位表達的數字 51。

(一) 請將它們全部轉換為 10 進位的數字。

(二) 請用快速排序法(quick sort)來將這些表達成 10 進位的數字作排序,並說明過程。

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

這一題的完整詳解

核心觀念

題目考查進位制轉換與快速排序。將 bb 進位數字換算成十進位時,依位值展開:

(anan−1⋯a0)b=∑i=0naibi(a_na_{n-1}\cdots a_0)_b =\sum_{i=0}^{n} a_i b^i

其中每個數字位數都必須小於底數 bb。排序時,先將數值轉成十進位,再以快速排序法選取樞紐(pivot),將資料分成小於及大於樞紐的部分,並對兩部分遞迴排序。

解題方法

(一)轉換為十進位

依各位數的位值展開:

  • 110002=1×24+1×23=16+8=2411000_2=1\times2^4+1\times2^3=16+8=\boxed{24}
  • 1103=1×32+1×31=9+3=12110_3=1\times3^2+1\times3^1=9+3=\boxed{12}
  • 1024=1×42+0×41+2×40=16+2=18102_4=1\times4^2+0\times4^1+2\times4^0=16+2=\boxed{18}
  • 1025=1×52+0×51+2×50=25+2=27102_5=1\times5^2+0\times5^1+2\times5^0=25+2=\boxed{27}
  • 556=5×61+5×60=30+5=3555_6=5\times6^1+5\times6^0=30+5=\boxed{35}
  • 447=4×71+4×70=28+4=3244_7=4\times7^1+4\times7^0=28+4=\boxed{32}
  • 518=5×81+1×80=40+1=4151_8=5\times8^1+1\times8^0=40+1=\boxed{41}

因此,依題目原順序換算後為:

24, 12, 18, 27, 35, 32, 4124,\ 12,\ 18,\ 27,\ 35,\ 32,\ 41

(二)快速排序

採用「每次取目前子序列第一個元素為樞紐」的方式;樞紐左側放小於樞紐的數,右側放大於樞紐的數,再分別遞迴排序。

🔒

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

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

免費註冊

第 二 題20 分

同步控制(concurrency control)是資料庫管理系統(DBMS)裡的必要功能之一。請說明下列有關問題:

(一) 如果資料庫管理系統沒有做好同步控制,則有可能在多筆交易(transactions)同時執行時,發生資料更新後有錯誤的情形,請說明這是指什麼問題。

(二) 二階段鎖定協定(two-phase locking protocol)可以保證有衝突的交易在更新資料時仍保持資料的正確性。請說明什麼是二階段鎖定協定,並解釋為什麼二階段鎖定能使有衝突的交易仍能被正確的執行。

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

這一題的完整詳解

核心觀念

本題考資料庫的同步控制與二階段鎖定協定。多筆交易同時讀寫資料時,DBMS 必須安排其操作順序,使執行結果等同於某種正確的序列執行;否則即使各交易單獨執行都正確,交錯執行仍可能造成資料錯誤。

(一)未妥善同步控制造成的更新錯誤

典型問題是遺失更新(lost update):兩筆交易讀取同一筆資料,各自計算新值並寫回;後寫入的交易覆蓋先前交易的更新,導致其中一筆更新消失。

例如,資料 XX 原值為 100100:

操作順序交易 T1T_1:存入 2020交易 T2T_2:提領 1010
1讀取 X=100X=100
2讀取 X=100X=100
3計算 100+20=120100+20=120
4計算 100−10=90100-10=90
5寫入 X=120X=120
6寫入 X=90X=90

若依序執行,正確結果應為 100+20−10=110100+20-10=110;但上述交錯執行後,資料庫中的 XX 為 9090,T1T_1 的更新被 T2T_2 覆蓋,這就是遺失更新。

(二)二階段鎖定協定

**二階段鎖定協定(Two-Phase Locking, 2PL)**規定,每筆交易的加鎖與解鎖分為兩個階段:

  1. 成長階段(growing phase):交易可以取得新鎖,但不得釋放已持有的鎖。
🔒

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

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

免費註冊

第 三 題20 分

某資料庫有下列關聯,請用 SQL 語法回答下列查詢。

學生(學號、姓名、電話)

成績(學號、科目名稱、分數)

(一) 針對一查詢是「列出所有在科目名稱是“資料處理”這門課裡分數不及格(<60<60 分)的學生的姓名和電話」,某同學想要用巢狀查詢(nested query)的寫法來回答此查詢。可是只完成了上半部,請幫他完成此查詢餘下的部分。亦即,請填入下列括號裡「?」部分應填入的指令。

SELECT 姓名,電話
FROM 學生
WHERE 學號 IN(?);

(二) 請列出各個科目的科目名稱,和所有學生在該科目成績的平均分數。

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

這一題的完整詳解

核心觀念

本題考查 SQL 的巢狀查詢、IN 子查詢,以及彙總函數 AVG 搭配 GROUP BY 的使用。

  • 「學生」關聯提供學生姓名與電話;「成績」關聯記錄各學生各科的分數。
  • 子查詢可先從「成績」找出符合條件的學號,再由外層查詢至「學生」找出對應的姓名與電話。
  • 計算各科平均分數時,使用 AVG(分數) 彙總分數,並以科目名稱分組。

解題方法

(一)查詢「資料處理」不及格學生的姓名與電話

子查詢篩選「成績」中科目名稱為「資料處理」且分數低於 6060 的紀錄,取出其中的學號。外層查詢再以 IN 比對學生學號,取得姓名與電話。

SELECT 姓名, 電話
FROM 學生
WHERE 學號 IN (
 SELECT 學號
 FROM 成績
 WHERE 科目名稱 = '資料處理'
 AND 分數 < 60
);

括號中的內容即為:

🔒

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

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

免費註冊

第 四 題20 分

已知一個二元樹如下圖。

(此題原卷文字擷取不全,請參考原卷)

(一) 說明用廣度優先的順序來走訪這棵樹,其順序為何?

(二) 說明用深度優先的順序來走訪這棵樹,其順序為何?

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

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

這一題的完整詳解

核心觀念

本題考二元樹的走訪方式:

  • 廣度優先走訪(BFS):逐層由上而下,同一層由左至右,通常使用佇列。
  • 深度優先走訪(DFS):沿著一條分支往下走到底,再回溯走訪其他分支。二元樹的 DFS 可依根節點的訪問時機分成前序、中序、後序。本題未指定種類,以下依常見的「根節點先訪問、左子樹優先」前序方式作答。

解題方法

先依圖辨認節點關係:AA 的左、右子節點為 H、DH、D;HH 的左、右子節點為 C、GC、G,且 GG 的左子節點為 EE;DD 的左子節點為 FF,且 FF 的左、右子節點為 K、BK、B。

(一)廣度優先

逐層由左至右列出:

  • 第 1 層:AA
  • 第 2 層:H、DH、D
  • 第 3 層:C、G、FC、G、F
  • 第 4 層:E、K、BE、K、B

因此,廣度優先走訪順序為: A→H→D→C→G→F→E→K→BA \rightarrow H \rightarrow D \rightarrow C \rightarrow G \rightarrow F \rightarrow E \rightarrow K \rightarrow B

🔒

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

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

免費註冊

第 五 題20 分

在關聯式資料庫(Relational Database)裡,針對關聯有一些限制條件(Constraints)。

(一) 請說明什麼是鍵值限制(Key Constraint)。

(二) 請說明什麼是參考完整限制(Referential Integrity Constraint)。

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

這一題的完整詳解

核心觀念

本題考查關聯式資料庫的兩種完整性限制:

  • 鍵值限制(Key Constraint):規範資料表中哪些屬性可用來唯一識別每一筆資料。
  • 參考完整限制(Referential Integrity Constraint):規範資料表之間的參照關係,確保外鍵所指向的資料確實存在。

解題方法

先區分兩種限制的作用範圍:鍵值限制關注同一個關聯內的列是否唯一;參考完整限制關注不同關聯之間的參照是否有效。再分別說明其定義與違反限制的情形。

(一)鍵值限制(Key Constraint)

在關聯 RR 中,若屬性集合 KK 的值可以唯一識別每一筆資料,則 KK 是 RR 的超鍵(Superkey)。換言之,RR 中任兩筆不同的資料列,在 KK 上的值不得完全相同:

t1≠t2  ⟹  t1[K]≠t2[K]t_1 \ne t_2 \implies t_1[K] \ne t_2[K]

若 KK 是不含多餘屬性的最小超鍵,則稱為候選鍵(Candidate Key)。資料表選定其中一個候選鍵作為主要鍵(Primary Key),其他候選鍵則稱為替代鍵(Alternate Key)。

因此,鍵值限制的重點是:鍵值不可重複,且能唯一識別資料列。例如「學生」資料表以學號為主鍵,則不同學生不得有相同學號。若主鍵由多個屬性組成,必須以整組屬性判斷唯一性;例如「選課」資料表可用(學號、課程編號)作為複合主鍵。

🔒

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

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

免費註冊

其他考古題