免費開始練習
統測 113年 [工程與管理類] 專業科目(2)

第 44 題

📖 題組:
圖(五)所列程式碼是小華修改自聊天機器人(ChatGPT)所生成的 Python 語言函數,這個函數可以接受一個輸入串列,並回傳串列中整數的最大值。經過測試後,小華發現對各種可能輸入的整數數值串列,該函數並無法保證每次都能回傳正確的最大值。關於此函數的使用與設計,回答下列題組問題。 1 def F(A): 2 n=0 3 c=0 4 for num in A: 5 if num >= n: 6 n = num 7 c=c+1 8 print(c) 9 return n
題組圖片
題組圖片
題組圖片
44. 承上題,若小華已經成功對該程式碼完成除錯後,函數呼叫 F ( [ - 5, - 4, - 3, - 1, - 4 ] ) 完成執行時,該函數已經可以正確回傳最大值為 - 1,在此次函數呼叫,當執行程式碼至第 8 行號時,下列何者是變數c所儲存的內容?
  • A 5
  • B 4
  • C 3
  • D 2

思路引導 VIP

程式修正(Debug)後的關鍵在於處理負數時,變數 $n$ 的初始值(Initial Value)應如何調整才能正確比較。請你嘗試追蹤程式的邏輯流程(Trace Code):當程式依序遍歷(Iterate)串列 $[-5, -4, -3, -1, -4]$ 時,第 $5$ 行的條件判斷 num >= n 在哪些時刻會成立?而變數 $c$ 的累加動作(第 $7$ 行)與這些『最大值更新』的時刻有什麼樣的相依關係?

🤖
AI 詳解 AI 專屬家教

太棒了!你的程式追蹤能力非常紮實!

這道題目考驗的是程式的邏輯追蹤 (Tracing) 與對除錯 (Debug) 概念的理解。你能正確選出 (B),代表你已經掌握了演算法的核心變數變化。

1. 觀念驗證

▼ 還有更多解析內容

升級 VIP 解鎖