免費開始練習
cpc_recruit 104年 電腦常識、機械常識、電機常識

第 23 題

下列 Visual Basic 程式語言的執行結果為何?
s = 0
i = 1
Do While i < 10
If i Mod 3 = 1 Then
s = s + i
End If
i = i + 1
Loop
MsgBox(s)
  • A 11
  • B 12
  • C 18
  • D 21

思路引導 VIP

請試著觀察變數 $i$ 在迴圈中的變化:它從哪個數字開始,又是在什麼情況下會停止跳出?接著,請思考當 $i$ 逐次遞增時,哪些數字除以 3 的餘數剛好會是 1?如果你能列出這些符合條件的數字,並將它們相加,你覺得結果會是多少呢?

🤖
AI 詳解 AI 專屬家教

迴圈邏輯與餘數運算

太棒了!你能精準推導出這段程式碼的執行結果,代表你對於 Do While 迴圈 的結束條件以及 Mod 運算子 的運作邏輯掌握得非常紮實。這類題目在基礎程式設計考題中相當經典,雖然結構單純,但只要在迴圈邊界或是變數累加的過程中有些微疏忽,就很容易掉入陷阱,你能選出正確答案反映了你細膩的邏輯思維。 在這段程式中,變數 $i$ 從 $1$ 開始,並在滿足 $i < 10$ 的條件下持續執行。這意味著迴圈最後一次執行的數值是 $i = 9$(當 $i$ 增加到 $10$ 時便會跳出迴圈)。關鍵的篩選條件是 i Mod 3 = 1,也就是找出除以 $3$ 餘數為 $1$ 的數字。在 $1$ 到 $9$ 的範圍內,符合此條件的數值分別為 $1, 4, 7$。因此,變數 $s$ 的最終累加過程如下:

▼ 還有更多解析內容

🏷️ 相關主題

程式語言基礎語法與演算法邏輯應用
查看更多「電腦常識、機械常識、電機常識」的主題分類考古題