在8位有符號補碼(two's complement)系統中,進行加法 \(01011100_2 + 00111010_2\) 後,所得的8位二進制字串所代表的十進制數值是多少?
- A.150
- B.-106
- C.-105
- D.-92
解題
1. 將二進制數轉換為十進制以檢查是否溢出:\(01011100_2 = 92_{10}\),\(00111010_2 = 58_{10}\)。其和為 \(92 + 58 = 150\)。由於8位有符號整數的最大值為 \(+127\),因此發生了溢出。\n2. 進行二進制加法:\(01011100_2 + 00111010_2 = 10010110_2\)。\n3. 在8位有符號補碼中,最高有效位(MSB)為 1,表示這是一個負數。\n4. 求其大小,取 \(10010110_2\) 的補碼:反轉所有位得到 \(01101001_2\),加 1 得到 \(01101010_2 = 64 + 32 + 8 + 2 = 106\)。因此,該數值為 \(-106\)。
評分準則
答對選項 (B) 獲 1 分。不設部分分數。
考慮以下偽代碼算法:\n\n```\nA = 5\nB = 3\nC = 0\nWhile A > 0 do\n If A mod 2 == 1 then\n C = C + B\n B = B * 2\n A = A div 2\n```\n\n當算法結束時,`C` 的值是多少?
- A.3
- B.9
- C.15
- D.24
解題
讓我們追踪循環的執行過程:\n- 初始狀態:`A = 5`, `B = 3`, `C = 0`。\n- 第一次迭代:`A = 5 > 0`。由於 `5 mod 2 == 1`,故 `C = 0 + 3 = 3`。然後 `B = 3 * 2 = 6`, `A = 5 div 2 = 2`。\n- 第二次迭代:`A = 2 > 0`。由於 `2 mod 2 == 0`,`C` 保持為 `3`。然後 `B = 6 * 2 = 12`, `A = 2 div 2 = 1`。\n- 第三次迭代:`A = 1 > 0`。由於 `1 mod 2 == 1`,故 `C = 3 + 12 = 15`。然後 `B = 12 * 2 = 24`, `A = 1 div 2 = 0`。\n- 由於 `A` 現在為 `0`,循環結束。`C` 的最終值為 `15`。
關於電腦系統中的快取記憶體(Cache memory),下列哪些描述是正確的?\n\n(1) 快取記憶體的運算速度比隨機存取記憶體(RAM)快,但比 CPU 暫存器慢。\n(2) 快取記憶體是非易失性(non-volatile)的。\n(3) 快取記憶體儲存常用數據和指令,以加快 CPU 的處理速度。
- A.僅 (1) 及 (2)
- B.僅 (1) 及 (3)
- C.僅 (2) 及 (3)
- D.(1)、(2) 及 (3)
解題
描述 (1) 是正確的:暫存器速度最快,其次是快取記憶體,再者是主記憶體(RAM)。\n描述 (2) 是錯誤的:快取記憶體由靜態隨機存取記憶體(SRAM)組成,屬於易失性(volatile)記憶體,斷電後數據會丟失。\n描述 (3) 是正確的:快取記憶體的作用是將最近或常用的指令/數據保存在靠近 CPU 的地方,以減少存取延遲。\n因此,(1) 及 (3) 是正確的。
一個 IP 地址為 `192.168.10.45`,子網路遮罩為 `255.255.255.240`。下列哪一個 IP 地址與此 IP 地址處於同一個子網路中?
- A.192.168.10.28
- B.192.168.10.31
- C.192.168.10.42
- D.192.168.10.48
解題
1. 子網路遮罩 `255.255.255.240` 的最後一個八位組是 `240`(二進制為 `11110000`)。\n2. 這意味著每個子網路的區段大小為 \(256 - 240 = 16\)。\n3. 子網路從 16 的倍數開始:`0`、`16`、`32`、`48`、`64` 等。\n4. 對於 `192.168.10.45`,最後一個八位組為 `45`。它屬於從 `32` 開始的子網路,範圍為 `192.168.10.32` 至 `192.168.10.47`。\n5. 檢查選項,只有 `192.168.10.42`(最後一個八位組為 `42`)位於 `32` 至 `47` 的範圍內。
考慮以下學校註冊系統的數據庫模式(schema):\n\n`STUDENT(StudentID, StudentName, Class)`\n`COURSE(CourseID, CourseName, Teacher)`\n`ENROLLMENT(StudentID, CourseID, EnrollDate, Grade)`\n\n下列哪些描述是正確的?\n\n(1) `ENROLLMENT` 的主鍵(Primary key)應為複合鍵 `(StudentID, CourseID)`。\n(2) `ENROLLMENT` 中的 `StudentID` 是一個參照 `STUDENT` 的外鍵(Foreign key)。\n(3) `STUDENT` 中的 `StudentID` 必須是唯一的,且不能包含空值(null)。
- A.僅 (1) 及 (2)
- B.僅 (1) 及 (3)
- C.僅 (2) 及 (3)
- D.(1)、(2) 及 (3)
解題
描述 (1) 正確:`ENROLLMENT` 表格表示 `STUDENT` 和 `COURSE` 之間的多對多關係。其複合主鍵由 `StudentID` 和 `CourseID` 組成,以唯一標識每條註冊記錄。\n描述 (2) 正確:`ENROLLMENT` 中的 `StudentID` 連結到 `STUDENT` 中的 `StudentID`,作為外鍵以維護參照完整性。\n描述 (3) 正確:由於 `StudentID` 是 `STUDENT` 表格的主鍵,根據實體完整性定義,主鍵必須唯一且不能為空值。\n因此,所有三個描述均正確。
在試算表中,儲存格 `B2` 包含公式 `=$A$1 + B1`。如果將此公式複製並貼上到儲存格 `D4` 中,`D4` 中的公式將是什麼?
- A.=$A$1 + B1
- B.=$C$3 + D3
- C.=$A$1 + D3
- D.=$A$1 + C3
解題
1. `$A$1` 是絕對引用(由 `$` 符號表示)。複製時它不會改變,依然是 `$A$1`。\n2. `B1` 是相對引用。公式從 `B2` 複製到 `D4`,這代表位移了:\n - 欄:`B` 到 `D`(向右移動 2 欄)\n - 列:`2` 到 `4`(向下移動 2 列)\n3. 將此位移應用到相對引用 `B1`:\n - 欄 `B` 向右移動 2 欄變為 `D`。\n - 列 `1` 向下移動 2 列變為 `3`。\n - 因此,`B1` 變為 `D3`。\n4. 最終在 `D4` 的公式為 `=$A$1 + D3`。
如果愛麗絲(Alice)想使用公開金鑰加密技術(public key cryptography)向鮑勃(Bob)發送一條機密訊息,愛麗絲應該使用哪把金鑰來加密訊息?鮑勃應該使用哪把金鑰來解密它?
- A.愛麗絲用愛麗絲的公開金鑰加密;鮑勃用鮑勃的私有金鑰解密。
- B.愛麗絲用鮑勃的公開金鑰加密;鮑勃用鮑勃的私有金鑰解密。
- C.愛麗絲用鮑勃的私有金鑰加密;鮑勃用愛麗絲的公開金鑰解密。
- D.愛麗絲用愛麗絲的私有金鑰加密;鮑勃用愛麗絲的公開金鑰解密。
解題
為了確保機密性,只有預期的接收者(鮑勃)才能解密該訊息。由於鮑勃是唯一擁有鮑勃私有金鑰的人,發送者(愛麗絲)必須使用鮑勃的公開金鑰(公開可得)來加密訊息。鮑勃隨後使用他自己的私有金鑰來解密。
與傳統的光學條形碼相比,無線射頻識別(RFID)技術具有下列哪些優點?\n\n(1) 讀取 RFID 標籤時不需要直接的視線(line of sight)。\n(2) 可以同時掃描和識別多個 RFID 標籤。\n(3) RFID 標籤可以儲存較大量的數據,且許多標籤可以多次讀寫。
- A.僅 (1) 及 (2)
- B.僅 (1) 及 (3)
- C.僅 (2) 及 (3)
- D.(1)、(2) 及 (3)
解題
這三個描述都是 RFID 比起傳統條形碼的主要優點:\n- (1) RFID 使用無線電波,因此即使被遮擋或放在箱子內也能讀取,而條形碼需要光學直接視線。\n- (2) RFID 閱讀器可以同時掃描數百個標籤,而條形碼必須逐個掃描。\n- (3) RFID 標籤包含微晶片,可儲存更多數據且可更新/重寫,而印刷的條形碼是靜態不可更改的。
一名學生編寫了一個程序來計算三個正整數的平均值。該程序在沒有任何錯誤消息的情況下成功執行,但當輸入為 `3`、`5` 和 `7` 時,它打印出 `7` 而非 `5`。這是哪一類型的錯誤?
- A.語法錯誤 (Syntax error)
- B.運行時錯誤 (Runtime error)
- C.邏輯錯誤 (Logical error)
- D.編編錯誤 (Compilation error)
解題
當程序成功編譯並運行,且沒有崩潰,但產生了錯誤的輸出結果時,就會發生邏輯錯誤。在此案例中,程序可能錯誤地實現了平均值公式(例如:用 `A + B + C / 3` 代替了 `(A + B + C) / 3`,或其它計算順序錯誤導致輸出為 `7`)。由於沒有語法錯誤且程序沒有崩潰(運行時錯誤),這是一個邏輯錯誤。
錄製一條未壓縮的立體聲(2 聲道)音軌,其採樣率為 \(44.1 \text{ kHz}\),位元深度(bit depth)為 \(16 \text{ 位元}\)。一段 2 分鐘的錄音其檔案大小是多少百萬位元組(MB)?(假設 \(1 \text{ MB} = 10^6 \text{ 位元組}\))
- A.5.3 MB
- B.10.6 MB
- C.21.2 MB
- D.42.3 MB
解題
1. 識別參數:\n - 採樣率 = \(44.1 \text{ kHz} = 44,100 \text{ Hz}\)\n - 位元深度 = \(16 \text{ 位元} = 2 \text{ 位元組}\)\n - 聲道 = 2(立體聲)\n - 時間 = \(2 \text{ 分鐘} = 120 \text{ 秒}\)\n2. 計算總檔案大小(位元組):\n \(\text{檔案大小} = 44,100 \times 2 \text{ 位元組} \times 2 \text{ 聲道} \times 120 \text{ 秒}\)\n \(\text{檔案大小} = 44,100 \times 4 \times 120 = 21,168,000 \text{ 位元組}\)\n3. 轉換為 MB:\n \(21,168,000 \text{ 位元組} \div 10^6 \approx 21.17 \text{ MB}\)\n4. 這與 21.2 MB 相符(四捨五入至小數點後一位)。
一個 8 位元的暫存器使用二補碼表示法來表示有符號整數。二進制字串 \(11001011_2\) 所代表的十進制數值是多少?
- A.-53
- B.-52
- C.-75
- D.203
解題
二進制字串為 \(11001011_2\)。由於最高有效位元(MSB)為 1,它代表一個負數。要找出其數值大小,我們需計算其二補碼:1. 將所有位元取反(反碼):\(00110100_2\);2. 在結果加 1:\(00110100_2 + 1_2 = 00110101_2\)。\(00110101_2\) 的十進制值為 \(32 + 16 + 4 + 1 = 53\)。因此,有符號十進制值為 \(-53\)。
評分準則
答對 A 得 1 分。其他選項得 0 分。
以下哪些關於 CPU 快取記憶體(Cache memory)的描述是正確的? (1) 它的速度比 DRAM 快,但比 CPU 暫存器慢。 (2) 它使用靜態隨機存取記憶體(SRAM)。 (3) 它儲存最常用的數據和指令,以減少從主記憶體存取數據的平均成本。
- A.僅限 (1) 及 (2)
- B.僅限 (1) 及 (3)
- C.僅限 (2) 及 (3)
- D.(1)、(2) 及 (3)
解題
所有描述均正確。(1) 快取記憶體在速度上介於暫存器與主記憶體(DRAM)之間。(2) 快取記憶體使用靜態隨機存取記憶體(SRAM)來實現,因為它速度極快。(3) 快取記憶體的目的就是儲存經常使用的數據和指令,以減少從速度較慢的主記憶體中讀取所需的平均時間。
評分準則
答對 D 得 1 分。其他選項得 0 分。
一部電腦的 IP 地址為 \(192.168.10.45\),子網路遮罩為 \(255.255.255.224\)。以下哪一個 IP 地址與該電腦處於同一個本地子網路?
- A.\(192.168.10.30\)
- B.\(192.168.10.50\)
- C.\(192.168.10.65\)
- D.\(192.168.10.128\)
解題
子網路遮罩 \(255.255.255.224\) 將最後一個位元組分割成區塊大小為 \(32\) 的子網路(因 \(256 - 224 = 32\))。子網路範圍為:子網路 0:\(192.168.10.0\) 至 \(.31\);子網路 1:\(192.168.10.32\) 至 \(.63\);子網路 2:\(192.168.10.64\) 至 \(.95\) 等。由於電腦的 IP 是 \(192.168.10.45\),它屬於子網路 1(範圍為 \(.32\) 至 \(.63\))。在選項中,只有 \(192.168.10.50\) 落在子網路 1 的範圍內,其他選項則屬於不同的子網路。
評分準則
答對 B 得 1 分。其他選項得 0 分。
考慮以下虛擬碼片段: `X = 7`、`Y = 3`、`result = 0`。 `當 X > 0 時執行:` `如果 X % 2 != 0 則 result = result + Y`、`X = X div 2`、`Y = Y * 2`。 執行後,`result` 的值是多少? (註:`div` 代表整數除法,`%` 代表取模運算。)
- A.9
- B.15
- C.21
- D.24
解題
讓我們逐步追蹤循環:初始狀態:X = 7、Y = 3、result = 0。 第 1 次迭代:X > 0 (7 > 0) 為真。由於 7 % 2 != 0 為真,result = 0 + 3 = 3。X = 7 div 2 = 3。Y = 3 * 2 = 6。 第 2 次迭代:X > 0 (3 > 0) 為真。由於 3 % 2 != 0 為真,result = 3 + 6 = 9。X = 3 div 2 = 1。Y = 6 * 2 = 12。 第 3 次迭代:X > 0 (1 > 0) 為真。由於 1 % 2 != 0 為真,result = 9 + 12 = 21。X = 1 div 2 = 0。Y = 12 * 2 = 24。 第 4 次迭代:X > 0 (0 > 0) 為假。循環結束。最終 result 的值為 21。
評分準則
答對 C 得 1 分。其他選項得 0 分。
在試算表中,儲存格 B2 包含公式 `=$A2 + B$1`。如果將儲存格 B2 複製並貼上到儲存格 D4 中,儲存格 D4 中將會顯示甚麼公式?
- A.`=$A4 + D$1`
- B.`=$C4 + D$1`
- C.`=$A4 + B$1`
- D.`=$A2 + D$3`
解題
該公式包含混合單元格引用。當從 B2 複製到 D4 時,欄移動了 +2(B 到 D),列移動了 +2(2 到 4)。我們分析兩部分:1. `=$A2`:欄 A 是絕對引用(`$A`),因此保持 `$A`。列 2 是相對引用,增加 +2 變成 `4`。故變為 `=$A4`。 2. `+ B$1`:欄 B 是相對引用,向右移動兩欄變成 `D`。列 1 是絕對引用(`$1`),因此保持 `$1`。故變為 `+ D$1`。兩者結合得到 `=$A4 + D$1`。
評分準則
答對 A 得 1 分。其他選項得 0 分。
考慮兩個關聯資料庫數據表: `STUDENT`(`StudentID`, `Name`, `ClassID`),其中 `StudentID` 是主鍵,`ClassID` 是指向 `CLASS` 數據表的外鍵;以及 `CLASS`(`ClassID`, `ClassName`, `Teacher`),其中 `ClassID` 是主鍵。以下哪項操作會違反參照完整性(referential integrity)?
- A.在 `STUDENT` 中插入一條新記錄,其 `ClassID` 在 `CLASS` 數據表中並不存在。
- B.從 `STUDENT` 數據表中刪除一條記錄。
- C.在 `CLASS` 中插入一條具有新 `ClassID` 的新記錄。
- D.更新 `CLASS` 數據表中現有記錄的 `Teacher` 欄位。
解題
參照完整性要求子數據表中的任何外鍵欄位(在此例中為 `STUDENT` 中的 `ClassID`)必須與父數據表(`CLASS`)中的主鍵值相匹配,或者為空值。在 `STUDENT` 中插入一條新記錄,且其 `ClassID` 在 `CLASS` 數據表中並不存在,這違反了參照完整性,因為找不到對應的班級。其他選項(如刪除學生記錄、插入班級記錄、更新非主鍵欄位)皆不會違反參照完整性。
評分準則
答對 A 得 1 分。其他選項得 0 分。
Alice 想要向 Bob 發送一條加密訊息以確保機密性,同時她也想附上電子簽名以保證訊息的真實性(防偽冒)。為了同時實現機密性和真實性,Alice 應該使用哪些密鑰來加密訊息和創建電子簽名?
- A.使用 Bob 的公鑰加密訊息,並使用 Alice 的私鑰進行簽名。
- B.使用 Alice 的公鑰加密訊息,並使用 Bob 的私鑰進行簽名。
- C.使用 Bob 的私鑰加密訊息,並使用 Alice 的公鑰進行簽名。
- D.使用 Alice 的私鑰加密訊息,並使用 Bob 的公鑰進行簽名。
解題
為了確保機密性,必須只有 Bob 才能解密訊息,因此 Alice 必須使用 Bob 的公鑰來加密訊息。為了確保真實性(電子簽名),Alice 必須使用 Alice 的私鑰來對訊息進行簽名(加密哈希值),因為只有 Alice 擁有自己的私鑰,而任何人都可以用 Alice 的公鑰來驗證。因此,選項 A 正確。
評分準則
答對 A 得 1 分。其他選項得 0 分。
一個程式接受整數輸入 \(N\) 代表學生的分數(\(0 \le N \le 100\))。若 \(N \ge 50\) 則輸出「Pass」,否則輸出「Fail」。程式員希望進行邊界值分析(BVA)以設計測試個案。以下哪一組 \(N\) 的值最能代表邊界值測試個案?
- A.\(-1, 0, 49, 50, 100, 101\)
- B.\(0, 50, 100\)
- C.\(-10, 50, 150\)
- D.\(0, 1, 49, 50, 51, 99, 100\)
解題
邊界值分析(BVA)著重於輸入域邊界及判定門檻。有效輸入範圍 \([0, 100]\) 的邊界值為 0 和 100,因此需測試 \(-1\)(無效邊界)、\(0\)(有效邊界)、\(100\)(有效邊界)和 \(101\)(無效邊界)。判定及格與否的決策邊界為 \(50\),因此需要測試 \(49\)(剛低於邊界,不合格)和 \(50\)(剛好在邊界,合格)。因此,\(\{-1, 0, 49, 50, 100, 101\}\) 是最全面、最合適的測試數據組。
評分準則
答對 A 得 1 分。其他選項得 0 分。
以下哪一項是數據校對(verification)方法而非數據驗證(validation)方法的例子?
- A.雙重輸入
- B.值域檢查
- C.格式檢查
- D.校驗數位
解題
數據校對(Verification)是指檢查數據是否精確地從一個媒介複製或輸入到另一個媒介(例如將輸入的數據與原始來源文件進行比對)。雙重輸入(即同一份數據由兩個人或同一個人輸入兩次,並進行比對)是數據校對的主要方法。而值域檢查、格式檢查和校驗數位都是系統自動執行的數據驗證(Validation)方法,用以確認輸入的數據是否符合特定的系統限制或規則。
評分準則
答對 A 得 1 分。其他選項得 0 分。
以下哪些是射頻識別(RFID)技術相比條碼(Barcode)技術的優點? (1) 讀取 RFID 標籤時不需要直接的視線接觸。 (2) 可以同時掃描多個 RFID 標籤。 (3) RFID 標籤可儲存可讀寫數據,而傳統條碼則是唯讀的。
- A.僅限 (1) 及 (2)
- B.僅限 (1) 及 (3)
- C.僅限 (2) 及 (3)
- D.(1)、(2) 及 (3)
解題
所有描述均正確。(1) 與條碼需要光學視線對準掃描不同,RFID 標籤利用無線電波進行通訊,無需直接的視線接觸。(2) RFID 閱讀器可以同時辨識並讀取數百個標籤,而條碼必須逐個掃描。(3) 傳統的印刷條碼在印製後是唯讀且靜態的,而許多 RFID 標籤擁有可讀寫記憶體,允許對數據進行更新。
評分準則
答對 D 得 1 分。其他選項得 0 分。
在8位元二補碼二進制系統中,十進制數值 \(-43\) 的表示方式是什麼?
- A.11010101
- B.10101011
- C.11010100
- D.00101011
解題
1. 先將正數 \(+43\) 表示為 8 位元二進制:\(43 = 32 + 8 + 2 + 1 = 00101011_2\)。
2. 取一補碼(將所有位元反轉):\(11010100_2\)。
3. 加 1 以取得二補碼:\(11010100_2 + 1 = 11010101_2\)。因此,正確選項為 A。
關於電腦系統中的快取記憶體(Cache memory),以下哪項/些敘述是正確的?
(1) 快取記憶體比隨機存取記憶體(RAM)快,因為它位於處理器(CPU)附近或內部。
(2) 快取記憶體的容量比隨機存取記憶體(RAM)大,以存儲更多執行中的程序指令。
(3) 快取記憶體是非揮發性的,即使電腦斷電後也能保留數據。
- A.只有 (1)
- B.只有 (2)
- C.只有 (1) 及 (3)
- D.只有 (2) 及 (3)
解題
敘述 (1) 正確:快取記憶體使用高速的 SRAM,且物理位置更靠近或位於 CPU 內部,因此速度遠快於 RAM。
敘述 (2) 錯誤:快取記憶體造價昂貴且空間有限,其容量遠小於 RAM。
敘述 (3) 錯誤:快取記憶體是揮發性記憶體,斷電後數據會消失。因此,只有 (1) 正確。
考慮以下以偽代碼編寫的算法:
```
X = 14
Y = 4
result = 0
while X >= Y do
X = X - Y
result = result + 1
endwhile
```
執行該算法後,`X` 和 `result` 的值分別是多少?
- A.X = 0, result = 3
- B.X = 2, result = 3
- C.X = 2, result = 4
- D.X = 14, result = 3
解題
追蹤循環執行過程:
- 初始狀態:X = 14, Y = 4, result = 0
- 第 1 次迭代 (14 >= 4 為真):X = 14 - 4 = 10, result = 0 + 1 = 1
- 第 2 次迭代 (10 >= 4 為真):X = 10 - 4 = 6, result = 1 + 1 = 2
- 第 3 次迭代 (6 >= 4 為真):X = 6 - 4 = 2, result = 2 + 1 = 3
- 第 4 次檢查 (2 >= 4 為假):循環終止。
最後,X = 2 且 result = 3。
一家公司希望為其主機電腦分配 IP 地址。以下哪個 IP 地址可以分配給私有區域網絡(LAN)中的主機電腦?
- A.127.0.0.1
- B.192.168.1.0
- C.172.16.10.25
- D.224.0.0.1
解題
選項 A (127.0.0.1) 是本機環回(loopback)地址。
選項 B (192.168.1.0) 是網絡地址(主機位元全為 0),不能分配給主機。
選項 C (172.16.10.25) 位於 Class B 私有 IP 地址範圍內(172.16.0.0 至 172.31.255.255),是可分配給主機的有效地址。
選項 D (224.0.0.1) 是多播(multicast)地址。因此只有 C 正確。
電子試算表包含以下數據:
- 儲存格 A1: 10,儲存格 B1: 2
- 儲存格 A2: 20,儲存格 B2: 4
- 儲存格 A3: 30,儲存格 B3: 5
在儲存格 C1 中輸入公式 `=$A1+B$1`,然後複製到儲存格 D3。儲存格 D3 中顯示的數值是多少?
- A.32
- B.35
- C.42
- D.15
解題
1. 首先計算 C1 的值:`=$A1+B$1` 即為 `=A1 + B1` = 10 + 2 = 12。
2. 將公式從 C1 複製到 D3 時:
- 欄從 C 變為 D(向右移動 1 欄)。
- 列從 1 變為 3(向下移動 2 列)。
3. 在公式 `=$A1+B$1` 中:
- `$A` 為絕對欄引用,保持為 `$A`;列號 `1` 為相對引用,變為 `1 + 2 = 3`。因此 `$A1` 變為 `$A3`。
- `B` 為相對欄引用,向右移動 1 欄變為 `C`;`$1` 為絕對列引用,保持為 `$1`。因此 `B$1` 變為 `C$1`。
4. 儲存格 D3 中的公式變為 `=$A3+C$1`。
5. `$A3` 的值為 30,`C$1`(即儲存格 C1)的值為 12。因此,D3 = 30 + 12 = 42。
一個音頻檔案以 44.1 kHz 的取樣率、16 位元的解像度及雙聲道(立體聲)進行錄製。一個 5 分鐘的未壓縮錄音之估計檔案大小(以 MB 為單位)是多少?
- A.\(\frac{44100 \times 16 \times 2 \times 300}{8 \times 1024 \times 1024}\)
- B.\(\frac{44100 \times 16 \times 300}{8 \times 1024 \times 1024}\)
- C.\(\frac{44100 \times 16 \times 2 \times 5}{8 \times 1024 \times 1024}\)
- D.\(\frac{44100 \times 16 \times 2 \times 300}{1024 \times 1024}\)
解題
1. 取樣率 = 44,100 Hz。
2. 解像度 = 16 位元。
3. 聲道 = 2。
4. 時間 = 5 分鐘 = 300 秒。
5. 總位元數 = \(44100 \times 16 \times 2 \times 300\)。
6. 轉換為位元組(bytes):除以 8。
7. 轉換為 MB:除以 \(1024 \times 1024\)。
因此,表達式為 \(\frac{44100 \times 16 \times 2 \times 300}{8 \times 1024 \times 1024}\) MB。
在機器週期的獲取(Fetch)階段,哪個暫存器存儲下一個要執行的指令之記憶體地址?
- A.程序計數器 (PC)
- B.指令暫存器 (IR)
- C.記憶體地址暫存器 (MAR)
- D.累加器 (ACC)
解題
程序計數器 (PC) 用於記錄下一條將要執行指令的記憶體地址。指令暫存器 (IR) 保存當前正在執行的指令。記憶體地址暫存器 (MAR) 保存當前正被訪問的記憶體地址。累加器 (ACC) 則用作存放算術運算的中間結果。
一個包含 1,000 個元素的陣列已按升序排序。如果我們使用二分搜尋(Binary Search)算法在該陣列中搜尋特定的目標值,最多需要進行多少次比較?
- A.10
- B.500
- C.1,000
- D.1,024
解題
二分搜尋法每次將搜尋範圍折半。搜尋大小為 \(N\) 的有序列表,最大比較次數為 \(\lfloor\log_2(N)\rfloor + 1\)。對於 \(N = 1000\),由於 \(2^9 = 512 < 1000 \le 1024 = 2^{10}\),因此最壞情況下需要的比較次數為 10 次。
當智能手機連接到公共 Wi-Fi 網絡時,哪個協定負責自動向該設備分配臨時 IP 地址、子網遮罩和預設閘道?
- A.DNS
- B.DHCP
- C.HTTP
- D.ARP
解題
DHCP(動態主機配置協定)負責自動向客戶端設備分配 IP 地址、子網遮罩、預設閘道等網絡參數。DNS 用於解析網域名稱。HTTP 用於網頁傳輸。ARP 用於將 IP 地址映射到實體 MAC 地址。
為確保數據庫中輸入數據的準確性,開發人員實施了以下兩項措施:
(1) 在註冊時輸入兩次密碼以確保它們一致。
(2) 檢查輸入的年齡是否為 0 至 150 之間的正整數。
請問 (1) 和 (2) 分別屬於哪種類型的數據檢查?
- A.(1) 數據校驗;(2) 數據校驗
- B.(1) 數據校驗;(2) 數據驗證
- C.(1) 數據驗證;(2) 數據校驗
- D.(1) 數據驗證;(2) 數據驗證
解題
措施 (1) 涉及兩次輸入相同的數據以檢查人為輸入錯誤,這是數據驗證(雙重輸入檢查)的一種方法。
措施 (2) 涉及在系統中設置規則(範圍校驗和數據類型校驗)以確保輸入值在合理範圍內才被接受,這是數據校驗。
因此,(1) 是數據驗證,(2) 是數據校驗。
一個 8 位元暫存器以二補碼表示法儲存整數。若將 \(-18\) 與 \(35\) 的二補碼表示進行按位元異或(XOR)運算,然後將結果解讀為有符號的 8 位元整數,其十進制數值是多少?
- A.-51
- B.-53
- C.51
- D.-17
解題
首先,將 \(-18\) 和 \(35\) 轉換為 8 位元有符號二補碼表示:
\(-18\):\(+18\) 是 00010010。一補碼是 11101101。二補碼是 11101110。
\(35\):\(+35\) 是 00100011。
按位元 XOR 運算:
11101110 XOR 00100011 = 11001101。
將 11001101 解讀為有符號 8 位元整數:
由於最高有效位元(MSB)為 1,這是一個負數。通過求其二補碼來找出其絕對值:
11001101 -> 減去 1:11001100 -> 反轉位元:00110011(即十進制的 51)。
因此,十進制數值為 \(-51\)。
考慮以下虛擬碼:
`X = 0`
`For I from 1 to 4:`
` For J from I to 4:`
` If (I + J) is even then:`
` X = X + I`
` Else:`
` X = X + J`
執行完上述算法後,`X` 的值是多少?
- A.20
- B.24
- C.26
- D.30
解題
追蹤嵌套循環:
- I = 1:
- J = 1: I+J = 2 (偶數) -> X = 0 + 1 = 1
- J = 2: I+J = 3 (奇數) -> X = 1 + 2 = 3
- J = 3: I+J = 4 (偶數) -> X = 3 + 1 = 4
- J = 4: I+J = 5 (奇數) -> X = 4 + 4 = 8
- I = 2:
- J = 2: I+J = 4 (偶數) -> X = 8 + 2 = 10
- J = 3: I+J = 5 (奇數) -> X = 10 + 3 = 13
- J = 4: I+J = 6 (偶數) -> X = 13 + 2 = 15
- I = 3:
- J = 3: I+J = 6 (偶數) -> X = 15 + 3 = 18
- J = 4: I+J = 7 (奇數) -> X = 18 + 4 = 22
- I = 4:
- J = 4: I+J = 8 (偶數) -> X = 22 + 4 = 26
因此,X = 26。
某電腦系統進行升級,其數據總線寬度從 32 位元增加到 64 位元,而時鐘頻率則從 \(3.2 \text{ GHz}\) 降低到 \(2.0 \text{ GHz}\)。假設 CPU 每個總線週期可讀取一個字(word),且所有其他因素保持不變。新系統數據總線的理論最大數據傳輸率與舊系統的比例是多少?
- A.0.625
- B.0.8
- C.1.25
- D.1.6
解題
理論最大數據傳輸率 = 總線寬度(以字節為單位)* 時鐘頻率。
對於舊系統:
總線寬度 = 32 位元 = 4 字節。
傳輸率_舊 = 4 字節 * 3.2 GHz = 12.8 GB/s。
對於新系統:
總線寬度 = 64 位元 = 8 字節。
傳輸率_新 = 8 字節 * 2.0 GHz = 16.0 GB/s。
比例 = 16.0 / 12.8 = 1.25。
一個機構獲分配了 IP 地址範圍 192.168.10.0/24。如果他們需要將該網絡劃分為 4 個大小相同的子網,以下哪項表示正確的子網掩碼以及每個子網中可用主機 IP 地址的最大數量?
- A.子網掩碼:255.255.255.192,可用主機:62
- B.子網掩碼:255.255.255.192,可用主機:64
- C.子網掩碼:255.255.255.224,可用主機:30
- D.子網掩碼:255.255.255.224,可用主機:32
解題
若要將一個 C 類網絡 /24 劃分為 4 個大小相同的子網,我們需要從主機部分借用 2 位元(因為 2^2 = 4)。這使前綴從 /24 變為 /26。
- 子網掩碼:/26 對應於 255.255.255.192。
- 每個子網的總 IP 地址數 = 2^(32-26) = 2^6 = 64。
- 每個子網的最大可用主機 IP 地址數 = 64 - 2 = 62(因為網絡地址和廣播地址不能分配給主機)。
在電子試算表中,單元格 A1 包含公式 `=$B1+C$2`。若將此公式複製並貼上到單元格 D3 中,D3 中的公式會是什麼?
- A.=$B3+F$2
- B.=$E3+F$2
- C.=$B3+C$2
- D.=$E1+C$2
解題
將公式複製到新單元格時:
- 絕對引用(由 $ 指示)保持不變。
- 相對引用會根據源單元格與目標單元格之間的距離進行偏移。
從 A1 到 D3 的偏移為 +3 個欄(A 到 D)和 +2 個列(1 到 3)。
- `$B1`:欄 B 是絕對的 ($B),因此保持 $B。列 1 是相對的,因此偏移 +2 變為 3。因此,`$B1` 變為 `$B3`。
- `C$2`:欄 C 是相對的,因此偏移 +3 變為 F。列 2 是絕對的 ($2),因此保持 $2。因此,`C$2` 變為 `F$2`。
因此,D3 中的公式為 `=$B3+F$2`。
愛麗絲(Alice)想使用非對稱密鑰加密技術向鮑勃(Bob)發送一份機密且附有數碼簽署的文件。愛麗絲應分別使用哪些密鑰來簽署文件和加密文件?
- A.愛麗絲的私鑰進行簽署,鮑勃的公鑰進行加密
- B.愛麗絲的公鑰進行簽署,鮑勃的私鑰進行加密
- C.鮑勃的私鑰進行簽署,愛麗絲的公鑰進行加密
- D.鮑勃的公鑰進行簽署,愛麗絲的私鑰進行加密
解題
對於數碼簽署,發送方(Alice)使用其私鑰對文件進行簽署,以確保真實性和不可否認性,任何人都可以使用 Alice 的公鑰進行驗證。
對於機密性,發送方使用接收方(Bob)的公鑰對文件進行加密,以確保只有擁有相應私鑰的 Bob 才能解密和閱讀該文件。
關於磁碟重組(disk defragmentation),以下哪些敘述是正確的?
(1) 它能減少固態硬碟(SSD)讀寫頭移動的物理距離,從而延長其壽命。
(2) 它將碎片化的檔案重新整理至連續的磁區,以提高硬碟(HDD)的檔案存取速度。
(3) 它透過壓縮系統檔案來增加磁碟未使用的總儲存容量。
- A.只有 (1)
- B.只有 (2)
- C.只有 (1) 和 (3)
- D.只有 (2) 和 (3)
解題
(1) 是錯誤的,因為固態硬碟(SSD)沒有物理讀寫頭,對其進行磁碟重組會磨損快閃記憶體並縮短其壽命。
(2) 是正確的,因為當檔案碎片化分布在不連續的磁區時,硬碟(HDD)的尋道時間會變慢。將它們重組到連續磁區能提高效能。
(3) 是錯誤的,原因在於磁碟重組僅重新排列現有檔案的物理磁區使其連續,並不會壓縮檔案或增加總剩餘儲存空間。
在關係數據庫中,有兩個數據表:`STUDENT`(學生)和 `CLASS`(班級)。`CLASS` 的主鍵是 `ClassID`。`STUDENT` 數據表有一個外鍵 `ClassID` 引用 `CLASS` 數據表。以下哪些操作會違反參照完整性(referential integrity)?
(1) 在 `STUDENT` 中插入一條新記錄,其 `ClassID` 在 `CLASS` 中並不存在。
(2) 當仍有學生記錄引用該 `ClassID` 時,從 `CLASS` 中刪除一條記錄。
(3) 將某個學生的 `ClassID` 更新為 `NULL`(假設可空約束允許這樣做)。
- A.只有 (1)
- B.只有 (1) 和 (2)
- C.只有 (2) 和 (3)
- D.(1)、(2) 及 (3)
解題
(1) 違反參照完整性,因為外鍵值必須存在於被引用數據表的主鍵列中(或為 NULL)。
(2) 違反參照完整性,因為刪除父表(`CLASS`)中的記錄會使子表(`STUDENT`)中的匹配記錄變成孤兒記錄(沒有有效的引用主鍵值)。
(3) 沒有違反參照完整性,因為外鍵允許為 NULL(如果允許為空),這表示該學生不屬於任何班級。
以下哪些任務應使用伺服器端腳本(server-side scripting)而非用戶端腳本(client-side scripting)來處理?
(1) 在提交表單前,驗證電子郵件輸入欄位中是否包含 '@' 符號。
(2) 比對安全數據庫中的用戶憑證以進行用戶身份驗證。
(3) 安全地連接到支付網關 API 以處理信用卡交易。
- A.只有 (1)
- B.只有 (1) 和 (2)
- C.只有 (2) 和 (3)
- D.(1)、(2) 及 (3)
解題
(1) 可以很容易地在用戶端進行檢查,以提供即時回饋並改善用戶體驗,從而減輕伺服器負擔。
(2) 需要訪問包含安全雜湊密碼的數據庫。這必須在伺服器端進行,以防止未授權訪問數據庫憑證和客戶記錄。
(3) 涉及處理敏感憑證(API 金鑰)和處理金融交易。這必須在伺服器端進行,以保護 API 憑證並防止用戶端篡改。
與解釋型程序(interpreted programs)相比,編譯型程序(compiled programs)有哪些優點?
(1) 它們通常執行得更快,因為源代碼已預先被翻譯成機器代碼。
(2) 它們在運行時更容易調試(debug),因為錯誤會逐行被捕獲並顯示。
(3) 不需要向終端用戶發送源代碼,從而保護了知識產權。
- A.只有 (1) 和 (2)
- B.只有 (1) 和 (3)
- C.只有 (2) 和 (3)
- D.(1)、(2) 及 (3)
解題
(1) 是一個優點:編譯型代碼被翻譯成可由 CPU 直接執行的機器代碼,使其比運行時逐行解釋代碼快得多。
(2) 是一個缺點:解釋型程序可以逐行執行,當發生錯誤時,解釋器可以精確定位該行,使運行時調試更容易。
(3) 是一個優點:編譯型軟件是以二進制可執行文件形式分發的,這意味著開發人員不需要發布其原始源代碼,有助於保護知識產權。