相关试卷

  • 1、有如下Ⅴ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
  • 2、阅读程序,回答问题。
    (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的值是 , 该程序采用类型的算法。(解析法/穷举法)
  • 3、对一段字符(仅包含大小写字母和数字)加密,加密规则为:①字母和数字都往后循环顺移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)、请在画线处填入合适的代码:

     ② ③ 

  • 4、给定区间[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为
  • 5、反转字符串,如输入字符串为“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
  • 6、若在文本框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
  • 7、有如下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条记录
  • 8、“不重复数”的特征是任何相邻两个数位上的数字都不相同。如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、③、②、①
  • 9、有如下Ⅴ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
  • 10、在文本框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)、在填写空白处缺失的代码。

  • 11、对用户输入的字符串进行解密的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
  • 12、某仓库物品代码格式为“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

     ② ③ 

  • 13、有求和式 s=11+2+22+3+33+4++nn+(n+1) ,编写程序计算并输出当n=20时,s的值。
  • 14、数字反转,下面程序的功能是:输入一个非负整数,将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。如输入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)、划线②处应填入的语句为:
  • 15、小李编写了一个程序,用以实现下列功能:在文本框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

  • 16、对称字符串的特征是从左到右读和从右到左读是完全一样的。如“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="不对称"

  • 17、利用格里高利公式 π4=113+1517+ 求π,直到最后一项的值小于0.0001为止,输出π的值。

    Private Sub Command1_Click()

        Dim Pi As Single, t As Single

        Dim n As Integer, s As Integer

        Pi = 0

        t = 1: n = 1: s =1

        Do While Abs(t) >= 0.0001

            Pi = Pi + t

            n =

            s=

            t = s / n

        Loop

        Text2.Text =

    End Sub

  • 18、一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数称为质数又称素数,下列程序用来判断文本框1中输入的数是否素数,请完善以下三处代码。

    Dim i As Integer, m As Integer, flag as Boolean

    m =

    flag=

    For i = 2 To int(sqr(m))

        If Then

            flag=false

            Exit For

        End if

    Next i

    If flag=true Then

        Text2.Text = str(m) +"是素数"

    Else

        Text2.Text = str(m) +"不是素数"

    End if

  • 19、利用海伦公式求三角形面积的算法属于(   )
    A、排序法 B、解析法 C、枚举法 D、查找法
  • 20、法就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析式表示出来,解决了这些表达式,问题也就得以解决。
上一页 868 869 870 871 872 下一页 跳转