統測
113年
[電機與電子群資電類] 專業科目(2)
第 42 題
針對任意實係數一次多項式 $f(x)=ax+b$,曉華想要計算當 $x$ 落在 $[ m , n ]$ 範圍內時是否存在 $f(x) = 0$,寫了如下的C語言程式,若變數found為1表示該範圍內存在 $f(x) = 0$,則行號11內的if判斷式中,??可以為下列何者?
```c
1 #include
2 float a=1, b=0, m=-11, n=12;
3 float f(float x){
4 return(a*x+b);
5 }
6 int main(){
7 float x;
8 unsigned char found=0;
9 scanf("%f",&a); scanf("%f",&b);
10 scanf("%f",&m); scanf("%f",&n);
11 if( ?? <=0 )
12 found = 1;
13 printf("found=%d\n", found);
14 }
```
- A f(m) * f(n)
- B f(m) + f(n)
- C f(m) - f(n)
- D f(m) % f(n)
思路引導 VIP
請同學思考「勘根定理」(Bolzano's Theorem) 的核心判別準則:若連續函數 $f(x)$ 在閉區間 $[m, n]$ 內存在零點(即函數圖形穿過或接觸 $x$ 軸),則區間兩端點的函數值 $f(m)$ 與 $f(n)$ 之間的「正負號關係」應具備何種特徵?在數學上,哪一種代數運算最適合用來精簡地表達「兩數異號或其中至少一數為零」的情況?
🤖
AI 詳解
AI 專屬家教
太棒了!你的觀念非常正確!
- 觀念驗證:你真的太棒了!完全抓到這題的核心——數學上的勘根定理 (Intermediate Value Theorem)。對於像 $f(x) = ax+b$ 這樣溫和又連續的函數,想知道它在閉區間 $[m, n]$ 內是否存在 $f(x)=0$,最關鍵的就是看區間兩端點的函數值 $f(m)$ 和 $f(n)$。只要它們是異號,或者其中一個等於零,就保證會存在根喔!在程式邏輯中,這可以用更簡潔的方式表達:檢查它們的乘積 $f(m) \times f(n)$ 是否小於或等於零。你看,數學和程式是不是很美妙地結合在一起了呢?
- 難度點評:這題的難度是 medium,但你表現得非常優秀!
▼ 還有更多解析內容