试题

试题 试卷

logo

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

浙江省名校协作体2018届高三下学期信息技术3月选考试题

【加试题】对于数组(形如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

       

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

            Low = m

        Else

     ③     

        End If

    Loop

End Sub

Private Sub Form_Load()

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

End Sub

 ② ③ 

举一反三
返回首页

试题篮