题目
多数高次方程不存在求根公式,求精确根非常困难,因此寻找方程的近似根就显得特别重要。由于数轴上的点是有序的,所以我们可以用对分查找法找出高次方程在某一区间的实根,即:不断地将区间对分,使得区间中点的值不断逼近方程的根,当区间小于精度的时候我们就停止对分,并用此时区间的中点值作为方程的根。
现有三次方程y=5x^3-55x^2+170x-130,其函数图象如图所示:
观察该函数图象发现函数有一实根在区域(1.2)之间,因此我们取两者的中点m=(1+2)/2代入方程进行检测发现f(1.5)=18.125。因为f(1.5)>0,因此区间应该往左移动,得下一个区间(1,1.5)然后继续进行检测。如果区间差值≤误差率,则认为该中点是方程的根。根据上述方法描述设计一个VB求解程序的根,要求单击求解按钮Command1,在文本框Text1中显示方程的根,部分程序如下。
(1)
代码“PrivateSubCommand1_Click()”中的Command1_Click()是(单选,填字母:A.对象名/B.事件名/C.事件处理过程)
(2)
将划线处的代码补充完整。
PrivateSubCommand1_Click()
DimiAsDouble,jAsDouble,mAsDoubleDimrAsDouble,yAsDouble
i=1:j=2:y=1:r=j-iDoWhiley<>0Andr>0.00001
m=(i+j)/2
y=
Ify>0Then
j=m
ElseIfy<0Then
i=m
EndIf
Loop
Text1.Text=m
EndSub
答案: 【1】C
【1】5*m^3-55*m^2+170*m–130【2】r=j–i