某 VB 的事件过程如下:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text)
a = 3 * a + 1
Text1.Text = Str(a)
End Sub
程序运行时,在文本框 Text1 中输入 1,连续两次单击命令按钮 Command1 后,文本框 Text1中显示的内容是( )
A.13B.9C.4D.1
当前题号:1 | 题型:选择题 | 难度:0.99
李雷收到了朋友发给他的一封奇怪的邮件,里面有段内容是由一些数字和符号组成。信上面说,这段内容是加密后的内容,并给出了具体加密方法(假定原文的英文字母都是大写的),具体方法如下:
(1)“A”变为一个1到100内的随机整数×27+1,“B”变为一个1到100内的随机整数×27+2,……,“Z”变为一个1到100内的随机整数×27+26;
(2)每个字母变为数字后会加上一个“-”用来分隔数字;
(3)其他空格和标点字符都按原文表示。
 
李雷利用VB编写了一个解密程序,功能如下:将邮件中密文的内容复制到文本框Text1中,点击“解密”按钮Command1后,程序将解密后的内容显示在文本框Text2中。
(1)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(2)根据描述,若密文为“1905-1442-” ,则表示的是________________。
Private Sub Command1_Click()
Dim s As String, yw As String, t As String
Dim value As Integer    
s=Text1.Text
value=0
yw=""
For i=1 To Len(s)
___________________    ‘① 
If t>="0" And t<="9" Then 
value=value*10+Val(t)

ElseIf t="-" Then 

  yw=yw+Chr(Asc("A")+value Mod 27-1)

   ____________________   ‘② 
Else
___________________ ‘③ 
End If
Next i
Text2.Text=yw
End Sub
当前题号:2 | 题型:填空题 | 难度:0.99
编写“二进制数转换为十六进制数”程序,实现如下功能:在文本框 Text1 输入一个二进制数,单击“转换”按钮 Command1,将二进制数转换为十六进制数并在文本框 Text2 中显示。程序运行界面如下图所示。

(1)设计如图所示的程序界面,至少要使用_____个类(填数字)。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s1 As String, s2 As String
Dim i As Integer, x As Integer
Const code="0123456789ABCDEF"
s1=Text1.Text
s2=""
Do While Len(s1) Mod 4<>0 
s1="0"+s1
Loop
x=0
i=1
Do While i<=Len(s1)
x=x*2+Val(Mid(s1,i,1))  
i=i+1  
If ____________    Then ‘(1)
s2=s2+Mid(code,x+1,1)
______________  ‘(2)
End If
Loop
Text2.Text=s2
End Sub
(3)若文本框 Text1 中输入的内容为“101101” ,单击“转换”按钮后,文本框 Text2 中显示的内容是_______。
当前题号:3 | 题型:填空题 | 难度:0.99
某木材加工厂需要把购入的木料切割成长度为3米和7米两种规格的线材。现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框Text1中输入木材长度,单击“计算”按钮Command1,计算出一种废料长度最小的切割方案,在文本框Text2和文本框Text3中分别输出该切割方案所得3米和7米两种规格线材的数量。请将代码补充完整。

Private Sub Command1_Click ()
Dim length As Single '木料长度
Dim min As Single    '最小废料长度
Dim x As Integer   '3米规格线材数量
Dim y As Integer   '7米规格线材数量
Dim f As Single '废料长度
Dim a As Integer   '废料最少的切割方案所得3米规格线材数量
Dim b As Integer   '废料最少的切割方案所得7米规格绒材数量
length=Val(Text1.Text)
min=length
For x=0 To _________ ‘(1)
y=(length-3*x)\7
____________    ‘(2)
If f<min Then
min=f
a=x
_____________  ‘(3)
End If
Next x
Text2.Text=Str(a)
Text3.Text=Str(b)
End Sub
当前题号:4 | 题型:填空题 | 难度:0.99
有如下VB程序段:
Dim a(1 To 5)  As  Integer
Pos=-1
i=1
Do While i<=10
If  i Mod 2=0  Then  a(i)=i*2  Else  a(i)=i
i=i+1
Loop
i=10
Do While  i>=1
If  a(i)=12  Then  Pos=i
i=i-1
Loop
该程序段运行后,变量Pos值是(  )
A.1B.2C.6D.10
当前题号:5 | 题型:选择题 | 难度:0.99
关系表达式0<x<1对应的VB表达式是(   )。
A.x>0 or x<1B.0<x<1
C.x>0 and x<1D.x<1
当前题号:6 | 题型:选择题 | 难度:0.99
在文本框Text1中输入一组12位以内的二进制数,将该二进制数转化为十六进制数后在Label1中输出。程序运行后如图所示,请完成以下题目。

(1)若要在窗体加载时,自动将文本框宽度调整为5000,则需在Form_Load()过程中加入语句Text1._____=5000(填字母:
A.Caption /B.Height /C.Width /D.Left)。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private  Sub  Command1_Click()
Dim  a(1 To 12)  As  String ’a数组用以存储二进制数
Dim  b(1 To 3)  As  Integer  ’b数组用以存储十六进制数
Dim  m, n  As  String
Dim  i, j, k  As  Integer
m = _______
For i = 12 To 12 - Len(m) + 1 Step -1 ’将每位二进制数保存到数组a中
a(i) = ______
Next i
For  i = 1 To 3   ’将每4位二进制数转化为十进制数后保存到数组b中
For  j = 4 To 1 Step -1
b(i) = b(i) + Val(a(i * 4 - j + 1)) * 2 ^ (j - 1)
Next j
Next i
For  i = 1 To 3
If  b(i) < 10  Then  m = Chr(b(i) + 48)  Else  m = Chr(b(i) + 55)
n = n & m
Next i
Label1.Caption = "转换后的十六进制数为:" + n
End  Sub
(3)若程序运行后,若在文本框中输入二进制数1101101101,则在Label1中显示的内容为:转换后的十六进制数为:____。
当前题号:7 | 题型:填空题 | 难度:0.99
(加试题)在文本框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)在空白处填写缺失的代码。
当前题号:8 | 题型:填空题 | 难度:0.99
(加试题)有如下程序段,文本框中输入19后单击命令按钮,则窗体中显示的数字为
Private Sub Command1_Click()
Dim m, n, sum, left, mid, key, s As Integer
Dim a(1 To 13) As Integer
a(1) = 2: a(2) = 3: a(3) = 8: a(4) = 16: a(5) = 19: a(6) = 27
a(7) = 29: a(8) = 32: a(9) = 49: a(10) = 64: a(11) = 72: a(12) = 99
m = 1: n = 12
key = Val(Text1.Text)
mid = (m + n + 1) \ 2
Do While a(mid) <> key And m <= n
If a(mid) > key Then n = mid - 1: left = left + 1 Else m = mid + 1
mid = (m + n) \ 2: sum = sum + 1
Loop
Print sum,left
End Sub
A.1 1B.1 2C.2 1D.2 2
当前题号:9 | 题型:选择题 | 难度:0.99
(加试题)如图所示程序运行时,点击“生成”按钮,随机产生100个不重复的仅由数字和大小写字母组成的3位字符串并显示在List1中,点击“排序”按钮,将所有字符串排序后在List2中输出。要求:数字开头的字符串在前并按升序排序,字母开头的字符串在后并按降序排序。

实现上述功能的代码如下,但划线处代码有错,请改正。
Private Sub Command1_Click()
‘随机产生100个不重复的仅由数字和大小写字母组成的3位字符串并存储到数组zfc(1)至zfc(100)中,同时在List1中显示,代码略。
Private Sub Command2_Click()
Dim zfc(1 to 101) as integer
Dim i, j, m, k As Integer
Dim s As Boolean
For i = 1 To 100
If Asc(Mid(zfc(i), 1, 1)) >=48  Then  t = t + 1    ________________
Next  i
For i = 1 To 99
For  j = i + 1 To 100 _____________
If zfc(j - 1) > zfc(j) Then
zfc(101) = zfc(j - 1): zfc(j - 1) = zfc(j): zfc(j) = zfc(101)
End If
Next  j
Next  i
For  i = t + 1 To 99
k = i
For  j = i + 1 To 100
If zfc(k) < zfc(j) Then k = j
Next j
If  k <> i Then zfc(101) = zfc(i): zfc(i) = zfc(k): zfc(k) = zfc(101)
Next  i
For  i = 1 To 100
List2.AddItem zfc(i)
Next  i
End sub
当前题号:10 | 题型:填空题 | 难度:0.99