程式設計基礎(虛擬碼追蹤)

下列程式反覆將 x 乘以3。執行後 n 的值為下列何者?

整數型: x ← 1, n ← 0
while (x < 100)
  x ← x × 3
  n ← n + 1
endwhile
  1. A4
  2. B5
  3. C6
查看答案與解析

正確答案:B. 5

把 x 與 n 的值寫成追蹤表,可以看出每次重複時 x 依序變為 3、9、27、81、243,n 每次加1。x = 81 時 x < 100 仍成立,因此再執行一次,得到 x = 243、n = 5。下一次判斷時 x < 100 為偽,離開迴圈。條件共判斷6次,但迴圈內的處理只執行5次。

  • A. 這是在不超過100的最後一個值81就停止時的次數。x = 81 時條件仍為真,所以會再執行一次。
  • B. 正確。x 變為 3、9、27、81、243,共5次。
  • C. 這是條件的判斷次數。最後一次判斷(x = 243)時不執行迴圈內的處理。
練習這個領域 前往領域頁面

相關計算工具

程式設計基礎(虛擬碼追蹤)的其他題目

  1. 下列 for 迴圈每次讓 i 增加2。執行後 s 的值為下列何者?
  2. 下列雙重迴圈中,內層迴圈的初值由外層變數 i 決定。執行後 c 的值為下列何者?
  3. 下列程式在雙重迴圈中有條件分支。執行後 c 的值為下列何者?
  4. 為了求陣列 a 所有元素的總和而寫了下列程式。陣列的元素編號從1開始。執行後 s 的值為下列何者?
  5. 陣列的元素編號從1開始。下列程式尋找最大的元素。執行後 m 的值為下列何者?