充值活动已开启,快来参与吧 关闭充值活动
当前位置:手动组卷 /高中信息技术 /按知识点
选择知识点
最新上传 最多使用
  • 1. (2022·温州模拟) 有如下VB程序段:

    '数组f( )到f( )赋初值为0,代码略

    n = Val (Text1. Text)

    For key=1 To n

        i=1:j=n:c=0

        Do While i<=j

            m=(i+j)\2

            c=c+1

            If key=m Then

                f(c) = f(c) + 1: Exit Do

            ElseIf key > m Then

                i=m+1

            Else

                j=m-1

            End If

        Loop

    Next key

    在文本框Text1中输入5,执行该程序段后,f(1)到f(4)各元素值可能的是(    )

    A . 1,1,1,1 B . 1,1,2,0 C . 1,2,2,0 D . 1,1,2,2
  • 1. (2022·浙江模拟) 基于对分查找插入数据,实现把数据temp插入降序序列中得到一个新的降序序列。程序如下:

    temp=Val(Text1.Text)

    If temp<a(n) then

        a(n+1)=temp

    Else

        L=1:R=n

        Do while L<=R

            m=(L+R)2

            If a(m)<temp then R=m-1 else L=m+1

        Loop

        For j=   ①   

            a(j+1)=a(j)

        Next j

          ②  

    End If

    则横线①②上的语句分别是:(    )

    A . ①n to R step-1②a(R+1)=temp B . ①n to R step-1②a(R)=temp C . ①n to L step-1②a(L+1)=temp D . ①n to L step-1②a(L)=temp
  • 1. (2022·浙江模拟) 某学校要组建年级学生会,共有cla个班级,num个人报名,每班报名人数大于等于1人,招募n个人(其中n>cla),录取规则如下:每班必须有一人录用(取综合评分最高),剩余人数按报名学生的综合评分由高到低录取。加载原始报名数据在List1中显示,在Text1中输入招募人数,将录取结果在List2中显示。实现上述功能的VB程序如下:

    1. (1) 如上图所示,窗体中共有类对象。
    2. (2) 请在下方程序代码中划线处填入合适的代码。

      Dim bj(1 To 100) As Integer, xm(1 To 100) As String, score(0 To 100) As Integer

      Dim flag(1 To 100) As Boolean, p(1 To 100) As Integer, num As Integer, cla As Integer

      Private Sub Form_ Load( )

        '加载学生报名数据班级、姓名、分数,分别存储到数组bj,xm,score,并在列表框List1中输出,班级总数为cla个,报名总人数为num,代码略

      End Sub

      Private Sub Command1_ Click()

          Dim i, j, n As Integer

          Dim b(1 To 15) As Integer

          n = Val(Text1.Text)

          For i=1 To cla     '每班1人录用

              Max= 0

              For j= 1 To num

                  If  Then Max = score():t= j

              Next j

              flag(t) = True

          Next i

          t= 1

          For i= 1 To num

              If Not flag(i) Then p(t)= i:t=t+ 1

          Next i

          For i=

              For j=1 To 2 Step-1

                  If score(p(- 1)) < score(p(j)) Then t=p(j): p(j)= p(- 1): p(j-1)=t

              Next j

          Next i

          For i=1 To n-cla       '剩余人数录取

              flag(p(i)) = True

          Next i

          For i= 1 To num

              If  Then List2.AddItem Str(bj(i)) + xm(i) + Str(score(i))

          Next i

      End Sub

  • 1. (2022·浙江模拟) 编写程序查找字符串中最长连续相同字符的长度:

    s=Text1.Text: h=1: Max=0

    For i=2 to Len(s)

        If   ①   Then

              ②  

        If h>Max then Max=h 

        Else

              ③  

        Endif

    Next i

    Label1.Caption= str(Max)

    划线处可选代码为:①h=1②h=0③h=h+1④Mid(s,i,1)=Mid(,j+1,1)⑤Mid(,1)=Mid(s,i-1,1),则①②③处语句依次为: (    )

    A . ⑤①③ B . ⑤③② C . ④①③ D . ⑤③①
  • 1. (2022·绍兴模拟) 某对分查找算法的VB程序段如下:

    Key = Val(Text1.Text)

    i= l:j= Key

    Do While i<= j

         m=(i+j)\2          '①

         If Key=m*m Then Exit Do 'Exit Do表示退出循环

         If Key>m* m Then i=m+ 1 Else j=m- 1

    Loop

    If i> j Then

         Label1.Caption= Key & "不是完全平方数"

    Else

         Label1.Caption= Key & "是完全平方数"

    End If

    运行该程序段,在文本框Text1中输入15,运行后①处语句的执行次数是(    )

    A . 3 B . 4 C . 5 D . 6
  • 1. (2022·金华模拟) 某对分查找算法的VB程序段如下:

    Key = Val(Text1.Text)

    c=0:i=1:j=10

    Do While i<=j

        m=(i+j)\2

        c=c+1

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

    Loop

    Text2.Text = Str(c)

    数组a(1)到a(10)的值依次为“10,15,15,25,27,28,33,35,36,56”,执行该程序段后,文本框Text2中显示的值为3,则key值可能是(    )

    A . 10 B . 15 C . 28 D . 36
  • 1. (2022·湖州模拟) 某对分查找算法的VB程序段如下:

    i =1:j= 8:n= 0:key= 83

    Do While i<=j

        n=n+1

        m=(i+j)\2

        If key > a(2 * m) Then j=m-1 Else i=m+1

    Loop

    Text1。Text = Str(a(2 * j - 1))

    数组元素a(1)到a(16)的值依次为“6,90,3,85,5,83,2,83,4,83,8,80,7,77,1,70”,奇数位存储序号,偶数位存储成绩。执行该程序段后,下列说法正确的是(    )

    A . 循环结束后i的值为5 B . 变量m的值为4 C . 变量n的值为5 D . Text1输出结果为4
  • 1. (2022·杭州模拟) 某对分查找算法的VB程序段如下:

    i =1:j=10: key = 88

    Do While I <=j

        m=(i+j)\2

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

    Loop

    数组元素a(1)到a(10)的值依次为“12,15,18,20,25,39,47,88,90,99”,经过上述代码查找后,下列表达式正确的是(    )

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

    i=1: j=6: n=0: f= False

    key= Val(Text1. Text)

    Do While i<=j and Not f

        n=n+1

        m= Fix((i+j)/2)

        If key=a(m) then f= True

        If key<a(m) then j=m-1 Else i=m+1

    Loop

    数组元素a(1)到a(6)的值依次为“12, 19,27,31,46,55”。若在文本框Text1中输入“31”,则以上程序段运行结束后,下列说法不正确的是(     )

    A . 变量i的值为4 B . 变量j的值为4 C . 变量m的值为4 D . 变量n的值为3
  • 1. (2022·浙江模拟) 循环升序数组指的是将一个升序数组循环右移动若干距离之后变成的数组。如[1,2,3,4,5]循环右移1位,就成为[5,1,2,3,4],再右移1位,就成为[4,5,1,2,3] ……中[5,1,2,3,4]和[4,5,1,2,3]都是循环升序数组。该数组的特点是:将循环升序数组从中间分开,肯定有一边是有序数组,另外一边是循环有序数组。小杜研究发现对分查找算法适当优化后也适用于循环升序数组。在文本框输入被查找数据key,查找循环升序数组a中是否有相同的元素存在。编写的VB程序段如下:

    i= 1:j= n     '数组a下标从1到n为止

    Key = Val(Text1. Text)

    Do While i<=j

        m=(i+j)\2

        If a(m) = Key Then Exit Do

        If a(i) < a(m) Then

            If  Then j=m-1 Else i=m+1

        Else

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

        End If

    Loop

    If i <= j Then Text2. Text =“查找成功”

    Else Text2. Text =“查找失败”

    要使程序实现对分查找过程,则方框中的语句是(    )

    A . Key>= a(i) And Key < a(m) B . Key <= a(i) And Key >a(m) C . Key >= a(i) And Key <= a(j) D . Key >a(i) And Key <= a(m)
上一页 3 4 5 6 7 下一页 共66页