108 中興資工所軟體考點分析
甲組考「資訊概論」,PART 1(50%)是軟體部分:C 語言輸出 5 題選擇+分頁、Excess_127、符號大小表示法與四段程式的 Big-O。PART 2 計組每題答錯倒扣 3 分。
題型與配分
系所「資訊科學與工程學系 甲組」,科目:資訊概論,全卷 5 頁、100 分,不得使用計算機。
112 年以前中興甲組沒有獨立的「資料結構與演算法」考科,軟體的內容全部包在「資訊概論」這一科裡,與計算機組織合卷。要練中興軟體,108–111 這四年就是看這一科。
| 區段 | 內容 | 題數 | 配分 | 倒扣 |
|---|---|---|---|---|
| PART 1 Introduction to Computer Science | A. 選擇題 | 8 題 | 24%(每題 3 分) | 無 |
| B. 簡答題 | 4 大題 | 26% | — | |
| PART 2 Computer Organizations | 選擇題 | 10 題 | 50%(每題 5 分) | 答錯倒扣 3 分、空白 0 分 |
PART 2 的倒扣是全卷最危險的設計:答對 +5、空白 0、答錯 −3。四選一亂猜的期望值是 (5 − 3×3)/4 = −1 分,沒把握就該留空白。這與同校數學科是非題「答錯 −1、期望值為正」的邏輯完全相反,不要把兩科的猜題策略搞混。
PART 1 選擇題(1–8,各 3 分)
前五題全是 C 語言的程式輸出,這是中興 108 年最集中的一塊:
- 第 1 題|
a是陣列、aPtr是指向它的指標,問第 k 個元素的位址該怎麼寫(&aPtr[k]與*(a+k)的差別 —— 一個是位址、一個是值) - 第 2 題|二維陣列的位址計算:
student[100][4]、student[1][1]存在位址 1000、每個元素佔 1 格、row-major,求student[5][3]的位址 - 第 3 題|
char str[25] = "Excellent"; printf("%s", str+2);的輸出(指標加法在字串上的效果 →cellent) - 第 4 題|
int arr[] = {12,13,14,15,16};的sizeof(arr)、sizeof(*arr)、sizeof(arr[0])(20, 4, 4 —— 陣列名與元素的 sizeof 差別) - 第 5 題|
i=-3, j=2, k=0,m = ++i && ++j || ++k;後四個變數的值。考&&/||的短路求值:++i得 −2(為真)、++j得 3(為真),&&成立後||直接短路,++k不會執行 - 第 6 題|哪一種走訪「左子樹最後處理」(preorder/inorder/postorder 都不是,答案是 none of the above)
- 第 7 題|作業系統對行程設下資源限制是為了避免什麼(deadlock)
- 第 8 題|四個動作分別由 TCP/IP 的哪一層負責:送 frame 到下一節點、把 packet 從來源送到目的、把長訊息從來源電腦送到目的電腦、登入遠端電腦
PART 1 簡答題(26%)
- 第 1 題(4%)|分頁:可用記憶體 100 MB 切成 25 個 frame(每個 4 MB),三支程式分別要 13、17、30 MB。(a) 2%:剩幾個 frame 沒用到;(b) 2%:記憶體浪費的百分比(重點是內部碎裂:13 MB 要佔 4 個 frame、17 MB 要 5 個、30 MB 要 8 個)
- 第 2 題(6%)|Excess_127 格式:把
11001010000000000111000100001111轉成十進位。要分辨 Excess_127 與 IEEE 754 的指數偏移差一 - 第 3 題(8%)|8-bit 符號大小表示法(sign-and-magnitude):(a) 19−23、(b) −19−23,先轉成符號大小表示、做完運算再轉回十進位。注意符號大小法有 +0 與 −0 兩個零,減法不能直接用二補數的做法
- 第 4 題(8%)|四段程式的 Big-O:(A) 單層迴圈的內積 → O(n);(B) 遞迴階乘 → O(n);(C) 迴圈版階乘 → O(n);(D) 二分搜尋 → O(log n)
PART 2 計算機組織(50%,答錯倒扣 3 分)
雖然是硬體範圍,但同一節考、同一張答案卡,佔一半的分數,不能放掉:
- 第 1 題|CPU time = Instruction count × CPI × Clock cycle time,問 clock cycle time 受哪個因素影響
- 第 2 題|程式在 2 GHz 的 A 機跑 20 秒,B 機要跑 10 秒但需要 1.5 倍的 cycle 數,求 B 機的頻率(6 GHz)
- 第 3 題|定址模式哪一個敘述錯誤(PC-relative/register indirect/immediate/base-displacement)
- 第 4 題|分支結果 T-T-N-T-T-N-T,2-bit predictor 從 weakly not taken 開始,問對幾題錯幾題
- 第 5 題|2 GHz、base CPI 1.0、主記憶體 100 ns、miss rate 2%,求總 CPI(100 ns = 200 cycles,200 × 2% = 4,總 CPI = 5.0)
- 第 6 題|reservation station 的定義(與 branch prediction buffer、reorder buffer、TLB 四個名詞辨義)
- 第 7 題|cache 64K words、block 8 words、word 4 bytes、32-bit 位址、8-way set associative,求 tag 長度
- 第 8 題|f(x1,x2,x3) = Σm(1,2,3,5) 的最簡 SOP(卡諾圖)
- 第 9 題|write-back 的哪個敘述不是它的關鍵特性
- 第 10 題|各單元延遲(記憶體 200 ps、ALU 100 ps、暫存器 50 ps),求 R-type/Load word/Jump 的執行時間
這份考卷的難點
- PART 2 的「答錯 −3」讓亂猜變成負期望值。四選一每題期望值 −1 分,十題全猜平均掉 10 分。要先把有把握的題目做完,剩下的寧可空白。
- 第 5 題的短路求值是最容易錯的一題。
++i && ++j || ++k:很多人會把三個變數都加一,但||在左邊為真時根本不會求值右邊,k維持 0。 - 第 2 題的 row-major 位址要注意題目說
student[1][1]在 1000(索引從 1 開始,不是 0)。算錯起點就整題錯 —— 而且這題在 112 年的「資料結構與演算法」原封不動重考一次。 - 第 3 題的符號大小表示法不是二補數。禁用計算器下要手動處理符號位元與絕對值相減,順序弄反就是答案的正負號錯。
準備建議
- 112 年以前中興甲組的軟體就在「資訊概論」裡,練習時 108–111 這四年要一起看,內容涵蓋 C 語言、資料結構、演算法、作業系統
- C 語言的程式輸出題是中興的招牌:指標運算、
sizeof、短路求值、字串指標 —— 108 年一次考五題,113 年的申論題也考指標與前置遞增 - PART 2 的倒扣策略要先想好:答錯 −3 分,這是八所裡最兇的單題倒扣,進場先確認當年度規則
- row-major 二維陣列位址計算在中興出現兩次(108 資訊概論、112 資料結構與演算法),公式要背熟
- 作業系統的分頁與內部碎裂、TCP/IP 分層在 109、110、111 三年持續出現,是資訊概論的固定班底