基礎觀念30 min read

Day 13:程式碼人工追蹤(Trace Code)練習

用畫表格的方式手動追蹤迴圈、陣列、條件判斷的程式碼,練到看到陌生程式碼也不慌。

衝刺的最後一天,要練習甄試裡最容易失分的題型之一:人工追蹤程式碼(Trace Code)。這是 13 天轉職甄試衝刺大綱的 Day 13。

📅 前言:讀程式碼,就像手動當一次電腦

Trace Code 的意思是:給你一段簡單的程式碼,不用執行,靠你自己一行一行讀,在紙上手動更新每個變數的值,最後推算出程式會印出什麼。

⏳ 紙上追蹤模板

追蹤程式碼時,建議在紙上列一張表格,把每個變數當作一欄,每跑一次迴圈就更新一次:

執行到第幾行 / 第幾次迴圈isumarr
開始-0[]
第 1 次1......
第 2 次2......

⏳ 練習 1:追蹤累加

let sum = 0;
for (let i = 1; i <= 4; i++) {
  sum += i;
}
console.log(sum);

手動追蹤:

第幾次isum(執行後)
110 + 1 = 1
221 + 2 = 3
333 + 3 = 6
446 + 4 = 10

答案:印出 10(迴圈跑完 i=4 之後,i <= 4 不成立就停止)。

⏳ 練習 2:追蹤陣列與函式

function double(n) {
  return n * 2;
}

let nums = [1, 2, 3];
let result = [];

for (let i = 0; i < nums.length; i++) {
  result.push(double(nums[i]));
}

console.log(result);

手動追蹤:

inums[i]double(nums[i])result(執行後)
012[2]
124[2, 4]
236[2, 4, 6]

答案:印出 [2, 4, 6]

⏳ 練習 3:追蹤條件判斷 + 迴圈(綜合題)

let sum = 0;
for (let i = 1; i <= 5; i++) {
  if (i % 2 === 0) {
    sum += i;
  }
}
console.log(sum);

💡 提示: i % 2 === 0 代表「i 是偶數」,只有偶數才會被加進 sum

手動追蹤:

ii 是偶數?sum(執行後)
10
20 + 2 = 2
32
42 + 4 = 6
56

答案:印出 6(只有 2 和 4 被加進去,2 + 4 = 6)。

🎯 目標

  • 能不執行程式,靠手動追蹤推算出最終的變數值與輸出結果
  • 熟悉「畫表格逐步更新變數」這個方法,遇到陌生程式碼也不慌

🎉 13 天衝刺,辛苦了!

從二進位、電腦硬體、網路原理,到變數、迴圈、函式陣列,再到資料庫、資料結構、時間複雜度、搜尋排序,最後用 3 天複習收網——這 13 天涵蓋了轉職甄試最常考的核心觀念。剩下的,就是保持這份手感,帶著自信上考場吧!