程式設計基礎(虛擬碼追蹤)
下列程式在雙重迴圈中有條件分支。執行後 c 的值為下列何者?
整數型: c ← 0
for (i 從 1 到 4 每次加 1)
for (j 從 1 到 i 每次加 1)
if (j mod 2 = 1)
c ← c + 1
endif
endfor
endfor
- A4
- B6
- C10
查看答案與解析
正確答案:B. 6
內層迴圈為 j = 1〜i,只有 j 為奇數時才使 c 增加。i = 1 時為 j = 1 的1次,i = 2 時為 j = 1 的1次,i = 3 時為 j = 1、3 的2次,i = 4 時為 j = 1、3 的2次,合計 1 + 1 + 2 + 2 = 6。內層的處理總共執行 1 + 2 + 3 + 4 = 10 次,其中滿足條件的是6次。這是在重複中放入條件分支的控制結構的基本組合。
- A. 這是計算 j 為偶數的次數。j mod 2 = 1 在 j 為奇數時為真。
- B. 正確。1 + 1 + 2 + 2 = 6 次。
- C. 這是忽略 if 條件、計算內層處理執行次數 1 + 2 + 3 + 4 的值。