112 身心障礙特考三等 電力工程 計算機概論 考古題詳解
第 一 題25 分
請回答下列問題:
(一) 檔案管理(File Management)是作業系統的重要任務之一。何謂檔案?檔案管理包含那些基本功能?(15 分)
(二) 將下列布林運算式(Boolean Expression)簡化為最簡型式。寫出每個步驟及其引用的法則。(10 分)
登入後即可作答並保存紀錄。
核心觀念
檔案(File)是作業系統提供的邏輯儲存單位,用來保存相關資料或程式。檔案可放在次級儲存裝置中,並以檔名識別;作業系統負責管理檔案及其儲存位置、屬性與存取方式。
檔案管理是作業系統對檔案及目錄進行組織與控制的工作,基本功能包括:
- 建立與刪除檔案:配置必要的管理資料,或移除檔案及其相關紀錄。
- 建立與刪除目錄:建立目錄階層,以便組織及查找檔案。
- 檔案操作:支援開啟、關閉、讀取、寫入、重新命名、複製或移動等操作。
- 檔案存取控制:設定並檢查使用者或程序的讀取、寫入、執行等權限。
- 檔案儲存與配置:管理檔案在儲存裝置上的位置與空間配置,並回收已釋出的空間。
- 檔案資訊管理:維護檔名、大小、型態、位置、擁有者、權限及時間戳記等屬性。
- 檔案備份與保護:提供備份、復原及相關保護機制,降低資料遺失或未授權存取的風險。
解題方法與技巧
題目問「何謂檔案」及「檔案管理包含哪些基本功能」,作答時先給出檔案作為邏輯儲存單位的定義,再從檔案生命週期與管理責任整理功能:建立、操作、組織、存取控制、配置空間、維護屬性及保護資料。各項以「動作+管理對象」說明,可避免只列名詞而未交代功能。
(二)布林運算式化簡
核心觀念
布林代數中, 表示 OR,並置表示 AND, 表示 NOT。常用法則包括:
- 互補律:
- 恆等律:、
- 分配律:
- 德摩根律:
解題方法與步驟
原式為:
先利用分配律整理前兩個括號。令 ,則:
第 二 題25 分
有關電腦網路與社群網路安全,請回答下列問題:
(一) 使用者在瀏覽器輸入的網域名稱,如何轉換成對應的 IP 位址?詳述其轉換過程。(15 分)
(二) 使用社群網路媒體時,要具有資訊安全意識。何謂認知戰(Cognitive Warfare)?認知戰的目的為何?請就其定義與目的詳加說明。(10 分)
登入後即可作答並保存紀錄。
核心觀念
網域名稱系統(Domain Name System,DNS)負責將人容易記憶的網域名稱,例如 www.example.com,查詢為網路通訊所需的 IP 位址。DNS 是分層、分散式的命名系統;查詢結果可由快取取得,也可經由 DNS 伺服器逐層查詢。
解題方法與轉換過程
使用者在瀏覽器輸入網址後,瀏覽器須先取得主機名稱對應的 IP 位址,主要流程如下:
-
解析網址並確認主機名稱 瀏覽器從網址中取出主機名稱,例如
www.example.com。通訊協定、路徑與查詢參數不是 DNS 查詢的網域名稱部分。 -
查詢本機快取 瀏覽器先檢查自身的 DNS 快取;若沒有可用結果,作業系統再檢查 DNS 快取及本機的 hosts 設定。若找到仍在有效期限內的對應紀錄,便可直接取得 IP 位址。
-
向遞迴解析器提出查詢 若本機沒有答案,作業系統的存根解析器(stub resolver)會將查詢送到設定的遞迴 DNS 解析器。該解析器通常由網際網路服務供應商、企業或其他 DNS 服務提供者管理。用戶端通常使用 UDP 第 53 埠查詢;需要較大型資料或其他特定情形時,也可使用 TCP 第 53 埠。
-
遞迴解析器檢查快取 遞迴解析器先查看自己的快取。若已有尚未逾時的紀錄,便將結果回覆給用戶端;若沒有,則代表解析器代替用戶端向 DNS 階層查詢。
-
由根 DNS 逐層查詢 解析器先向根 DNS 伺服器查詢。根伺服器通常不直接提供該主機的 IP,而是回覆頂層網域(例如
.com)的 DNS 伺服器資訊。接著,解析器向.com頂層網域伺服器查詢,取得example.com權威 DNS 伺服器的資訊,再向權威伺服器查詢www.example.com的紀錄。
這種由解析器一路代為查詢的方式稱為遞迴查詢;根、頂層網域與權威伺服器依序提供下一步線索的過程,常以迭代查詢描述。
-
取得紀錄並回覆用戶端 權威 DNS 伺服器依查詢名稱與類型回覆紀錄。IPv4 位址通常由 A 紀錄提供,IPv6 位址通常由 AAAA 紀錄提供。若該名稱是別名,權威伺服器可能先回覆 CNAME 紀錄,解析器再依別名繼續查詢,直到取得位址紀錄。
-
快取結果並建立連線 遞迴解析器將結果回覆給用戶端,並依紀錄的存留時間(TTL)快取;作業系統或瀏覽器也可能快取結果。
第 三 題25 分
請回答下列有關資料結構的問題:
(一) 陣列(Array)中的元素(Element)與鏈結串列(Linked List)中的元素(Element)有何不同?請就元素在記憶體的儲存方式(Storage)、存取方式(Access)以及命名方式(Name)三方面詳細說明。(15 分)
(二) 若某算術運算式的後置表示法(Postfix)是:
則原運算式的二元表示樹(Binary Expression Tree)為何?詳述其建構步驟。(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題比較陣列與鏈結串列的資料儲存及存取方式。陣列的元素依序存放在連續記憶體位置,通常以索引定位;鏈結串列的節點可以分散在記憶體中,並以指標連結。題目所稱的「元素」,在鏈結串列中通常指包含資料欄位與連結欄位的節點。
解題方法與三方面比較
| 比較面向 | 陣列(Array) | 鏈結串列(Linked List) |
|---|---|---|
| 儲存方式(Storage) | 元素依序存放於一段連續的記憶體空間。若元素大小固定,便能依起始位址與索引計算元素位址。 | 節點不必連續配置,可分散於記憶體各處。每個節點除資料外,還保存一個或多個指標,指向其他節點。 |
| 存取方式(Access) | 可依索引直接存取指定位置,例如存取第 個元素,時間複雜度通常為 。 | 通常須由頭節點沿指標逐一走訪,才能找到指定位置的節點;依位置存取一般為 。 |
| 命名方式(Name) | 元素通常以陣列名稱搭配索引識別,例如 A[0]、A[1]。索引提供元素在陣列中的位置。 | 節點沒有陣列式的固定索引名稱,通常透過指標或連結關係識別,例如由 head 指向第一個節點,再循節點指標尋找後續節點。 |
陣列元素的位址可用下式說明:
其中 是陣列起始位址, 是每個元素所占的位元組數;若索引從 1 起算,公式中的索引項須配合基底索引調整。因為位址能直接計算,陣列適合依索引頻繁存取的情境。
鏈結串列的節點則依指標連接,例如單向鏈結串列節點可表示為:
其中 data 儲存資料,next 儲存下一個節點的位址。要找第 個節點,通常須從頭節點逐節點前進;但在已知插入或刪除位置的節點指標時,更新連結通常不必搬移後續所有元素。
解題技巧與常見陷阱
作答時可用「連續與分散、索引與走訪、位置名稱與指標關係」三組對照整理。不要把鏈結串列說成必然比陣列更快:鏈結串列的指定位置存取通常較慢,但在已知位置的插入或刪除上,常能避免搬移大量元素。陣列名稱搭配索引識別元素;鏈結串列則透過指標連結找到節點。
(二)由後置表示法建構二元表示樹
核心觀念
第 四 題25 分
請回答下列問題:
(一) 如下列 Program-1 的 Python 程式,其功用為何?如果執行該程式,並輸入 24 與 18 兩個整數,則輸出的結果為何?寫出其詳細步驟。(15 分)
Program-1:
def x(a,b): c=a%b while(c!=0): a=b b=c c=a%b return b
a=int(input()) b=int(input())
if(b>a): g=a a=b b=g
p=a*b q=x(a,b) r=p//q print(q,r)
(二) 如下列 Program-2 的 Python 程式,將該程式中第 01 行~第 05 行的自定義函數,使用遞迴(Recursion)函數寫出其程式碼。(10 分)
Program-2:
def x(n): a=1 for i in range(1,n+1): a=a*(i-1)+i return a
n=int(input()) result=x(n) print(result)
登入後即可作答並保存紀錄。
核心觀念
函數 x(a,b) 使用歐幾里得算法求兩個整數的最大公因數(GCD)。其核心性質為:
程式先把較大的輸入值放在 a,再計算兩數乘積 p、最大公因數 q,最後以「兩數乘積等於最大公因數乘以最小公倍數」求出最小公倍數 r:
解題方法與詳細步驟
輸入 與 後,因為 ,所以不需交換,令 。
呼叫 x(24,18):
| 步驟 | |||
|---|---|---|---|
| 初始 | 24 | 18 | 6 |
| 第 1 次迴圈 | 18 | 6 | 0 |
第 1 次迴圈中,先令 a=b,所以 ;再令 b=c,所以 ;接著計算 。迴圈結束,函數回傳 ,因此最大公因數 。
接著計算:
// 是整數除法。程式最後依序輸出 q 與 r。
解題技巧
歐幾里得算法每一步都以「除數、餘數」取代原來的兩數,直到餘數為 ;此時最後一個非零餘數就是最大公因數。