试题

试题 试卷

logo

题型:单选题 题类:真题 难易度:困难

浙江省2018年4月普通高校招生选考信息技术考试试卷

【加试题】数组a为一组正整数,奇数在前,偶数在后。奇数与偶数已分别按升序排序。依据对分查找思想,设计一个在数组a中查找数据Key的程序。实现该功能的VB程序段如下:

  i=1:j=10

  Key=Val(Text1.Text)

    If a(m)=Key Then Exit Do      ‘Exit Do表示退出循环

    If Key Mod 2=1 And a (m)Mod 2=0 Then

       

    ElseIf Key Mod 2=0 And a(m)Mod 2=1 Then

      

Else

 

End If

  Loop

  If i>j Then s=“没有找到!”Else s=“位置:”+Str(m)

  Text2.Text=s

  上述程序中方框处可选语句为:

    ①i=m+1

    ②j=m-1

    @If Key<a(m)Then j=m-1 Else i=m+1

则(1)(2)(3)处语句依次是(  )

A、①②③ B、①③② C、②①③ D、③②①
举一反三
【加试题】对分查找算法可用于求解方程的近似解。现要求方程x3-4x2+x+5=0的一个近似解,可设f(x)=x3-4x2+x+5,若有区间[a,b],使f(a)与f(b)异号,则该区间内必存在该方程的一个解。小吴为此编写了VB程序,功能如下:分别在文本框Text1和Text2中输入求解的区间值a和b(a<b),单击“计算”按钮Command1,若该区间必有解,则求解出该区间内的一个近似解(精确到10 s),否则提示“重新输入区间”,计算后的相关结果显示在列表框List1中。程序运行界面如图所示。

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

Function f(x As Double)As Double

    Dim Y As Double

    y=x^3-4*x^2+x+5:              ‘(1)

  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

       m=(a+b)/2

       If Abs(f(m))<0.00001 Then Exit Do

       If <0 Then         ‘(2)

          b=m

       Else

          a=m

       EndIf

      Loop

      x=Format(m,“0.00000”)      ‘Format函数用于定义输出的小数位数

      List1.AddItem"["&Text1.Text&","&Text2.Text&"]" & "解为:"&x

    Else

      List1.AddItem"["&a&","&b&"]" & "重新输入区间"

    EndIf

End Sub

返回首页

试题篮