当前位置: 高中信息技术 / 综合题
  • 1. (2021高三上·浙江开学考) 在100个小球中,只有一个小球轻于其它小球。如何用没有砝码的天平找出该小球?小安设计了一个三分查找程序来快速查找这个小球,程序认定当需查找的小球个数小于3个时,认为已找到,程序运行界面如图。

    Dim a(1 To 100) As Integer

    Private Sub Form_Load()

        '产生100个重量为10的小球,存储在数组a中

        '其中随机选取1个小球的重量改为8,代码略

    End Sub

    Private Sub Command1_Click()

        Dim left As Integer, right As Integer

        Dim mid As Integer, count As Integer

        Dim s(1 To 2) As Integer

        left = 1: right = 100: count = 1

        List2.AddItem Str(left) + "-------->" + Str(right)

        Do While  left<=right

            s(1) = 0: s(2) = 0

                ①   

            i = left: k = 1

            Do While i <= left + mid * 2 - 1

                s(k) = s(k) + a(i)

                If      ②    Then k = k + 1

                i = i + 1

            Loop

            If s(1) = s(2) Then

                left = left + 2 * mid

            ElseIf s(1) < s(2) Then

                right = left + mid - 1

            Else

                

                left = left + mid

            End If

            count = count + 1

            List2.AddItem Str(left) + "-------->" + Str(right)

        Loop

        List2.AddItem "经过" + Str(count) + "次后找到这个数"

    End Sub

    1. (1) 实线框处代码有错,请改正。
    2. (2) 请在划线处填入合适代码。

       ② 

    3. (3) 根据上述程序代码,若将虚线框处的两行代码交换一下顺序,则查找结果是(单选,填字母:A .下标越界  /B .找到这个数 /C .找不到这个数  /D .死循环)

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