相关试卷

  • 1、某字符(限ASCII字符)加密算法,对明文中的每个字符进行下列加密处理:

    ⑴将该字符的ASCII码转换成对应的2位十六进制数;

    ⑵将产生的十六进制数互换位置;

    ⑶步骤⑵产生的二位十六进制数即为该明文字符加密后的密文字符。

    小明按照上述方法,设计了一个字符串加密的VB程序,功能如下:单击“生成密文”按钮 Command1,程序依次将文本框Text1中每个字符按上述规则进行加密处理,连接这些加密字符,最后在文本框Text2中输出加密结果。程序运行界面如图所示。

    实现上述功能的VB程序如下:

    (1)、按照上述加密算法,明文“B”生成的密文是
    (2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private sub Command2_Click()

    Dim s As String, a As String, ans As String

    Dim c As Integer, i As Integer

    Dim s1 As String

    s= Text1. Text

    ans=" "

    For i=1 To Len(s)

    a=Mid(s, i, 1)

    s1=

    ans=

    Next i

    Text2. Text=ans

    End Sub

    Function DToh(x As Integer)As String

    Dim str As string

    str="0123456789ABCDEF"

    Do While x < > 0

    t=x Mod 16

    x=x\16

    Loop

    End Function

  • 2、下列表达式的运算结果与其他选项不同的是(  )
    A、Len("123")+2^2 B、Abs(Int(-6.8)) C、Asc(Mid("789",1,1)) D、Val("9")-sqr(4)
  • 3、下列VB表达式的值等于数值2020的是(  )
    A、Abs(Int(-2020.34)) B、Len(“2019”)+1 C、Str(2010)+”10” D、Mid(“19-3-2020”,6,4)
  • 4、已知整型变量x的值为-3,则VB表达式Int(x/2)的值是(  )
    A、-2 B、0 C、-1 D、2
  • 5、下列Visual Basic表达式的值等于56的是(  )
    A、Mid("1234567", 5, 2) B、Abs(-55) + 1 C、Sqr(56) D、Len("55") + 1
  • 6、下列表示式中,运算结果错误的是(  )。
    A、4/5=0.8 B、4\5=0 C、5 mod 4=1 D、4 mod 5=0
  • 7、返回指定日期“日”部分的函数是(  )。
    A、Date( ) B、Day( ) C、Year( ) D、Month( )
  • 8、下列属于Visual Basic实数常量的是(  )
    A、0.618 B、1/2 C、True D、"2014-9-1"
  • 9、银行给用户计算利息时,结果中会产生很多位小数,通常结果保留一位小数,并对第二位小数进行四舍五入。假设结算的利息是x元,在Visual Basic中,上述算术问题的表达式应是(  )
    A、Int(x*10+0.5)/10 B、Int(x*100+0.5)/100 C、Int(x*100)/100 D、Int(x*100+0.5)/10
  • 10、某算法的部分流程图如图所示,执行这部分流程后,变量x和Flag的值分别是(  )

    A、2,True B、3,True C、2,False D、3,False
  • 11、产生[1,50] 范围内某一随机整数的表达式是(  )
    A、Rnd * 50 B、Int(Rnd * 50) C、Int(Rnd * 50) + 1 D、Int (Rnd * 49) + 1
  • 12、下列关于对象的描述中,错误的是(  )
    A、对象的属性用于描述对象的状态 B、对象的属性与方法可以有多个 C、对象事件的发生会驱动该对象相应事件处理过程的执行 D、对象的属性值只能在属性窗口中设置
  • 13、在一个数组中存储了若干个学生的技术成绩小题分,其中a(1)存储学生个数,从a(2)开始按顺序存储小题分数据。每个学生有33个小题的数据,例:a(2)—a(13)是“学生1”的信息客观题得分,a(27)—a(30)是“学生1”的信息主观题得分;a(14)—a(26)是“学生1”的通用客观题得分,a(31)—a(34)是“学生1”的通用主观题得分。

    具体如下表:

    小李根据上述描述,设计了一个统计所有学生信息各题得分率的算法。程序运行后,首先在列表框List1中显示信息技术各小题得分,单击“计算”按钮“Command1”,在列表框List2中显示信息各题的题号和得分率,并在文本框Text1中输出所有学生的信息平均分(平均分=各题得分率*分值之和)。

    算法的VB程序如下,回答下列问题。

    (1)、根据题目描述,使用如图所示数据,a(95)的数值是
    (2)、在程序划线处填上合适代码,使程序完整。

    Dim a(1 To 1000) As Integer, n As Integer

    Private Sub Form_Load()

    ‘读入数据到数组a,数据个数n,代码略

    End Sub

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Dim fz(1 To 16) As Integer       'fz数组存储信息各题满分值

    Dim b(1 To 33) As Single     '数组b存储全卷各题的平均得分

    For i = 1 To 16      '数组fz存储信息16个小题的满分值

    If i <= 12 Then fz(i) = 2

     fz(13) = 4: fz(14) = 8: fz(15) = 7: fz(16) = 7

    Next i

    For i = 2 To n       '把数组a数据分别统计到各题中,计算各题总得分

       ①  

     b(j) = a(i) + b(j)

    Next i

    For i = 1 To 33

     If i <= 12 Then

     b(i) = b(i) /(a(1) * fz(i))        '计算信息客观题各题的得分率

     ElseIf i >= 26 And i <= 29 Then

     b(i) =   ②  

     End If

    Next i

    For i = 1 To 16

     If i > 12 Then j = i + 13 Else j = i

     b(j) = Int(b(j) * 1000 + 0.5) / 10         '对结果四舍五入保留1位小数

     List2.AddItem Str(i) + Str(b(j)) + "%"

     ave=   ③  

    Next i

    Text1.Text = Str(ave / 100)

    End Sub

    , ② , ③

  • 14、某地2017.1~2017.2月的日期及日最高气温据保存在数据库中。要求根据日最高气混,找出两个月中连续降温的次数、最长降温天数及其日期。小刘为此编写了VB程序,程序运行后,单击按钮Command1后,在Label1和Label2上输出运行结果。实现上述功能的VB代码如下,但加框处有错,请改正。

    Dim a (1 To 59) As String    '依次存2017.1~2017.2月的日期数据

    Dim b (1 To 59) As Integer    '依次存2017.1~2017.2月的日最高气温数据

    Private Sub Form Load()

    '从数据库中按2017.1~2017.2的日期次序,取日期和日最高气温数据,分别存储在数组a和b中,代码略

    End Sub

    Private Sub Command1_Click()

    Dim d As Integer, n As Integer, dmax As Integer, m As Integer

    n= 0: d= 1: dmax =1

    For i= 2 To 59

    If Then      '①

    d=d+1

    Else

     d=1

    End If

    If d =2 Then n=n+1

    If d > dmax Then

    dmax=d

    m=i

    End If

    Next i

    Label1.Caption="连续降温次数" & Str(n)

    Label2.Caption="连续最长降温日期为" & & "—" & Str(a(m))     '②

    End Sub

  • 15、在某打游戏中,一开始每个玩家各有17张牌,牌型从小到大分别为“3~10、J、Q、K、A、2”,每种牌最多4张,现在按指定规则的顺序打牌:打完为止,规则如下:

    先打顺子牌(顺子指连续的5个及以牌型,如45678,顺子最大到A),若有多个顺子,先长后短长度和同按先小后大的顺序打出然后按4张、3张、2张、1张的顺序出牌,同一个牌型从小到大。

    小刘依据上述算法设计了VB程序,其中牌型“10”用数字“0”代替表示,如图所示,请回答下列问题。

    (1)、若初始牌型为344445566790JQKA2,第2次出的牌为
    (2)、请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Dim a (1 To 13) As Integer, max As Integer, t As Integer, last As Integer

    Dim sa As String, stem As String, flag As Boolean

    Const s="34567890JQKA2"       '用0代替牌10

    '发牌和洗牌代码略,在标签Label1显示初始牌型,洗牌后数组a各元素分别存储牌型3~2的数量

    t=17      '刚开始牌有17张

    Do While t>0      '打牌

    flag=True

    Do While flag   '寻找牌中有没有顺子牌

    max =0: k =1: flag=False

    For i=1 To 13

    If   ①   Then

    k=k+1

    If k > Max Then

     Max = k

    Last = i+1     '记录连续牌的最后一张

    End If

    Else

    k=1

    End If

    Next i

    If Max >= 5 Then '有顺子牌,把最长的这把顺子打出来

    flag=True: sa= ""

    For j =    ②    To last

    Stem=Mid(s, j, 1)

    sa=sa +stem+ ""

    a(j)=a(j)-1

    Next j

    List1.AddItem sa     '顺子在列表框显示

    t=t-max

    End If

    Loop

    For i= 1 To 13     '出4个一样的牌

    If a(i)=4 Then

    stem=Mid(s, j, 1)

    List1.AddItem stem+stem+stem+stem

    a(i)=0

       ③  

    End If

    Next i

    '3张、2张、单张出牌,具体代码略

    Loop

    End Sub

     ② ③ 

  • 16、小杜编写了一个会议签到统计的VB程序。假设人员名单中没有重名,运行界面如图所示,列表框1显示会议应到人员名单,列表框2显示会议实际出席人员名单,单击“统计”按钮Command1,列表框3示缺席人员名单。实现上述功能的VB程序如下:

    请将划线处的代码补充完整。

    Dim b (1 To n) As String     '存储会议实际到的人员名单

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

    Private Sub Form_Load()

    '将n个应到人员姓名依次存储在数组a中,将m个实际参加会议人员姓名依次存储在数组b中

    '在列表柱1显示应到人员姓名,在列表框2显示实到人员姓名,该过程代码略

    End Sub

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    For i=1 To n

    flag(i)=False

    Next i

    i=1

    Do While i<=m

    For j=1 To n

    If      ①    Then

    flag(j)=True

    Exit For         '退出for循环

    End If

    Next j

    i=i+1

    Loop

    For i=1 To n

    If   ②   Then List3. AddItem a(i)

    Next i

    End Sub

     ② 

  • 17、某种纸牌游戏,三人一起玩一副牌,每人17张。5张及以上的连续单牌(不分花色)称为顺子,顺子最大到K,如“A,2,3,5,6”是长度为6的顺子。编写程序,判断游戏刚开始时某玩家有没有顺子,最长的顺子是几张。
    (1)、实现上述功能的VB代码如下,但加框处代码有误,请改正。

    Dim a(n) As Integer

    Private Sub Command1_Click()

    Dim max As Integer, count As Integer

    Dim i As Integer, j As Integer

    count=0: max=0

    i=1

    Do While i<=n-1

            '①

    j=i+1

    Do While j <= n

    If  Then         '②

    j=j+1

    count=count+1

    Else If a(j)=a(j-1) Then

    j=j+1

    Else

    Exit Do

    End If

    Loop

    i=    ③   

    If count>max Then max =count

    Loop

    If max<5 Then s ="无顺子" Else s= "最长顺子长度:"+Str(max)

    End Sub

    Private Sub Form_Load()

    '获取17张牌的数值(J、Q、K、A分别对应11、12、13、1),升序存储在数组a中

    End Sub

     ② 

    (2)、请将划线处的代码补充完整。
  • 18、编写VB程序,实现把数据key插入到升序序列中,得到一个新的升序序列,原升序序列各元素已依次存放在数组元素a(1)、a(2)、a(3)、……、a(10)中,VB程序段如下:

    i = 1: j = 10

    Do While i <= j

    m = (i + j) \ 2

    If key <= a(m) Then

         ‘①

    Else

        ‘②

    End If

    Loop

    For k = 10 To i  Step -1

        ‘③

    Next k

    a(i) = key

    要使程序实现上述功能,则方框①②③中的语句分别是(  )

    A、j = m - 1 i = m + 1 a(k + 1) = a(k) B、j = m - 1 i = m + 1 a(k) = a(k - 1) C、i = m + 1 j = m - 1 a(k + 1) = a(k) D、i = m + 1 j = m - 1 a(k) = a(k - 1)
  • 19、编写一个VB程序,功能如下:随机产生100个0到99之间的整数,在列表框list1中显示,单击“统计”按钮Command1,统计落入各范围的整数个数,在列表框 List2中按从高到低的顺序显示各范围的整数个数。程序运行界面如图所示。

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

    Const n = 100

    Dim a(1 To n)As Integer

    Private Sub Form_Load()

    '随机产生100个0到99之间的整数存数组a中,并在列表框list1中显示。

    End Sub

    Private Sub Command1_Click()

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

    Dim b(0 To 9)As Integer, c(0 To 9)As Integer

    For i = 1 To n

        ‘①

    Next i

    For i = 0 To 9

    b(i) = i

    Next i

    i = 0

    Do While i <= 8

    For j = i + 1 To 9

    If  Then    ‘②

    t = b(i): b(i) = b(j): b(j) = t

    t = c(i): c(i) = c(j): c(j) = t

    End If

    Next j

    i = i + 1

    Loop

    List2.AddItem " 范围元素个数"

    For i = 0 To 9

    List2.AddItem Str(b(i) * 10) + "~" + Str(b(i) * 10 + 9) + ": " + Str(c(i)) + "个"

    Next i

    End Sub

     ② 

  • 20、下列变量中合法的变量是(  )
    A、b90@ B、abc=9 C、hello D、888fl
上一页 1298 1299 1300 1301 1302 下一页 跳转