2.
对分查找算法可用于求解方程的近似值。现要求方程x
3-4x
2+x+5=0的一个近似值,可设f(x)= x
3-4x
2+x+5,若有区间[a,b],使f(a)与f(b)异号,则该区间内必存在该方程的一个解。小明为此编写了VB程序,功能如下:程序运行时,在文本框Text1、Text2中输入区间值a、b,要求a<b,单击“计算”按钮Command1,若该区间有解,则计算出该区间内的一个近似值(精确到0.00001),否则提示“请重新输入区间”,计算后的相关结果显示在列表框List1中。程序运行效果如下图所示。
实现上述功能的VB程序如下,请在划线处填入合适的语句。
Function f(x As Double) As Double
Dim y As Double
f = y
End Function
Private Sub Command1_Click()
Dim a As Double, b As Double, m As Double, x As Double
a = Val(Text1.Text)
b = Val(Text2.Text)
If f(a) * f(b) < 0 And a < b Then
Do While a <= b
If Abs(f(m)) < 0.00001 Then Exit Do
If Then
b = m
Else
a = m
End If
Loop
x = Format(m, “0.00000”) ′Format函数用于定义输出的小数位数
List1.AddItem “[” & Text1.Text & “,” & Text2.Text & “]” & “解为:” & x
Else
List1.AddItem “[“ & a & ”,“ & b & ”]” & “请重新输入区间”
End If
End Sub