试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省名校协作体2017-2018学年高三下学期信息技术11月联考试卷

【加试题】对于数组(形如a数组:4,5,6,1,2,3或b数组:1,2,3,4,5,6)称元素1为此二数组的拐点,为寻找此类递增或循环递增数组的拐点,可以用顺序查找和对分查找的方法,通常相比之下对分查找算法较优,以下为使用对分法查找拐点的算法。

做法是比较中点与当前查找范围第1个数大小关系,用对分法使查找范围逼近拐点;当余下数组只有两个元素时,可根据此二元素大小关系得到拐点的位置。

依据上述描述设计了VB程序,界面如图所示。请回答下列问题:

(1)、对于循环递增数组“9,10,11,12,13,14,15,16,17,18,19,20,1,2,3,4,5,6,7,8”,代码中加框处执行的次数为次。
(2)、请在画线处填入合适的代码。

Dim a(1 To 20)As Integer

Private Sub Command1_Click()

  Dim Low As Integer,High As Integer

  Low=1

  High=20

  Do While High>Low

    If    ①     Then

       If    ②     Then

       Label1.Caption=“拐点元素为”+Str(a(1))+“,下标为”+Str(1)

       Else

         Label1.Caption=“拐点元素为”+Str(a(High))+”,下标为”+Str(High)

      End If

      Exit Do

      End If

    m=(Low+High)\2

    If a(m)>=a(Low)Then

    Low=m

    Else

        ③     

  End If

  Loop

End Sub

Private Sub Form_Load()

‘生成循环递增的数组a,代码略

End Sub

 ② ③ 

举一反三
返回首页

试题篮