相关试卷

  • 1、某学校图书管理系统中有10万条图书资料记录(已经索引排序),假设从中取出一条记录并与待查找项进行比较的时间为10毫秒,则用对分法在该系统中查找任意一本指定图书最多花费的时间约为(  )
    A、100万毫秒 B、50万毫秒 C、10毫秒 D、17毫秒
  • 2、在有序单词序列“bike,cake,data,easy,feel,great,hive,mark,sweet”中,用对分查找算法找到“easy”的过程中,依次被访问到的数据为(  )
    A、feel,data,easy B、great,data,easy C、bike,cake,dada,easy D、feel,cake,data,easy
  • 3、数组变量d(1)到d(8)的值依次为87,76,69,66,56,45,37,23,在用对分查找法找到“69”的过程中,依次被访问到的数据是(  )
    A、69 B、66,69 C、66,76,69 D、56,66,76,69
  • 4、用对分查找法和顺序查找法在数字序列“1,2,3,5,8,13,21,34,55”中查找数字13,两种方法都能访问到的数字是(  )
    A、3 B、5 C、8 D、34
  • 5、现利用VB编写一个程序。功能如下:数组xh,kh和cj分别存储了序号、考号和成绩数据,窗体加载时,序号、考号和成绩显示在列表框List1中。在文本框Text1中输入数值N,点击“筛选”按钮,可以将成绩最高的前N项筛选出来,并按由大到小的顺序显示在列表框List2中。如果成绩有并列,那筛选的结果可能会超过N项。程序运行界面如图所示。

    Dim num As Integer

    Dim xh(1To 1000)As String

    Dim kh(1 To 1000)As String

    Dim cj(1 To 1000)As Integer

    Private Sub Form_Load( )

    ´本过程从数据库中将序号、考号、成绩分别存入数组xh,kh,cj中,并将总人数赋值给了num(总人数num为大于N的值),代码略

    End Sub

    Private Sub Command1_Click( )

      Dim N As Integer, i As Integer, j As Integer

      Dim t1 As String, t2 As Integer

      N=Val(Text1.Text)

      List2.Clear

      For i=1 To N

        k=i

                  ´①

          If cj(k)<cj(j)Then k=j

        Next j

        If k<>i Then

            t1=xh(i):xh(i)=xh(k):xh(k)=t1

            t1=kh(i):kh(i)=kh(k):kh(k)=t1

            t2=cj(i):cj(i)=cj(k);cj(k)=t2

        End If

        List2. Addltem xh(i)+" "+kh(i)+" "+Str(ci(i))

      Next i

    ´以下代码是处理可能存在的重复项

      For i=N+1 To num

        If  Then       ´②

            List2.Addltem xh(i)+" "+kh(i)+" "+Str(cj(i))

        End If

      Next i

    End Sub

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

  • 6、小赵对选择排序算法进行了如下改进;在数组的所有元素中找出包含最小和最大数据的元素,然后将这两个元素分别与第一个和最后一个元素交换数据;在余下的元素中找出包含最小和最大数据的元素,分别与第二个和倒数第二个元素交换数据;以此类推,直到所有元素的数据按升序排列。小赵编写的VB程序段如下:

    p=1:q=10

    Do While p<q

      iMin=p:iMax=p

      For i=p+1 To q

        If a(i)<a(iMin)Then iMin=i

        If a(i)>a(iMax)Then iMax=i

      Next i

      t=a(iMin):a(iMin)=a(p):a(p)=t

     

      t=a(iMax):a(iMax)=a(q):a(q)=t

      p=p+1

      q=q-1

    Loop

    要使程序实现上述算法思想,则方框中的语句是(  )

    A、If iMax=p Then iMax=iMin B、If iMin=p Then iMin=iMax C、If iMax=p Then iMin =iMax D、If iMin=p Then iMax=iMin
  • 7、有如下VB程序段:

    i=6:flag=True

    Do While i>=4 And flag=True

        flag=False

        For j=1 To i-1

            If a(j)<a(i)Then

                t=a(j):a(j)=a(i):a(i)=t

                flag=True

            End If

        Next j

        i=i-1

    Loop

    数组元素a((1)到a(6)的值依次为“24,7,37,45,11,52”,执行该程序段后,数组元素a(1)到a(6)的值依次为(  )

    A、7,11,24,37,45,52 B、52,45,37,24,11,7 C、7,11,37,45,24,52 D、52,24,37,45,11,7
  • 8、有如下VB程序段:

    For i=6 To 4 Step-1

        k=i

        For j=i-1 To 1 Step-1

            If a(j)<a(k)Then k=j

        Next j

        If i<>k Then

            t=a(i):a(i)=a(k):a(k)=t

        End If

    Next i

    若数组元素a(1)到a(5)的值依次为“41,66,70,83,31”,则经过该程序段“加工”后,数组元素的值依次为(  )

    A、31,41,66,83,70 B、83,70,66,41,31 C、31,41,66,70,83 D、83,66,70,41,31
  • 9、将6个数据21,12,18,97,46,27依次存放在数组a(1)到a(6)中,按照下列VB程序进行排序:

    Text3.Text="  "

    For i=1 To 2

        For j=6 To i+1 Step-1

            If a(i)<a(j)Then

                t=a(i):a(i)=a(j):a(j)=t

            End If

        Next j

    Next i

    Text3.Text =Str(a(i)+a(i+1))

    程序运行后,文本框Text1中显示的内容是(  )

    A、33 B、45 C、48 D、113
  • 10、有如下VB程序段:

    Dim a(1 To 10)As String

    Dim key As String

    Text1.Text=""

    For i=1 To 3

        For j=i+1 To 10

          If a(j)>a(i)Then

              t=a(j):a(j)=a(i):a(i)=t

          End If

        Next j

        Text1.Text=a(i)+Textl.Text

    Next i

    已知数组元素a(1)到a(10)的原始数据为“12”,“10”,“103”,“26”,“242”,“25”,“35”,“358”,“33”,“6”,则在文本框Text1中显示的内容是(  )

    A、6 35 358 B、358 242 103 C、35 358 6 D、6 10 12
  • 11、某排序算法的VB程序段如下:

    For i=1 To 3

      k=i

      For j=i+1 To 6

            If a(j)>a(k)Then k=j

        Next j

        t=a(i):a(i)=a(k):a(k)=t

    Next i

    若数组元素a(1)到a(6)的值依次为“8,2,9,3,5,1”,则经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为(  )

    A、8,2,9,3,5,1 B、9,2,8,3,5,1 C、9,8,5,2,3,1 D、9,8,5,3,2,1
  • 12、实现某排序算法的部分VB程序如下:

    For i=1 To 6

        k=i

        For j=i+1 To 7

            If a(j)<a(k)Then k=j

        Next j

        If i<>k Then

            t=a(i):a(i)=a(k):a(k)=t

        End If

    Next i

    在排序过程中,若经过某一遍排序“加工”后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”,则下一遍排序“加工”后,数组元素a(1)到a(7)的数据依次是(  )

    A、10,11,41,75,12,63,85 B、10,11,75,12,63,41,85 C、10,11,12,75,63,41,85 D、10,11,12,41,63,75,85
  • 13、采用如下选择排序算法对数组a中的5个数据“23,86,98,65,2”按从小到大的顺序进行排序。

    For i=1 To 4

        k=i

        For j=i+1 To 5

            If a(j)<a(k)Then k=j

        Next j

        If k<>i Then

            t=a(i):a(i)=a(k):a(k)=t

        End If

    Next i

    整个排序过程中,数组中的数据的比较次数和交换次数分别是(  )

    A、10次和3次 B、10次和4次 C、15次和3次 D、15次和10次
  • 14、有如下VB程序段:

    k=1

    For i=2 To 5

      If a(i)<a(k)Then k=i

    Next i

    if k<>1 then

      t=a(1):a(1)=a(k):a(k)=t

    End If 若程序段运行后,数组元素a(1)~a(5)的值依次为“165,168,178,175,171”,则下列选项中可能是a(1)~a(5)的原始数据序列的是(  )

    A、175,178,168,165,171 B、178,168,175,165,171 C、165,178,168,175,171 D、165,168,178,175,171
  • 15、一组同学的英语成绩分别为24,27,16,15,24,18,按从大到小进行排序的过程如下,则采用的排序算法及第二遍的排序结果分别为(  )

    第一通

    27

    24

    16

    15

    24

    18

    第二遍

    第三遍

    27

    24

    24

    15

    16

    18

    A、冒泡排序,27 24 16 15 24 18 B、冒泡排序,27 24 18 16 15 24 C、选择排序,27 24 16 15 24 18 D、选择排序,27 24 18 16 15 24
  • 16、使用选择排序算法对数据7,1,5,8,4从小到大排序,需要进行数据交换的次数是(  )
    A、5 B、2 C、3 D、4
  • 17、某数据压缩方法描述如下:

    ①原始数据中,某数据不为0且相邻无重复,压缩数据用该数据表示;

    ②原始数据中,某数据为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;

    ③原始数据中,某数据相邻且有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身。

    小明编写了一个压缩的VB程序,功能如下:窗体加载时,自动读取原始数据,依次存储在数组元素a(1),a(2),a(3)….中,原始数据的个数存储在变量n中,原始数据显示在文本框Text1中。单击“压缩”按钮Command1,程序对原始数据依次进行压缩处理,压缩数据显示在文本框Text2中。程序运行界面如图所示。

    (1)、数据“8 8 8 8 8 0 0 11 24”压缩后的结果为
    (2)、实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim s,result As String

      Dim i,num As Integer

      i= 1:result=""

      Do While i<=n

          s=a(i)

          num=1

          Do While s=a(i+1)

              i=i+1

                 ①   

          Loop

          If num >1 Then

            result=   ②   

            i=i+1

          End If

          s= a(i)

          num=1

          Do While s <> a(i+1)

              If s ="0"Then s ="00"

              result=result +s

              i=i+1

                 ③   

          Loop

      Loop

      Text2.Text=result

    End Sub

    以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③

  • 18、展开字符串,如果在输入的字符串中,含有类似于"c-g"或者“3-7"的字符串,就把它当作一种简写,字符串展开输出时有如下规则:

    ①如果“一”号右边的字符按照ASCII码的顺序大于左边字符,输出时,用连续递增的字母或数字串替代其中的“一”号,例如"c-g"输出为"cdefg","3-7"输出为"34567"

    ②如果“一”号右边的字符按照ASCII码的顺序小于或等于左边字符,输出时,保留中间的“一”号,例如"a-a"输出时为"a-a","4-1"输出为"4-1"

    ③如果“一”号右边的字符恰好是左边字符的后续字符,则删除中间的“一”号,例如:"d-e"就输出为"de","3-4"应输出为“3-4"。

    某同学按照上述算法,编写了VB程序,功能如下:在文本框Text1中输入简写字符串,单击“展开”按钮Command1后,程序进行字符串展开处理并显示在文本框Text2中。程序运行界面如图所示。

    (1)、如果输入的简写字符串为"abs—w—Y1234—5S—4Z",则展开后的字符串为
    (2)、实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim st1,st2 As String,i,n As Integer

      St1=Text1.Text

      n=Len(s1)

      st2=""

      For i=1 To n

        If pos(st1, i)<> "—" Then

          st2=st2+ pos(st1, i)

        Else

            If pos(st1, i) <pos(st1, 1) Then

              For j=Asc(pos(st1, i-1))+1To Asc(pos(st1, i+ 1))-1

                    ①   

              Next j

            Else

              st2 = st2+"—"

            End If

          End If

      Next i

      Text2. Text = s2

    End Sub

    Function pos(s As String, x As Integer) As String

           ②   

    End Function

    以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②

  • 19、RLE压缩方法是Windows系统中使用的一种图像文件压缩方法,用两个数据表示,第一个记录指定像素重复的次数,第二个记录具体的像素值。例如,有一表示颜色像素值的字符串RRRRGGBB,用RLE压缩方法压缩后可用4R2G3B表示。小芳设计了一个VB程序实现RLE算法功能。在Text1中输入原始数据,点击“压缩”按钮Command1后,在Text2中显示经过压缩后的数据,程序运行界面如图所示。

    (1)、这里采用的压缩技术属于(选填:有损压缩/无损压缩)。
    (2)、若想修改文本框Text2中的字体大小,需对它的属性值进行修改(选填:BackColor/Font/Text).
    (3)、实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Commandl_Click( )

      Dim s1 As String,s2 As String

      Dim c As Integer,p As Integer

      sl=Text1.Text:s2= ""

      c=1:p=2

      Do While p<Len(sl)

          If Mid(s1,p,1)=Mid(s1,p-1,1)Ther

              c=c+1

          Else

              s2 = s2+Str(c)+ Mid(s1,р-1,1)

                 ①   

          End If

      p=р+1

      Loop

      Text2.Text =   ②   

    End Sub

    以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②

  • 20、在数据加密过程中,为了防止加密方法外泄,往往使用密钥,只有掌握了密钥才能正确加密、解密。某信息加密VB程序,对输入的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。该程序使用的密钥是一个2位十进制数。数据加密方法对明文中的每个字符进行如下处理:

    ①将该字符的ASCII码加密钥后,转换成对应的8位二进制;

    ②将对应的8位二进制数进行按位取反(1变0,0变1);

    ③将最后产生的8位二进制数转换成对应的十六进制数;

    ④将得到的十六进制数码交换顺序后连接,即为该明文的密文。

    例如,明文大写字母“A",输入的密钥数值为25,得到的密文为5A,信息加密过程如图所示。

    小李编写了加密算法的VB程序,在文本框Text1中输入明文,单击“加密”按钮Command1。程序对明文数据依次进行加密处理,加密后生成的密文将显示在文本框Text2中。程序运行界面如图所示。

    (1)、如果输入的明文为大写字母“F",密钥为16,则生成的密文是
    (2)、实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Function btoh(m As String)As String     ‘将4位二进制数转换成对应的十六进制数

      Dim s As Integer, i As Integer

      Dim st As String

      st="0123456789ABCDEF"

      s=0

      For i=1 To 4

          s=s*2 +Val(Mid(m,i,1))

      Next i

         ①   

    End Function

    Private Sub Command1_Click( )

      Dim ans,ch,s,ret,s1,s2 As String

      Dim a,b,c As Integer

      s= Text1.Text

      c= Val(Text2.Text)

      For i = 1 To Len(s)

          ch=Mid(s,i,1)   ‘取出第i个字符存入变量ch

          a=Asc(ch)

          b=a+c

          ret = " "

          For m=1 To 8             ‘完成加密步骤①和步骤②

              n=(b+1)Mod 2

              ret =str(n)+ ret

                 ②   

          Next m

          s1 = btoh(Mid(ret,1,4))    ‘完成加密步骤③和步骤④

          s2 = btoh(Mid(ret,5,4))

          ans=ans +s2+s1

      Next i

      Text3.Text=ans

    End Sub

    以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②

上一页 1079 1080 1081 1082 1083 下一页 跳转