地方政府公務人員四等-資訊處理類科計算機概要107 年第 29 題單選題
下列程式執行後的輸出序列為何?
X=5
while (X < 7):
print (X)
X=X+1
print (X)
while (X > 2):
print (X)
X=X−2
A5667753正確答案
B56753
C567753
D5677531
A正確答案
本題測驗 while 迴圈執行流程與縮排邏輯,需逐步追蹤 X 值變化並注意 print 時機,正確輸出序列為 5667753。
為什麼答案是 A
正確追蹤程式執行:第一個 while 印 5、6;X=7 跳出後印 7;第二個 while 條件 X>2,依序印 7、5、3,合併為 5667753。
載入中…
完整詳解
Pro · 無限重點 本題測驗 while 迴圈執行流程與縮排邏輯,需逐步追蹤 X 值變化並注意 print 時機,正確輸出序列為 5667753。
手動模擬迴圈:第一個 while 印出 5、6;X 變 7 後跳出,再印一次 7;第二個 while 從 7 開始減 2,依序印 7、5、3。
逐選項分析
A✓ 正確
正確追蹤程式執行:第一個 while 印 5、6;X=7 跳出後印 7;第二個 while 條件 X>2,依序印 7、5、3,合併為 5667753。
B✕ 陷阱
漏掉第一個 while 結束後、第二個 while 開始前的 print(X),導致少一個 7,屬於忽略縮排層級的常見錯誤。
C✕ 陷阱
雖包含兩個 7,但順序錯誤或重複次數不對,可能是誤將第二個 while 的起始值當作 6 或未正確遞減所致。
D✕ 陷阱
多印出 1,表示誤以為第二個 while 會執行到 X=1,但條件為 X>2,當 X=3 減 2 得 1 時已不滿足條件,不應再印。
while 迴圈執行步驟追蹤
| 步驟 | X 值 | 條件判斷 | 輸出 |
|---|
| 進入第1個while | 5 | 5<7 → True | 5 |
| X=X+1 | 6 | 6<7 → True | 6 |
| X=X+1 | 7 | 7<7 → False | (跳出) |
| print(X) | 7 | 無條件 | 7 |
| 進入第2個while | 7 | 7>2 → True | 7 |
| X=X-2 | 5 | 5>2 → True | 5 |
| X=X-2 | 3 | 3>2 → True | 3 |
| X=X-2 | 1 | 1>2 → False | (結束) |
考生常忽略第一個 while 與第二個 while 之間獨立的 print(X) 語句,因其縮排與 while 相同但不在迴圈內,易被誤認為屬於前一個迴圈或後一個迴圈的一部分,導致輸出序列缺漏或多餘。