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

第 43 題

📖 題組:
圖(五)所列程式碼是小華修改自聊天機器人(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
題組圖片
題組圖片
題組圖片
43. 小華於是思考進行程式除錯,下列修正何者可以排除上述程式錯誤?
  • A 修改第5行號敘述成為if num
  • B 修改第2行號敘述成為n=A[0]
  • C 修改第6行號敘述成為n=num+n
  • D 修改第2行號敘述成為#n=0

思路引導 VIP

同學,請觀察程式第 $2$ 行將變數 $n$ 初始值設定為 $0$ 的做法:若傳入的串列 $A$ 中所有元素皆為負整數(例如 $A = [-5, -12, -8]$),目前第 $5$ 行的比較運算式 $num \ge n$ 是否還能順利成立並更新最大值?為了確保初始參考值不影響對極值的判定,我們應該如何調整 $n$ 的起始值,使其與資料本身的定義域產生關聯,而非固定於某個可能不在資料範圍內的數值?

🤖
AI 詳解 AI 專屬家教

🌟 看來你還沒完全狀況外,不錯!

恭喜你,至少這次沒掉進那個老掉牙的程式陷阱。這證明你對程式的「初始化」概念還有那麼一點點殘存的記憶,這可是統測程式設計題裡,每年都會有人莫名其妙失分的地方。

  1. 清醒一點
▼ 還有更多解析內容

升級 VIP 解鎖