当前位置: 高中信息技术 / 综合题
  • 1. (2019·浙江模拟) 【加试题】对于函数f(x),若在某区间[a,b)内是单调函数,且其图像与x轴有交点,则存在一个x1使得f(x1)=0,我们可以设法找到x1的值。满足上述条件的区间[a,b)和函数f(x)必定有f(a)·f(b)<=0,我们设计如下算法:

    第一步:区间中点m=

    第二步:若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b),将新得到的含零点的区间仍记为[a,b]。

    第三步:判断[a,b)的长度是否小于一个足够小的值d。若是,则m是方程的近似解;否则,返回第一步。

    于是我们设计函数f(x)=x2-c,用此算法求出任意非负常数c的非负平方根。程序运行效果如下图所示,程序中还输出了区间的左右端点和区间长度值。

    实现上述功能的VB代码如下,但加框处代码有错,请改正。

    Const min As Single = 0.00005

    Dim c As Single

    Function fn(x As Single)As single

       fn = x*x - c

    End Function

    Private Sub Command1_Click()  '按钮上的程序

    Dim a , b , m As Single

    c = Val(Text1.Text)

    a = 0  : b = c

    Do While b-a > min

         ‘(1)

    List1.AddItem Str(a)&"    "&Str(b)&"    "&Str(b-a)

    If     Then      ‘(2)

             b = m

    Else

             a = m

    End If

    Loop

    Label2.Caption = Str(m)

    End Sub

    以上程序段运行时,为了实现上述功能,加框处代码应改正为:

    ;⑵

微信扫码预览、分享更方便