相关试卷

  • 1、设某汉字由7×7的0、1点阵图案组成。依照以下规则生成压缩码:连续-组数值,从汉字点阵图案的第一行第一个符号开始计算,按书写顺序由左到右,从上到下。压缩码第一个数表示起始的数字(例如0),第二个数表示连续有几个0,第三个数表示接下来连续有几个1,第四个数表示接下来连续有几个0,第五个数表示接下来连续有几个1,以此类推……

    例如,以下汉字点阵图案:

    0001000

    0001000

    0001111

    0001000

    0001000

    0001000

    1111111

    对应的压缩码是031616431616137,表示开始数字是0,有3个,接下来1个1,6个0,1个1……

    (1)、修改程序中的错误。

    Private Sub Commandl_Click()

    Dim code As String,c As Integer,res As String,k As Integer

    code=Text 1.Text

    k=0

    res=""

    c=Val(Mid(code,1,1))

    For i=2 To Len(code)  

      For j=1 To     ‘①

          res=res +Str(c)

          k= k+1

          If k=7 Then

            List1.AddItem res

            k=0

            res=""

          End If

      Next j

      c=    ‘②

    Next i

    End Sub

    (2)、现给出如下点阵图:

    则压缩码为

  • 2、用户注册某APP时,密码有如下要求:至少为8个字符,并且必须含有数字和字母。小林编写了一个VB程序,对用户设定的密码进行合法性验证,如图所示。在文本框Text1中输入密码字符串s,单击“验证”按钮,在标签Label1中显示验证结果“符合要求”或“不符合要求”。

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

    Private Sub CmdJudge_Click()

    Dim al As Integer,a2 As Integer,flag As Boolean

    Dim s As String,c As String,i As Integer,n As Integer

    a1=0:a2=0:flag=False

    s=Text1.Text:   ①   

    i=1

    Do While i<=n And Not flag

        c=Mid(s,i,1)

        If c>="A" And c<="Z" Or c>="a" And c<="z" Then

           al=1

       Elself c>="0"And c<="9" Then

           a2=1

       End If

       If  ②  Then flag=True

       i=i +1

    Loop

    If flag And n>= 8 Then

       Label1.Caption="符合要求"

    Else

       Label1.Caption="不符合要求"

    End Sub

    (2)、代码“Private Sub CmdJudge_Click()”中的“CmdJudge”是(单选,填字母:A .过程名/B .属性名/C .事件名D .对象名)。
    (3)、运行该程序,在文本框Text1中输入“Wd6b$ksss”,单击“统计”按钮后,语句c=Mid(s,i,1)共执行了次。
  • 3、统计不同单词个数,在Text1中输入一行单词,点击“统计”按钮后在Text2中输出不同单词的个数。单词字母有大小写,同一单词的大小字母视为相同,句子以符号结尾,程序运行界面如图所示。

    (1)、观察以下代码,该代码中 Command1_Click()是。(单选:A .对象名/B .事件名/C .事件处理过程名)
    (2)、实现上述功能的 VB.程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim a(1 To 100)As String, s As String, ch As String, word

    As String

    Dim i As Integer,j As Integer,k As Integer, numb As Integer

    s=Text1.Text:k=0:word=" "

    For i=1 To Len(s)

    ch=Mid(s,i,1)

      If ch>="a"And ch<="z"Оr ch>="A"And ch<="Z"Then

        If ch>="A" And ch<="Z"Then  ①  

        word=word+ch

      Else

        flag=False

        For j=1 To k

          If a(j)=word Then flag=True

        Next j

        If Not flag And word<> ''Then

            ②  

          a(k)=word

          numb=numb+1

        End If

          ③  

      End If

    Next i

    Text2.Text=Str(numb)

    End Sub

  • 4、有VB 程序段如下:

    Randomize

    For i=1 To 6

      a(i)= lnt(Rnd * 20)+1

      If a(i)Mod 2=i Mod 2 Then

        a(i)= a(i)-1

      Else

        a(i)= a(i)+2

      End If

    Next i

    执行该程序段后,a(1)~a(6)各元素可能的是(  )

    A、13,2,7,12,5,18 B、22,7,0,15,4,19 C、20,9,18,23,4,7 D、6,0,4,21,18,17
  • 5、已知数组元素值:a(1)=2,a(2)=8,a(3)=3,a(4)=4,a(5)=5,a(6)=6,a(7)=1,a(8)=7,a(9)= 9

    m=1:k=1

    For i=2 To 9

        If a(i)>a(i-1)Then

          k=k+1

          If k>m Then m=k

        Else

          k=1

        End If

    Next i

    Text1.Text=Str(m)

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

    A、4 B、6 C、8 D、9
  • 6、在Text1文本框内输入字符串,单击去重按钮,将字符串后面相同的字符删除,并在Text2中输出经过删除的字符串。程序界面如图所示。请在下面划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim s As String,s1 As String,c As String

    s=Text1.Text

    For i=1 To Len(s)

      c=Mid(s,i,1)

      s1=  ⑴  

      For j=  ⑵  

        If c<>Mid(s,j, 1)Then

          s1=s1+Mid(s,j,1)

        End If

      Next j
             
    Next i
    Text2.Text=s
    End Sub

    A、(1)Mid(s,1,1)    (2)i+1 To Len(s)    (3)s1=s B、(1)Mid(s,1,1)    (2)i To Len(s)       (3)s1=s C、(1)Mid(s,1,i)     (2)i To Len(s)       (3)s=s1 D、(1)Mid(s,1,i)     (2)i+1 To Len(s)    (3)s=s1
  • 7、有如下程序段:

    Const n=6

    Dim a(1 To n)As Integer

    Dim i As Integer,j As Integer,t As Integer

    Do While True

      For i=1 To n-1

          If a(i)>a(i+1)Then Exit For

      Next i

      If i < n Then

          For i=1 To n

            j=Int(Rnd * 6)+1

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

          Next i

      Else

          Exit Do

      End If

    Loop

    数组中a(1)到a(6)的值依次为“56,34,48,87,65,96”,上述程序段执行后a(1)到a(6)的值依次为(  )

    A、96 87 65 56 48 34 B、344856658796 C、选项A和B都有可能 D、选项A和B都不可能
  • 8、有如下VB程序段:

    Dim a(1 To 6)As Integer

    Sum=0

    For i=1 To 6

      For j=i+1 To 6

        If j Mod i=0 Then a(j)=1-a(j)

      Next j

    Next i

    For i=1 To 6

      Sum=Sum+a(i)

    Next i

    Text1.Text=Str(Sum)

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

    A、3 B、4 C、5 D、6
  • 9、有如下VB程序段:

    Dim i As Integer,sum As Integer

    Dim a(1 To 6)As Integer,b(1 To 6)As Integer

    Sum=0

    a(6)=18:a(5)=7:b(6)=14:b(5)=16

    For i=4 To 1 Step-1

      a(i)=a(i+2)-a(i+1)

      b(i)= b(i+2)-a(i)

      If b(i)Mod 3=0 Then sum=sum+b(i)

    Next i

    Text1.Text=Sir(sum)

    该程序段运行后,文本框Text 1中显示的内容是(  )

    A、39 B、30 C、-9 D、12
  • 10、有如下VB程序段:

    Dim i As Integer,j As Integer,t As Integer

    Dim p(1 To 20)As Integer

    For i=1 To 20

        p(i)=0

    Next i

    p(1)=-1

    For i=2 To 20

        If p(i)=0 Then

          For j=2 To 20\i

            p(i* j)=-1

          Next j

        End If

    Next i

    t= 20

    For i=1 To 20

        t=t+ p(i)

    Next i

    Text1.Text=Str(t)

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

    A、20 B、12 C、10 D、8
  • 11、有如下VB程序段:

    Dim a(I To 10)As Integer

    Dim s(1 To 10)As Integer

    Private Sub Form_Load()

      a(1)=3:a(2)=6:a(3)=8:a(4)=4:a(5)= 9

      a(6)=5:a(7)=3:a(8)=3:a(9)=8:a(10)= 6

    End Sub

    Private Sub Command1_Click()

      Dim max As Integer,i As Integer,j As Integer, k As Integer

      max=0

      For i=1 To 10

        k=0

        For j=10 Toi Step -1

            If a(j)=a(i)Then k=j:Exit For

        Next j

        If k > 0 And k- i > max Then max=k-i

      Next i

      Text1.Text=Str(max)

    End Sub

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

    A、5 B、6 C、7 D、8
  • 12、用VB。模拟设计某软件的登录界面,如图所示,当鼠标单击“<请输入账号>”所在的文本框Textl时,文字内容就消失。则此事件处理的过程名应该是(  )

    A、登录窗口_Click B、Text1_KeyPress C、Commandl_Click D、Textl_Click
  • 13、某算法的部分流程图如图所示。输入s值为2018,执行这部分流程图后,s和i的值分别是(  )

    A、1,3 B、1,4 C、2,3 D、2,4
  • 14、罗马数字是阿拉伯数字传人之前使用的一种数码。罗马数字采用七个罗马字母作数字,即I(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。记数的方法如下:

    ①相同的数字连写,所表示的数等于这些数字相加得到的数,如Ⅲ=3;

    ②小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如Ⅷ=8、XⅡ=12;

    ③小的数字(限于Ⅰ、X和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9;

    王老师设计了一个将罗马数字转换成阿拉伯数字的程序,实现该功能的程序代码如下:

    Private Sub Command1_Click()

    Dim a(1 To 10)As String

    Dim b(0 To 10)As Integer

    Dim x As String,c As Integer,j As Integer

    x=Text 1.Text

    j=Len(x)

    b(0)= 0

    c=0

    For i=1 To j

       a(i)= Mid(x,j-i+1,1)

       b(i)=zh(a(i))

       If  ①  Then

         c=c-b(i)

       Else

         c=c+b(i)

       End If

    Next i

    Label2.Caption="结果:"+Str(c)

    End Sub

    Function zh(xAs String)As Integer

    s="IVXLCDM"

    zh=1

    For i=1 To 7

      If  Then

        Exit For

      Elself  ②  Then

        zh=zh*5

      Else

        zh=zh*2

      End If

    Next i

    End Function

    (1)、程序界面如图所示,程序中共包含个对象。

    (2)、加框处代码有错,应改为
    (3)、为完善程序,在划线处填入合适的代码。

    (4)、罗马数字MCMLXXX转换成阿拉伯数字为
  • 15、十进制整数换成二进制整数采用“除2倒取余”法。十进制小数转换成二进制小数采用“乘2顺取整”法,具体做法是:用2乘十进制数的小数部分,得到一个积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。小刘根据以上方法编写了VB程序,运行界面如图所示。程序运行时,在文本框Text1中输入一个带小数的正十进制数(小于32767),点击“转换”按钮Command1,在文本框Text2中输出转化后的带小数的二进制数,精确到3位小数。实现上述功能的VB程序如下,请回答下列问题:

    (1)、按照本程序的功能,在Text1中输入数据9.78,点击“转换”按钮Command1,在Text2中输出
    (2)、请在划线处填入合适的代码.

    Private Sub Command1_Click()

      Dim i As Integer,pos As Integer

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

      Dim s1 As Single,s2 As Single

      result=" ": i=1

      s=Text 1.Text

      c=Mid(s,i,1)

      Do While c<>"."

        i=i+1

        c=Mid(s,i,1)

      Loop

      pos=i

          ①    

      s2 = Val("0."+Mid(s,pos +1))

      result=convert(s1)&"." & convert(s2)

      Text2.Text=result

    End Sub

    Function convert(x As Single)As String

      Dim temp As Integer,k As lnteger

      If x>=1 Then '整数转化为二进制

        temp=x Mod 2

        result=temp & result

        x=x\2

        Do While x <>0

          temp=x Mod 2

          result=temp & result

          x=x\2

        Loop

      Else  '小数转化为二进制,保留3位小数

        k=1

        Do While   ②   

          temp=Int(x*2)

          result=result & temp

                   ③     

              k=k +1

            Loop

        End If

        convert=result

      End Function

  • 16、有如下VB程序段:

    Private Sub Command1_Click()

    Const s1="efg"

    s2="&auif,+eg$Ymfhe":s3=" "

    For i=1 To Len(s2)

      If being(Mid(s2,i,1),s1)Then

      s3=s3+Str(i)+","

    End If

    Next i

    Text 1.Text=s3

    End Sub

    Function being(x As String,y As String)As Boolean

    being=False

    For i=1 To Len(y)

      If x=Mid(y,i,1)Then

      being=True:Exit Function

    End If

    Next i

    End Function

    执行后文本Text1中显示的内容是 (  )

    A、4,5,6,9,10 B、5,8,9,13,15, C、2,1,3,3,1, D、4,5,6,13,15,
  • 17、某程序段如下:

    Private Sub Command1_Click()

      Dim s As Integer,m As Integer,i As Integer

      m=5:s=0

      For i=1 To m

        s=s + add(i)

      Next i

      Text 1.Text=Str(s)

    End Sub

    Function add(n As Integer)As Integer

      If n=1 Or n=2 Then

        add=1

      Else

        add=2*(add(n-1)+ add(n-2))

    End Function

    运行该段程序后,标签 Textl 中显示的值是 (  )

    A、16 B、44 C、6 D、32
  • 18、若在文本框Text1、Text2、Text3中分别输入2,5,6,下列程序段运行后,标签Label2中显示的内容是(  )

    Private Sub Commandl_Click()

    Dim a As Integer, b As Integer,cAs 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
  • 19、Base64编码是将待转换的字符串以每3个字节分为一组转换为24位二进制数,再以每6位二进制数一组分为4组,转换为4个字节。对照下面的Base64编码表,根据每个字节的十进制值转换为对应的加密字符。

    十进制值

    0

    1

    24

    25

    26

    27

    50

    51

    52

    61

    62

    63

    加密字符

    A

    B

    Y

    Z

    a

    b

    y

    z

    0

    9

    +

    -

    现设计一个程序,在文本框Text1输入字符串(长度为3的倍数),在文本框Text2输出对应的Base64加密字符,运行效果如图所示,实现上述功能的VB代码如下:

    Private Sub Commandl_Click()

    Dim s As String,txt As String

    Dim s1 As String,t As String

    Dim tmp As Integer,n As Integer

    Dim i As Integer,j As Integer

    Dim ans As String

    txt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq

    rstuvwxyz0123456789+-"

    s1 = Text1.Text

    For i = 1 To Len(s1)

      n=

      t = " "

      For j = 1 To 8

        t = n Mod 2& t

           ①  

      Next j

      s = s & t

    Next i

    Fori=1 To Len(s)

      '二进制编码转换为加密字符

      tmp=     ②    

      If i Mod 6 = 0 Then

        ans = ans&Mid(txt,tmp+1,1)

        tmp=0

      End If

    Next i

    Text2.Text=ans

    End Sub

    (1)、代码“Private Sub Command1_Click()”中的Command1Click是(单选,填字母:A .属性名/B .事件名/C .事件过程/D .方法名)。
    (2)、程序代码加框处有错,请改正。
    (3)、请将程序代码划线处语句补充完整。

     ② 

    (4)、根据图中数据,结合程序代码,最终i的值是
  • 20、趣味数学题:n的阶乘n!=1×2×3×4×5×…×n,当n≥5时,其结果末尾必然包含1或多个0,求n!(5≤n≤32726)末尾包含0的个数。算法思路:n较大时,n!的值将超出long类型范围,求出n!的结果再数0的个数不现实。那么末尾的0到底是从哪里来的?每一个因子5与任一偶数相乘就会产生一个0。所以末尾有多少0是由因子5的个数决定的,求出因子5的个数即是末尾0的个数。程序运行界面和代码如下所示。

    (1)、为使窗体加载时,窗体标题栏自动显示为“第14题程序”,则可以在过程(填写过程名)中添加代码:Form1.Caption=“第14题程序”。
    (2)、实现上述算法的VB程序如下,请补充程序中划线处的代码。

    Private Sub Commandl_Click()

    Dim n As Integer

    n=Val(Text1.Text)

    i=1

    Do While    ①   

      s=s+n\5^i

      i=i+1

    Loop

    List1.AddItem Str(n)+"!末尾包含0的个数:"+  ② 

    End Sub

    (3)、根据上述算法,2018!末尾包含0的个数是
上一页 1355 1356 1357 1358 1359 下一页 跳转