ZUJUAN.COM组卷网基于海量中小学题库的在线组卷网站
当前位置:手动组卷 >高中信息技术 >按章节
时间 使用次数
过滤已使用的试题 vip
防超纲选题 vip
  • 1. 我们应该如何看待信息安全话题?
  • 1. 请画出双分支结构流程图。
  • 1. 直到循环采用先执行循环体语句,后判断循环条件是否成立的方式,请画出直到循环流程图。
  • 1. 有一个按升序排列的数组a(a(1)~a(n),n≥3),从左到右相邻两个元素的差值(后一个元素值减去前一个元素值)先由小到大,再由大到小,且相邻的两个差值不相等。为了查找相邻两个元素的最大差值,小李编写的VB程序段如下:

    i=1:j=n

    Do While i+1<j

        m=(i+j)\2

        If a(m+1)-a(m)>a(m)-a(m-1)Then

         

        Else

         

        End If

    Loop

    Label1.Caption=“相邻两个元素的最大差值是”+Str(a(j)-a(i))

    上述程序段中两个方框处的语句分别应为(  )

    A . ①i=m;②j=m B . ①i=m;②j=m-1 C . ①i=m+1;②j=m-1 D . ①i=m+1;②j=m
  • 1. 数组a中存储的是左右交替上升的n个正整数,如下表所示:

    a(1)

    a(2)

    a(3)

    a(n-2)

    a(n-1)

    a(n)

    3

    25

    38

    55

    31

    12

    依据对分查找思想,设计一个在数组a中查找数据key的程序。实现该功能的VB程序如下,但加框处代码有误,请改正。

    Private Sub Command1_Click( )

      Const n=6

      Dim a(1 To n)As Integer,flag As Boolean

      Dim i As Integer, j As Integer, m As Integer, key As Integer

      ‘读取一组正整数,按上述规则存入数组a中,代码略

      key=Val(Text1.Text)

      i=1

      j=(n+1)\2

      flag=False

      Do While  And Not flag    ‘①

          m=(i+j)\2

          If key=a(m)then

              flag=True

          Elself key <a(m)then

              j=m-1

          Else

              i=m+1

          End If

      Loop

      If Not flag And j>0 Then

                              ‘②

          If key=a(m)Then flag=True

      End If

      If flag Then

          Text2.Text=Str(m)

      Else

          Text2.Text= "找不到"

      End If

    End Sub

    以上程序段运行时,为了实现上述功能,加框处代码应改正为:①________;②________。

  • 1. 数组a中有100个正整数,已按升序排列。在文本框Text1中输入一个正整数key,寻找数组a中是否有一数对的和等于给定的数key。若存在和为key的数对,输出该数对所包含的两个整数,小数在前,大数在后。若有多个数对满足条件,则输出最先找到的数对;若找不到符合要求的数对,则输出“没有符合条件的数对”。小吴为此编写了VB程序,代码如下,但加框处代码有误,请改正。

    Dim a(1 To 100)As Integer

    Const n=100

    Private Sub Command1_Click( )

      Dim key As Integer, left As Integer, right As Integer, mid As Integer

      Dim flag As Boolean

      flag=False:key=Val(Text1. Text)

      For i=1 To n-1

                           ‘①

        right=n

        Do While        ‘②

            mid=(left +right)\2

            If a(i)+a(mid)<key Then

                left=mid+1

            ElseIf a(i)+a(mid)>key Then

                right=mid-1

            Else

                List1. AddItem Str(a(i))&" "&. Str(a(mid))

                flag=True

            End If

        Loop

      Next i

      If Not flag Then List1.Addltem"没有符合条件的数对"

    End Sub

    以上程序段运行时,为了实现上述功能,加框处代码应改正为:①________;②________。

  • 1. 某对分查找算法的VB程序如下:

    Key=Val(Text1.Text)

    i=1:j=9

    Do While i<=j

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

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

    Loop

    若数组元素a(1)到a(9)的值分别为“10,13,13,15,18,18,18,25,28”,且在文本框Text1中输入的是18,执行该程序段后,变量j的值是(  )

    A . 7 B . 6 C . 5 D . 4
  • 1. 采用如下对分查找算法对数组a中的7个有序数据“15,38,51,66,77,81,99”进行查找,要查找的数据为“55”,程序段如下:

    i=1:j=7:x=55

    Do While i<=j

          m=(i+j)\2

          If a(m)=x Then Exit Do

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

    Loop

    执行完上述程序段后,根据最终变量值判断下列表达式,其中正确的是(  )

    A . i=m+1 B . i=m-1 C . j>m+1 D . j<m-1
  • 1. 某对分查找算法的VB程序段如下:

    i=1:i=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中显示的内容可能是(  )

    A . RL B . LMR C . RLR D . LRLM
1 2 3 4 5 下一页 共1000页