相关试卷

  • 1、现有二进制数 ,则加框处数码所对应的权值是(   )
    A、21 B、22 C、23 D、24
  • 2、某对分查找算法的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”,文本框Text 1中输入“31”后运行该程序,则以上程序段运行结束后,下列说法不正确的是(   )

    A、变量i的值为4 B、变量j的值为4 C、变量m的值为4 D、变量n的值为3
  • 3、某排序算法,VB代码如下:

    i=1

    Do While i<=5

        If i = 0 or a(i - 1)<= a(i) Then

            i=i+1

        Else

            t=a(i): a(i)=a(i-1): a(i-1)=t

            i=i-1

        End If

    Loop

    数组元素a(0)到a(5)依次为:“0,41,22,53,99,36”,经过该程序段处理后,数组元素a(3)的值为(   )

    A、36 B、53 C、41 D、22
  • 4、在平面坐标系中,给定任意个点,求出这些点中与点(1,1)距离最远的点。小李编写出了相应功能的程序:在文本框Text1中输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这些点到(1,1)的距离后,结果显示在列表框List1中,并且输出最大距离的点。程序运行界面如图所示。

    (1)、由图可知,窗体中的对象共有类;
    (2)、实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click()

        Dim i, k As Integer

        Dim x1, y1, x2, y2 As Single

        Dim v As Singie, maxd As Single

        Dim s As String, pos zb As String

        List1.Clear

        s=Text1.Text

        x1=1: y1=1

        t="": k=1: j=1

        List1.AddItem"坐标点" & "距离"

        For i=1 To Len(s)

            If Mid(s, i, 1)="," Then

                v=Val(Mid(s,j,i-j))

                j=

                If k Mod 2=1 Then

                    x2=v

                Else

                    y2=v

                    d=Sqr((x2-x1)^2+(y2-y1)^2)

                    If Then

                        maxd=d

                        pos="(" & Str(x2)& "," & Str(y2)& ")"

                    End If

                    List1.AddItem"(" & Str(x2)& "," & Str(y2)& ")" & Str(d)

                End If

                k=k+1

            End If

        Next i

        Label1.Caption="距离(1, 1)最远的点为"& pos &"距离为"& Str(maxd)

    End Sub

    (3)、若文本框Text1中输入的内容为“31,41,26,51,1,56”,程序运行结束后,距离(1,1)最远的坐标点是
  • 5、有如下ⅤB程序段:

    For i=1 To 10

        b(a(i) Mod 10)= b(a(i) Mod 10)+1

        b(a(i)\10)=b(a(i)\10)+1

    Next i

    num=0

    For i=0 To 9

        If b(i)>num Then num b(i)

    Next i

    数组b各元素初始值为0,数组元素a(1)到a(10)的值依次为“68,17,24,30,36,40,55,58,61,66”,执行该程序段,num的值为(   )

    A、2 B、3 C、4 D、5
  • 6、阅读程序,回答问题。
    (1)、将程序中的空白处补充完整。

    Private Sub Form_Click()

        Dim y, s, n As Integer

        n = InputBox("输入n")

        y = 0:

        Do While n \ 10 <> 0

            y = n Mod 10

            s = s + y

            n = n \ 10

        Loop

       

        Print s

    End Sub

    (2)、将流程图中的空白处补充完整。

    ①处应填写:;②处应填写:

    (3)、若输入n的值为62,程序执行完毕,s的值是 , 该程序采用类型的算法。(解析法/穷举法)
  • 7、对一段字符(仅包含大小写字母和数字)加密,加密规则为:①字母和数字都往后循环顺移3位,如“a”变为“d”,“y”变为“b”;“0”变为“3”,“7”变为“0”②加密后字母在前,数字在后③字母按逆序排列,数字按顺序排列,如输入明文“ab7Z8x3”,这密文为“aCed4016”。

    小王利用VB程序实现这一加密功能,程序界面和代码如下所示:

    Private Sub Com_ jm_ Click()

        Dim x As String, ch As String, cl As String

        Dim s1 As String, s2 As String, s As String

        Dim i As Integer, n As Integer, y As Integer

        x= Text1. Text

        n=Len(x)

        For i=1 To n

            ch= Mid(x, i, 1)

            If ch >= "0" And ch <= "9" Then

                   ①     

                s2=s2 & y

            Elself ch >="a" And ch<="z" Then

                y=(Asc(ch)-Asc("a")+3) Mod 26

                     ②   

                s1=c1+s1

            Else

                y=(Asc(ch)- Asc("A")+3) Mod 26

                c2=Chr(Asc("A")+y)

                s1=c2+s1

            End If

        Next i

            ③  

        Text2 Text=s

    End sub

    (1)、根据程序代码分析,“加密”按钮的名称是
    (2)、根据加密规则,明文“9G78fbY5”,则密文为
    (3)、请在画线处填入合适的代码:

     ② ③ 

  • 8、给定区间[a1,a2]和[b1,b2],若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间[1,3]和[2,6]可合并为[1,6];区间[1,6],[2,5]可合并为[1,6];区间[1,4]和[4,5]可合并为[1,5]。

    编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

    Const n=100

    Private Sub Cmd1_Click()

        Dim i As Integer, k As Integer, L As Integer, R As Integer

        Dim s As String, c As String, t As String, result As String

        Dim a(1 To n) As Integer

        s=   ①   : t=" ": k=0

        For i=1 To Len(s)

            c=Mid(s, i, 1)

            If c<>"," Then

                     ②      

            Else

                k=k+1

                a(k)=Val(t)

                t=""

            End If

        Next i

        L=a(1): R=a(2)

        i=3

        Do While i<=k

            If a(i)>R Then

                result = result+"("+Str(L)+","+Str(R)+"),"

                L=a(i): R=a(i+1)

           

                R=a(i+1)

            End If

                ③   

        Loop

        result=result+"("+Str(L)+","+Str(R)+"),"

        Text2. Text=result

    End Sub

    (1)、码中①②③划线处代码补充完整。

    (2)、程序代码中的加框处代码有误,请改正。
    (3)、运行该程序,输入数据如图所示,程序执行完毕时,变量k为
  • 9、反转字符串,如输入字符串为“123ABCD”,则输出字符串为“DCBA321”。部分程序如下所示,划线处的正确语句是(   )

    s=Text1.Text:n=Len(s):i=1

    ‘按变量s中字符顺序从左到右依次存入字符串数组a中,代码略

    Do While I < n

        t=a(i)

        For j= I+ 1 To n

                 ①   

        Next j

        a(j-1)=t

            ②    

    Loop

    For i = 1 To lean(s)

        Texts2.Text = Texts2.Text + a(i)

    Next i

    A、①a(j+1)=a(j) ②n=n-1 B、①a(j)=a(j+1) ②n=n+1 C、①a(j-1)=a(j) ②n=n-1 D、①a(j-1)=a(j) ②n=n+1
  • 10、若在文本框Text1、Text2,Text3中分别输入2,5,6,下列程序段运行后,标签Labe12中显示的内容是(   )

    Private Sub Command1_Click( )

        Dim a As Integer, b As Integer, c As Integer

        A=Val(Text1.Text): b=Val(Text2.Text): c=Val(Text3.Text)

        Label2.Caption=Str(fx(a, b, c))

    End Sub

    Function fx(x As Integer, y As Integer, z As Integer) As Integer

        If x<y Then fx=z

        If x>y Then fx=y Else fx=x

    End Function

    A、2 B、5 C、6 D、0
  • 11、有如下VB程序段:

    Dim conn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    conn.ConnectionString="provider=Microsoft.ACE.OLEDB.12.0;data sourc="

    +App.Path+"\socre.accdb"

    Conn.Open

    Set rs.ActiveConnection=conn

    Rs. Open"Selec*from cj"

    n=1

    Do While Not rs.EOF

    Score(n)=rs.fields("成绩"):Name(n)=rs.fields("姓名")

    n=n+1:rs.MoveNext

    Loop

    下列说法中不正确的是(   )

    A、定义的ADO的Connection对象实例名称是“conn” B、连接的数据库文件名是“\socre.accdb” C、查询的数据表名是“cj” D、该程序段运行后,可知所查询的数据表共有n-1条记录
  • 12、“不重复数”的特征是任何相邻两个数位上的数字都不相同。如1101是重复数,1201是不重复数。判断某数是不是重复数的VB程序段如下:

    s = Text1.Text

        ⑴    

    i = 1: flag = True

    Do While i <= n - 1 And flag

        If   ⑵   Then flag = False

        i = i + 1

    Loop

    If   ⑶    Then

        Label1.Caption = "重复数"

    Else

        Label1.Caption = "不重复数"

    End If

    上述程序中方框处可选语句为:

    ①flag=False

    ②n=Len(s)

    ③Mid(s,i,1)=Mid(s,i+1,1)

    则⑴、⑵、⑶处语句依次是(   )

    A、②、③、① B、①、③、② C、②、①、③ D、③、②、①
  • 13、有如下ⅤB程序段:

    a(1)=68:a(2)=88:a(3)=76:a(4)=60:a(5)=98

    a(6)=100:a(7)=64:a(8)=85:a(9)=99:a(10)=59

    For i=1 to 9

        b(i)=Abs(a(i +1)-a(i))

        c(b(i)\10)=c(b(i)\10)+1

    Next i

    For i = 0 To 10

        If c(i)> 0 Then Label1. Caption = Label1. Caption + " "+Str(c(i))

    Next i

    数组c各元素初值为0,执行该程序段,标签Label1上显示的内容是(   )

    A、2 3 2 1 1 B、1 3 2 2 1 C、2 3 2 2 1 D、1 3 2 1 2
  • 14、在文本框Text1中输入待加密的n个字符(仅由ASCII码字符构成,最多支持960个字符),输入后单击加密按钮,在文本框Text2中产生密文。加密方式如下:

    ①定义一个数组a(1 to 961)。产生一个3到6之间的随机整数k,将十进制数960均分成k份,字符在字符串中的位置除以k的余数决定该字符存放在第几份数据中(余数为1保存在第一份数据中,余数为2保存在第二份数据中……,余数为0保存在第k份数据中);

    ②用十进制数127减去每个字符的ASCII码值,得到的差作为该字符的密文,并保存在数组a中,同一段内的密文依次存放;

    ③将随机产生的数k加64后保存在数组元素a(961)中,并一起参与加密;

    ④将数组a中所有有密文值的数组元素从后往前依次存放到数组b中;

    ⑤将数组b中的每个密文用3位数字保存,不足3位的前面用0补足,然后依次连接保存在变量sc中;

    ⑥在文本框Text2中输出sc。

    例如:

    ①若现有待加密的字符串为“zp123”,产生的随机数k=3,则960分成3份,每份可存放320个值,分别为a(1)至a(320),a(321)至a(640),a(641)至a(960);

    ②由于Asc(“z”) =122,则127-122=5。字符“z”在待加密字符串中的位置是1,除以k的余数为1,因此数字“5”放在第一份数据的第一个位置,即a(1)=5;同理可得,第一份数据为a(1)=5,a(2)=77;第二份数据为a(321)=15,a(322)=76;第三份数据为a(641)=78;

    ③将随机产生的k与十进制数64的和保存到a数组的最后一个值中,即a(961)=64+3=67;

    ④将数组a中所有有密文值的数组元素从后往前依次存放到数组b中,得到b(1)=67,b(2)=78,b(3)=76,b(4)=15,b(5)=77,b(6)=5;

    ⑤将数组b中的每个元素用0补足3位后依次连接并保存在sc中,得到sc=“067078076015077005”;

    ⑥输出sc。

    注:(asc(“0”)=48,asc(“A”)=65,asc(“a”)=97)

    Private Sub command1_Click()

        Dim a(1 To 961) As Integer

        Dim sr, sc As String

        Dim i, j, k, m, n, t As Integer

        Dim b(1 To 961) As Integer

        Randomize

        k = Int(Rnd * 4 + 3)

        sr = text1.Text

        For i = 1 To 961

            a(i) = -1

        Next i

        a(961) = k + 64

        t = 960 / k

        For i = 1 To Len(sr)

            m = i Mod k - 1

            n = i \ k + 1

            If i Mod k = 0 then n = n - 1: m = m + k

               ①     = 127 - Asc(Mid(sr, i, 1))      ‘将密文存储到数组a中

        Next i

        For i = 1 To Len(sr) + 1

            j = j + 1

            Do While a(j) = -1

                j = j + 1

            Loop

            b(Len(sr) + 2 - i) = a(j)      ‘将有密文值的a数组元素存储到数组b中

        Next i

        For i = 1 To Len(sr) + 1

            sc =   ②         ‘连接密文并保存到sc中

        Next i

        text2.Text = sc

    End Sub

    Function space(x As Integer) As String

        For i = 1 To    ③  

            space = space & "0"

        Next i

    End Function

    (1)、若加密后的密文为“068029041”,则随机数是;在Text1中输入的明文是
    (2)、在填写空白处缺失的代码。

  • 15、对用户输入的字符串进行解密的VB程序段如下:

    s= Text. Text

    For i =1 To Len(s)

        ch= Mid(s,i,1)

        nk=Asc(ch)-i

    If nk <0 Then nk nk+127

        Text2. Text= Text2 Text Chr(nk)

    Next i

    已知大写字母A的ASCII码值为65,小写字母a的ASCII码值为97,在文本框Text1中输入内容“yhT5”,执行程序段后,文本框Text2显示的内容为(   )。

    A、YHt5 B、xgS4 C、zjw9 D、xfQ1
  • 16、某仓库物品代码格式为“X-XXX-XXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依此类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。

    小吴设计一个根据校验码校验物品代码的VB程序,功能如下:在文本框Text1中输入物品代码,单击“校验”按钮Command1,如果输入的校验码与计算所得的校验码一致,则输出“校验通过。”(如下左图所示),否则输出“校验不通过!”(如下右图所示)。

    实现上述功能的VB程序如下,加框处代码有错,请改正。

    Dim s As String           '用于存储输入的物品代码

    Dim t As String

    Dim i As Integer, j As Integer

    Dim sum As Integer           '用于存储计算校验码的累加和

    Dim check_old As Integer             '用于存储输入物品代码中的校验码Y

    Dim check_new As Integer            '用于存储按照前面9个数字X计算所得的新校验码

    Dim a(1 To 10)As Integer

    Private Sub Command1_Click()

        '从物品代码中取出9个数字X依次存储到a(1)到a(9)中,取出校验码Y存储到a(10)中

        s= Text     ①

        j=0

        For i=1 To 13

            t=Mid(s, i, 1)

            If(t>="0")And(t<="9") Then

                j=j+1

                a(j)=Val(t)

            End If

        Next i

        '计算新的校验码并和输入的校验码进行比较

        sum=0

        For i=1 To 9

            sum=sum+       ②

        Next i

        check_new=    ③

        check_old=a(10)

        If check_old=check_new Then

            Label1.Caption="校验通过。"

        Else

            Label1.Caption="校验不通过! "

        End If

    End Sub

     ② ③ 

  • 17、有求和式 s=11+2+22+3+33+4++nn+(n+1) ,编写程序计算并输出当n=20时,s的值。
  • 18、数字反转,下面程序的功能是:输入一个非负整数,将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。如输入120,反转后输出21,程序运行时,在文本框Text1中输入反转前的数字,单击“反转”按钮后,在文本框Text2中显示反转后的数字。程序运行效果如图所示。

    为实现上述功能的程序如下,请在程序划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim a As String

        Dim n As Integer

        a = Text1.Text

        n = Len(a)

        Do While   ①    and Mid(a, n, 1)="0"

            n = n - 1

        Loop

        For i = n To 1 Step -1

            Text2.Text = Text2.text +     ②    

        Next i

    End Sub

    (1)、划线①处应填入的语句为:
    (2)、划线②处应填入的语句为:
  • 19、小李编写了一个程序,用以实现下列功能:在文本框Text1中一个十进制数,在文本框Text2中输入需转换数的进制(小于等于16),点击转换按钮,在文本框Text3中输出转换后的数字;点击“退出”按钮,关闭程序。程序运行界面如下图所示:

    (1)、根据题目意思,应该在编辑界面将对象“command2”的属性改为“退出”。
    (2)、为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim x As Long

        Dim y As Integer

        x = Val(Text1.Text)

        y =

        Text3.Text =

    End Sub

    Function trans(n As Long, b As Integer) As String

        Dim hex As String

        hex = "0123456789ABCDEF"

        Do while n<>0

            r = n Mod b

            n = n \ b

            trans = + trans

        Loop

    End Function

    Private Sub Command2_Click()

    End Sub

  • 20、对称字符串的特征是从左到右读和从右到左读是完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的VB程序段如下, 请完善以下两处代码

    s=Text1.Text

    n=Len(s)                's是待判断的字符串

    k=0: j=n

    For i=1 to n\2

        c1=Mid(s, i, 1)

        c2=Mid(s, j, 1)

        If c1 <> c2 Then k = k+1: Exit For

            j=

        Next i

        If Then Label1.Caption="对称" Else Label1.Caption="不对称"

上一页 886 887 888 889 890 下一页 跳转