(加试题)一个简单的四则混合运算式子(算式中只包含整数、+、-、*、/、=)的运算规则是先进行“*”或“/”,再进行“+”或“-”,下列是用 VB编写的简单四则混合运算的程序,运行程序时在文本框 Text1 中输入四则运算式子,单击命令按钮 Command1,在标签Label1 中输出结果。程序界面及代码如下。请回答以下问题。
(1) 若在文本框 Text1 中输入式子“12*5-32/4+20=”,则运行程序后在标签 Label1 中显示的内容是_________。

(2) 请在划线①②③处填入合适的代码,让程序能实现计算功能。
Private Sub Command1Click
Dim a(1 To 100) As Single, b(0 To 100) As String
Dim s As String, c As String   
Dim sz As Integer, i As Integer, k As Integer
s = Text1.Text:k = 0
For i = 1 To Len(s)

c = Mid(s, i, 1)

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

sz = 0
Do While c >= "0" And c <= "9"
sz= ①________
i = i + 1
c = Mid(s, i, 1)
Loop
k = k + 1: a(k) = sz: b(k) = c
End If
Do While k > 1 And ②________
If b(k - 1) = "+" Then a(k - 1) = a(k - 1) + a(k)
If b(k - 1) = "-" Then a(k - 1) = a(k - 1) - a(k)
If b(k - 1) = "*" Then a(k - 1) = a(k - 1) * a(k)
If b(k - 1) = "/" Then a(k - 1) = a(k - 1) / a(k)
b(k-1) = b(k)
k = k - 1
Loop
Next i
Label1.Caption = "运算的结果是:" + Str(a(1))
End Sub
Function yxj(x As String) As Integer

If x = "*" Or x = "/" Then

yxj = 1

ElseIf x = "+" Or x = "-" Then

yxj = 2

Else

 ③________

End If

End Function
当前题号:1 | 题型:填空题 | 难度:0.99
某多选题共有6个候选项(A、B、C、D、E、F),得分规则是:全部答对得2分,部分答对得1分,未作答或有错误答案0分。设计一个能够评分的程序,要求如下:在文本框Text1中输入标准答案,在文本框Text2中输入学生答案。点击评分按钮Command1后,将得分显示在标签Label4中。程序界面如图所示:

(1)要使程序运行后,窗体Form1的标题栏中显示“评分”,正确的做法是_____ (单选,填字母:
A.将窗体的Text属性改为“评分”/B.在Form1_Load事件中输入代码Form1.Caption=”评分”/C.在Form1_Load事件中输入代码Form1.Name=”评分”);
(2)实现上述功能的程序如下,请在划线处填入合适的代码:
Private Sub Command1Click
Dim cans As String ,ans As String ,c As String ,count As Integer
Dim f(1 To 6) As Boolean
cans = Text1.Text:ans = Text2.Text
count = 0
For i = 1 To Len(cans)
c = Mid(cans, i, 1)
f(Asc(c) - 64) = True
Next i
For i = 1 To ①______     
c = Mid(ans, i, 1)
If f(Asc(c) - 64) = False Then
count = 0: Exit For
Else
count = count + 1
End If
Next i
If count = 0 Then
Label4.Caption = "0分"
ElseIf ②______ Then    
Label4.Caption = "2分"
Else
Label4.Caption = "1分"
End If
End Sub
(3)若去除加框处代码,且将文本框Text2的内容改为“BCD”,标签Label4显示的内容是_______。
当前题号:2 | 题型:填空题 | 难度:0.99
编写“十六进制加法”程序。程序运行时,在文本框Text1和文本框Text2分别输入两个十六进制数,单击“计算”按钮后在文本框Text3上输出两个十六进制相加后的结果。程序运行如图所示。

(1)观察代码,触发代码执行的事件名是________________________
(2)实现上述功能的VB程序如下,请在划线处填人合适的代码。
Private Sub Cmd1_Click()
Dim a1 As String, a2 As String, sum As String, t As String
Dim b1 As Integer, b2 As Integer
Dim dist As Integer, x As Integer, jw As Integer
a1 = Text1.Text: a2 = Text2.Text: sum = ""
dist = Len(a1) - Len(a2)
If dist < 0 Then
t = a1: a1 = a2: a2 = t
___________________
End If
For i = 1 To dist
a2 = "0" + a2
Next i
jw = 0
For i = __________________________ 
If Mid(a1, i, 1) >= "A" And Mid(a1, i, 1) <= "F" Then
b1 = Asc(a1) - 55
Else
b1 = Val(Mid(a1, i, 1))
End If
If Mid(a2, i, 1) >= "A" And Mid(a2, i, 1) <= "F" Then
b2 = Asc(a2) - 55
Else
b2 = Val(Mid(a2, i, 1))
End If
x = b1 + b2 + jw
jw = x \ 16
If __________________ Then
sum = Chr(x Mod 16 + 55) + sum
Else
sum = Str(x Mod 16) + sum
End If
Next i
If jw = 1 Then sum = "1" + sum
Text3.Text = sum
End Sub
(3)若将代码中加框处代码删除,则图中Text3中显示的结果为_________。
当前题号:3 | 题型:填空题 | 难度:0.99
执行程序后,a数组各元素是(  )
Dim a(1 To 7) As Integer
a(1) = 14: a(2) = 15: a(3) = 0: a(4) = 11: a(5) = 13: a(6) = 21: a(7) = 17
i = 6: flag = True
Do While i > 1 And flag
If a(i) Mod 3 = 0 And a(i) <> 0 Then
t = a(i): a(i) = a(i + 1): a(i + 1) = t
ElseIf a(i) = 0 Then
flag = flase
ElseIf a(i + 1) Mod 2 = 1 Then
a(i) = Abs(a(i) - a(i + 1))
End If
i = i - 1
Loop
A.14,0,15,4,17,13,21B.14,15,0,11,4,17,21
C.15,14,0,11,4,17,21D.14,15,0,11,13,4,17
当前题号:4 | 题型:选择题 | 难度:0.99
某数据加密方法描述如下:
先将字符转化为二进制的位数据并显示在文本框text2中,数据位数显示在标签Label1中
以16个数据为一段,将k个待加密数据依次分割成若干个数据段,剩余数据(个数小于16)为独立数据段。
数据加密规则:
数据个数等于16的数据段,在段内进行位置变换,得到加密数据段。
数据个数小于16的数据段,直接得到加密数据段。
依次合并加密数据段,即为最后的加密数据。
位置变换的规制,方法如下:

具体界面如下图所示:

(1)已知k=38,则数组元素b(26)对应值是数组a中的______________________。
(2)实现该功能的VB程序如下:

Private Sub Command1_Click()

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

Dim n As Integer, m As Integer

Dim s As String, s1 As String, c As Integer, ch As String

s = Text1.Text: Text2.Text = ""

n = Len(s)

k = 1

For i = 1 To n '获取字符的二进制数据存放在数组a()中

  n = Asc(Mid(s, i, 1))

  Do While n <> 0

   a(k) = n Mod 2

   n = n \ 2

   Text2.Text = Text2.Text + Str(a(k))

   k = k + 1

  Loop

Next i

       

List1.Clear

 

For m = 1 To (k - 1) \ 16    '对字符二进制按规则进行位变换,变换后的数据存放在数组b()中并输出

  For i = 1 To 4

    b(16 * (m - 1) + 4 * (i - 1) + 1) = a((m - 1) * 16 + i)

    

  Next i

  For i = 1 To 3

    b(16 * (m - 1) + 4 * (i - 1) + 3) = a((m - 1) * 16 + 10 + i)

    b(16 * (m - 1) + 4 * (i - 1) + 2) = a((m - 1) * 16 + 17 - i)

  Next i

  For i = 1 To 2

    b(16 * (m - 1) + 13 + i) = a((m - 1) * 16 + 4 + i)

  Next i

 

 For i = 1 To 4

  s1 = ""

  For j = 1 To 4

  s1 = s1 + Str(b(16 * (m - 1) + (i - 1) * 4 + j))

  Next j

  List1.AddItem s1

  Next i

List1.AddItem ""

Next m

 

s1 = ""

For i = ((k - 1) \ 16) * 16 + 1 To k - 1

   b(i) = a(i)

    If  Then

    s1 = s1 + Str(a(i))

    List1.AddItem s1

    s1 = ""

    Else

    s1 = s1 + Str(a(i))

    End If

Next i

List1.AddItem s1

 

Text3.Text = ""

For i = 1 To k - 1

Text3.Text = Text3.Text + Str(b(i))

Next i

End Sub

实现上述功能,请在划线处填入适当的代码:
程序中①处填入的是________________________________________。
程序中②处填入的是________________________________________。
程序中③处填入的是________________________________________。
当前题号:5 | 题型:填空题 | 难度:0.99
在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 = 1  
For  j =  2       
If c <> Mid(s, j, 1) Then
s1 = s1 + Mid(s, j, 1)
End If
Next j
3
Next i
Text2.Text = s
End Sub
A.(1)s1 = Mid(s, 1, 1)    (2)i + 1 To Len(s)   (3)s1 = s
B.(1)s1 = Mid(s, 1, 1)   (2)i To Len(s)    (3)s1 = s
C.(1)s1 = Mid(s, 1, i) (2)i To Len(s) (3)s = s1
D.(1)s1 = Mid(s, 1, i) (2)i + 1 To Len(s)  (3)s = s1
当前题号:6 | 题型:选择题 | 难度:0.99
对称字符串的特征是从左到右读和从右往左读是完全一样的。如“abba”是对称的,”abcba”也是对称的。判断字符串是否对称的VB程序段如下:
n = Len(s)  's是判断的字符串

  k = 0: j = n

  For i = 1 To n \ 2

  Next i

  If k = 0 Then Label1.Caption = "对称" Else Label1.Caption = "不对称"

方框中的代码由以下三部分组成:
①j = j - 1
②If c1< >c2 Then k = k + 1
③c1 = Mid(s,i,1) : c2 = Mid(s,j,1)
代码顺序正确的是(    )
A.①③②B.②③①
C.②①③D.③②①
当前题号:7 | 题型:选择题 | 难度:0.99
《张丘建算经》中有如下问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买鸡百只,问:鸡翁、母、雏各几何?利用VB程序解决这个问题,程序界面如图所示。

(1)根据下面代码可知,“求解”命令按钮的名称是:__________________
(2)解决此问题的VB程序代码如下,请在划线处填入合适的代码。
Private Sub Comd1_Click()
Dim x As Integer, y As Integer, z As Integer
Dim count As Integer
count = 0
For x = 0 To 20
For y = 0 To 33
______
If x * 5 + y * 3 + z / 3 = 100 Then
List1.AddItem "公鸡" + Str(x) + "只,母鸡" + Str(y) + "只,小鸡" + Str(z) + "只。"
count =___
End If
Next y
Next x
Label1.Caption = "共有" +___ + "种买法。"
End Sub
当前题号:8 | 题型:填空题 | 难度:0.99
(加试题)某字符串(字节数为 2 的倍数)编码规则如下:
(1)将该字符串内码分成 2 个字节一组,每个字节前补上一个 0,构成 9 位二进制,顺次链接后得到 18 位二进制;
(2)将得到的 18 位二进制数字分成 3 组,每组 6 位;
(3)在每组数字前补上两个 0,得到 3 个字节的二进制数;
(4)将(3)中得到的三个字节的二进制数分别转换为十进制数;
(5)将每个十进制数转换为 1 个加密字符,对应的“ 密码表 ”按数值由小到大依次为 012345678ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/” 小明按照上述方法,设计了一个字符串(仅包含 ASCII 字符)加密的 VB 程序,功能如下:单击“加密”按钮 Command1,程序依次将文本框 Text1 中每 2 个字符的 ASCII 码值按编码规则转换为三个加密字符,连接这些加密字符,最后在文本框 Text2 中输出加密结果。程序效果如下图所示。

实现上述功能的 VB 程序如下:
(1)在 Text1 中输入明文“AB”,用上述加密算法得到的密文为_____。
(2)实现上述功能的 VB 程序如下。请在划线处填入合适的代码。
Function cc(n As Integer) As String
Dim s As String
s = "012345678ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
_____
End Function
Private Sub Command1_Click()
Dim n As Integer, s As String, i As Integer, ss As String
Dim a1 As Integer, a2 As Integer
Dim b1 As Integer, b2 As Integer, b3 As Integer
s = Text1.Text
n = Len(s)
ss = ""
For i = 1 To n    Step 2
a1 = Asc(Mid(s, i, 1))
_____
b1 = a1 \ 8
b2 = _____
b3 = a2 Mod 64
ss = ss + cc(b1) + cc(b2) + cc(b3) Next i
Text2.Text = ss
End Sub
当前题号:9 | 题型:填空题 | 难度:0.99
编“数字按序组合输出十进制数”程序,实现如下功能:在文本框 Text1 中输入包含数字的字符串,单击“生成”按钮 Command1,程序将输入的字符串中所有数字按序组合成一个十进制数,最后将该十进制数在文本框 Text2 中显示。程序运行界面如下图所示。
(1) 要使程序运行时,窗体 Form1 标题显示“数字按序组合输出十进制数”,可在 Form_Load 事件过程屮添加语句_________(单选,填字母:
A.Form1 = "数字按序组合输出十进制数" /B.Forml.Text="数字按序组合输出十进制数"/C.Form1.Caption= "数字按序组合输出十进制数")。

(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click() Dim s As String , ch As String Dim x As Integer , i As Integer s = Text1.Text
x = 0 i = 1
For i = 1 To Len(s)
_____________
If ch >= "0" And ch <= "9" Then
_________
End If
Next i
Text2.Text = Str(x)
End Sub
(3)若文本框 Text1 中输人的内容为“My3day65New”,单击“生成”按钮后,则文本框 Text2 中显示的内容是_____。
当前题号:10 | 题型:填空题 | 难度:0.99