充值活动已开启,快来参与吧 关闭充值活动
当前位置:手动组卷 /高中信息技术 /按知识点
选择知识点
最新上传 最多使用
  • 1. (2022·浙江模拟) 有一组升序排列的数:5,17,21,25,33,49,58,67,如果用对分法查找数“58”,则依次访问的数据为(     )
    A . 25,49,58 B . 25,33,58 C . 33,49,58 D . 25,33,58
  • 1. (2022·浙江模拟) 小明过生日,他要一个三层的大蛋糕,每一层都是一个小蛋糕。蛋糕店刚好有对应上、中、下三层的三类蛋糕,大家知道多层蛋糕一般都是上层最小,中层其次,下层最大,不然蛋糕就不漂亮了。所以请你帮助明明计算,在知道每一类蛋糕的体积的前提下有多少符合条件的方案。

    如下图所示,其中第一层蛋糕有5种,体积分别为4、3、5、8、1;第二层有4种,体积分别为6、4、8、5;第三层有7种,体积分别为5、9、4、5、7、6、4。所选方案须符合“第一层<第二层<第三层”,如:第层选3,第二层选4第三层选6。方案共有31种。

    请在划线处填入适当的代码。

    Dim a(100) As Integer, b(100) As Integer, c(100) As Integer

    'a、b、c数组分别存储上、中、下三层蛋糕的体积

    Dim i As Integer, j As Integer, cnt As Integer, ans As Integer

    Dim na As Integer, nb As Integer, nc As Integer

    'na,nb、nc分别记录上、中、下三层蛋糕的种类数量

    Private Sub Command1_ Click( )

        Dim L As Integer, R As Integer, m As Integer

        For i=1 To na-1

            For j=na To i+1 Step-1

                If a(j) < a(j-1) Then tmp=a(j) : a(j) =a(j-1) : a(j-1)= tmp

            Next j

        Next i

        For i=1 To nc-1

            For j=nc To i+1 Step-1

                If c(j) < c(j-1) Then tmp= c(j) :c(j)=c(j- 1) :c(j- 1)= tmp

            Next j

        Next i

        For i=1 To

            L=0 : R=na+ 1

            Do While L+1<R

                m=(L+ R)\ 2

                If a(m) < b(i) Then

                    L=m

                Else

                    R= m

                End If

            Loop

            cnt= L

            L=0 : R=nc十1

            Do While L+1<R

                m=(L+R)\2

                If  Then

                    R= m

                Else

                    

                End If

            Loop

            cnt=cnt * ()

            ans= ans+cnt

        Next i

        Label1. Caption="共有"十Str(ans) + "种方案

    End Sub

    Private Sub Form_ Load(  )

        '随机生成三层蛋糕的数量存储在na、nb、nc中,生成三层蛋糕的体积存储在a、b、c数组中,并输出,代码略

    End Sub

  • 1. (2022·浙江模拟) 采用如下对分查找算法对数组a(1)到a(8)中8个有序数据“1,5,8,13,16,27,31,39”进行查找,其程序如下:

    i =1 : j=8 : x=27 : mark = False

    Do While i <= j And Not mark

        m=(i+j+1)\2

        If a(m) = x Then mark = True

        If a(m)>x Then j=m-1 Else i=m+1

        Text1. Text = Text1. Text+Str(m)

    Loop

    执行该程序段,文本框Text1中显示的是(    )

    A . 46 B . 476 C . 163127 D . 576
  • 1. (2022·浙江模拟) 有如下VB程序段:

    i=1 : j=10 : x= Int(Rnd * 50) * 2+ 1

    Do While i<=j

        m=(i+j)\ 2

        If x=f(m) Then Exit Do

        If x<f(m)Then j=m-1 Else i=m+1

        s=s+Str(m)

    Loop

    数组元素f(1)到f(10)的值依次为:3,6,9,11,18,20,25,39,76,98,该程序运行后,s的值不可能的是(     )

    A . 52 B . 5 8 C . 5234 D . 586
  • 1. (2022·浙江模拟) 有n个连续的自然数,删除首尾两端之外的其中一个数后存储在数组元素a(1)到a(n- 1)中,利用对分查找算法找出这个数的某VB程序段代码如下:

    Const n= 10

    i=1 : j=n-1

    Do While j-i>=2

        m=(i+j) \ 2

        If    ⑴    Then

            i= m

        Else

               ⑵   

        End If

    Loop

    Text1. Text= Str(3) )

    上述程序中(1)(2)(3)划线处可选语句有:

    ①a(j)-a(m)=j-m②a(m)-a(i)=m-i③j=m-1④j=m⑤a(i)+1⑥a(i)

    则上述程序中(1)、(2)、(3)划线处的代码依次为(     )

    A . ①③⑤ B . ②④⑤ C . ①③⑥ D . ②④⑥
  • 1. (2022·浙江模拟) 有如下VB程序段:

    n=0

    Key = Val(Text1. Text)

    i = 1 : j= 10 : f= False

    Do While i<= j And f = False

        n=n+1

        m=(i+j+1)\2

        If a(m)=Key Then f=True

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

    Loop

    Text1. Text = Str(n)

    数组元素a(1)到a(10)的值依次为“14,17,30,42,55,69,80,83,88,90”,执行该程序段,输入key的值为a(1)到a(10)中的某一个值,文本框Text2中显示的值为3,则key位可能是(     )

    A . 14 B . 55 C . 69 D . 88
  • 1. (2022·浙江模拟) 下列关于数列查找说法,正确的是(    )
    A . 使用对分查找,数列中每个元素对象不能是字符串类型的数据 B . 使用对分查找数列,数列中每个元素要求必须是经过排序的 C . 对于规模为1000万项数的数列,不能使用顺序查找 D . 使用顺序查找,只能从第1个元素依次向后进行查找
  • 1. (2022·浙江模拟) 下列VB程序段功能为:在升序排序数组a中(a(1)≤a(2)≤a(3) …… ),采用对分查找的方式查找某数值,若能找到,则输出该数值在数组a中的起始和结束位置,否则输出“找不到”。

    Dim a(0 To 10) As Integer

    Key= Val(Text1. Text)

    i=1 : j=10

    Do While i<=j

        m=(i+j) \ 2

        If   ①   Then

            j=m-1

        Else

            i=m+1

        End If

    Loop

    If a(j) <> Key Then

        Label1. Caption= "找不到"

    Else

        P1=j

        Do While Key=a(j) And j>= 1

            j=j-1

        Loop

          ② 

        Label1. Caption= Str(p2) + "-" + Str(p1)

    End If

    A . ①key < a(m)②p2=j B . ①key < a(m)②p2=j+1 C . ①key <= a(m)②p2=j D . ①key <= a(m)②p2=j+ 1
  • 1. (2022·浙江模拟) 某对分查找算法的VB程序段如下:

    i=1: j = 5: k=0: s =""

    key = Int (Rnd * 100)

    Do While i<=j

        k=k+1

        m=(i+j)\2

        s = s+Str(a(i))

        If key = a(m) Then

            Exit Do       ‘ExitDo表示退出循环

        Elself key < a(m) Then

            j =m-1

        Else

            i=m+1

        End If

    Loop

    Text1. Text = s

    数组元素a(1)到a(5)的值依次为“6,18,25;37 ,49”。若该程序段执行后,k的值为3,则key的值不可能为(     )

    A . 4 B . 18 C . 47 D . 55
  • 1. (2022·浙江模拟) 某对分查找算法的VB程序段如下:

    i=1:j=7 : s=””

    key = Int (Rnd * 100)

    Do While i <=j

        m=(i+j)\2

        If key = a(m) Then

            s = s+"M":Exit Do    'Exit Do表示退出循环

        ElseIf key < a(m) Then

            j=m-1:s=s+"L"

        Else

            i=m+1:s=s+"R"

        End If

    Loop

    Text1.Text = s

    数组元素a(1)到a(7)的值依次为“24, 35, 38, 41,45, 69, 78”。若该程序段执行后,文本框Text1中显示的内容是LLR,则Key的值可能是(    )

    A . 36 B . 34 C . 40 D . 42
上一页 4 5 6 7 8 下一页 共66页