相关试卷
-
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