- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- + 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
某VB程序段如下:
s=0
For i=2 To 5
For j=i To 5
If j Mod i=0 Then
a(j)=a(j)+1
s=s+a(j)
End If
Next j
Next i
数组a的初值均为0,上面程序段执行后,最终变量s的值为( )
s=0
For i=2 To 5
For j=i To 5
If j Mod i=0 Then
a(j)=a(j)+1
s=s+a(j)
End If
Next j
Next i
数组a的初值均为0,上面程序段执行后,最终变量s的值为( )
A.6 | B.5 | C.4 | D.3 |
某 VB 程序代码如下:
n=Val(Text1.Text)
sum=n
k=4
Do While n\k>0
sum=sum+n\k
n=n\k+n mod k
Loop
Text2.Text=Str(sum)
在文本框 Text1中输入10,执行该程序段后,文本框 Text2中显示的值是( )
n=Val(Text1.Text)
sum=n
k=4
Do While n\k>0
sum=sum+n\k
n=n\k+n mod k
Loop
Text2.Text=Str(sum)
在文本框 Text1中输入10,执行该程序段后,文本框 Text2中显示的值是( )
A.12 | B.13 | C.14 | D.16 |
(加试题)某VB程序段如下:
s = ""
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then a(j) = 1 - a(j)
Next j
Next i
For i = 1 To 5
If a(i) = 1 Then s = s + Str(i)
Next i
Text1.Text = s
运行该程序段后,Text1中显示的内容为
s = ""
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then a(j) = 1 - a(j)
Next j
Next i
For i = 1 To 5
If a(i) = 1 Then s = s + Str(i)
Next i
Text1.Text = s
运行该程序段后,Text1中显示的内容为
A.2 3 5 | B.1 4 | C.2 5 | D.2 3 4 |
(加试题)小明编写了一个统计字符串中数字字符串之和的VB程序(如字符串“ab12.3cd34ef9”,中数字字符串之和为58:12+3+34+9),运行界面如图所示。在文本框Text1中输入字符串s,单击“统计”按钮Command1,在Label3中输出统计结果。

实现上述功能的VB程序代码如下,但划线处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String, ch As String
Dim ch2 As String, sum As Double
Dim n As Integer, i As Integer
s = Text1.Text
n = Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
j = i
ch2 = Mid(s, j, 1)
Do While ch2 >= "0" And ch2 <= "9"
j = j + 1
ch2 = Mid(s, j, 1)
Loop
sum = sum + Val(Mid(s, i, j – i - 1)) '②_____________
i = j
End If
i = i + 1
Loop
Label3.Caption = Str(sum)
End Sub

实现上述功能的VB程序代码如下,但划线处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String, ch As String
Dim ch2 As String, sum As Double
Dim n As Integer, i As Integer
s = Text1.Text
n = Len(s)
i = 1: sum = 0
Do While i < n '①_____________ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
j = i
ch2 = Mid(s, j, 1)
Do While ch2 >= "0" And ch2 <= "9"
j = j + 1
ch2 = Mid(s, j, 1)
Loop
sum = sum + Val(Mid(s, i, j – i - 1)) '②_____________
i = j
End If
i = i + 1
Loop
Label3.Caption = Str(sum)
End Sub
(加试题)异或的数学符号为“⊕”,其运算法则相当于不带进位的二进制加法:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(即符号两侧数值相同时,计算结果为0;数值不同时为1)。
如果要对两个十进制数进行异或运算,可以按以下步骤进行:
① 先将要进行异或运算的两个十进制数分别转换为二进制;
② 对两个二进制数按位进行异或运算;例:(101101)2⊕(111)2=(101010)2
③ 再把步骤②中的运算结果转换为十进制,该十进制数即为运算结果。
小明编写了一个VB程序来模拟上述运算过程,程序功能如下:在文本框Text1和Text2中分别输入要参加异或运算的十进制数,单击计算按钮Command1,程序对输入的两个数进行异或运算,并将运算结果显示在文本框Text3中,程序运行界面如图所示。
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Dim a1 As String, b1 As String
Dim lena1 As Integer, lenb1 As Integer, i As Integer
Dim result As String
a = Val(Text1.Text)
b = Val(Text2.Text)
If a > b Then
c = a: a = b: b = c
End If
result = ""
a1 = DtoB(a): b1 = DtoB(b)
lena1 = Len(a1): lenb1 = Len(b1)
i = 1
Do While i <= lena1
If Mid(a1, lena1 - i + 1, 1) = Mid(b1, lenb1 - i + 1, 1) Then
result = "0" + result
Else
result = "1" + result
End If
i = i + 1
Loop
result =①_____
Text3.Text = BtoD(result)
End Sub
Public Function DtoB(x As Integer) As String
Dim remainder As String
DtoB = ""
Do While x > 0
remainder = CStr(x Mod 2) '如:CStr(3 Mod 2)的值为"1"
DtoB = remainder + DtoB
②________
Loop
End Function
Public Function BtoD(x As String) As Integer
Dim i As Integer
BtoD = 0
For i = 1 To Len(x)
BtoD =③________+ Val(Mid(x, i, 1))
Next i
End Function
如果要对两个十进制数进行异或运算,可以按以下步骤进行:
① 先将要进行异或运算的两个十进制数分别转换为二进制;
② 对两个二进制数按位进行异或运算;例:(101101)2⊕(111)2=(101010)2
③ 再把步骤②中的运算结果转换为十进制,该十进制数即为运算结果。
小明编写了一个VB程序来模拟上述运算过程,程序功能如下:在文本框Text1和Text2中分别输入要参加异或运算的十进制数,单击计算按钮Command1,程序对输入的两个数进行异或运算,并将运算结果显示在文本框Text3中,程序运行界面如图所示。
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Dim a1 As String, b1 As String
Dim lena1 As Integer, lenb1 As Integer, i As Integer
Dim result As String
a = Val(Text1.Text)
b = Val(Text2.Text)
If a > b Then
c = a: a = b: b = c
End If
result = ""
a1 = DtoB(a): b1 = DtoB(b)
lena1 = Len(a1): lenb1 = Len(b1)
i = 1
Do While i <= lena1
If Mid(a1, lena1 - i + 1, 1) = Mid(b1, lenb1 - i + 1, 1) Then
result = "0" + result
Else
result = "1" + result
End If
i = i + 1
Loop
result =①_____
Text3.Text = BtoD(result)
End Sub
Public Function DtoB(x As Integer) As String
Dim remainder As String
DtoB = ""
Do While x > 0
remainder = CStr(x Mod 2) '如:CStr(3 Mod 2)的值为"1"
DtoB = remainder + DtoB
②________
Loop
End Function
Public Function BtoD(x As String) As Integer
Dim i As Integer
BtoD = 0
For i = 1 To Len(x)
BtoD =③________+ Val(Mid(x, i, 1))
Next i
End Function
将十进制数转化为二进制数的 VB 程序段如下:
Dim y As Integer,s As String,r As Integer
y=Val(Text1.Text) '输入十进制数
s= ""
Do While y <> 0

Loop
Text2.Text = s '显示出二进制数
方框中的代码由以下三部分组成:
① s =CStr(r) +s 'CStr(r)是将变量Rr内容转换为字符串(字符串前没有空格)
② y= y\2
③ r= y Mod 2
代码顺序正确的选项是
Dim y As Integer,s As String,r As Integer
y=Val(Text1.Text) '输入十进制数
s= ""
Do While y <> 0

Loop
Text2.Text = s '显示出二进制数
方框中的代码由以下三部分组成:
① s =CStr(r) +s 'CStr(r)是将变量Rr内容转换为字符串(字符串前没有空格)
② y= y\2
③ r= y Mod 2
代码顺序正确的选项是
A.②③① | B.②①③ | C.①③② | D.③②① |
有如下VB程序段:
S=0
For j=1 to 100
If j/2=int(j/2) then s=s+j
Next j
该程序段被执行后,整数型变量s中存储的是1到100之间的
S=0
For j=1 to 100
If j/2=int(j/2) then s=s+j
Next j
该程序段被执行后,整数型变量s中存储的是1到100之间的
A.偶数个数 | B.偶数之和 | C.奇数之和 | D.自然数之和 |
小乐编写了一个求最小公倍数的程序,他先借鉴更相减损术求出最大公约数,再求出最小公倍数。更相减损术是出自《九章算术》的一种求最大公约数的算法,其原理是用大数减去小数,互相减来减去,一直到减数与差相等为止。在文本框Text1中输入一个整数,在Text2中输入另一个整数,单击“计算”按钮Command1,在Label3中输出两个数的最小公倍数。程序运行界面如图所示。

(1)根据程序代码判断,保证程序正常运行,窗体中至少需要________个对象。
(2)为了实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim gys As Integer
m = Val(Text1.Text)
n = Val(Text2.Text)
a = m: b = n
Do While m <> n
If ①______Then m = m - n Else n = n - m
Loop
gys = n
Label3.Caption = "最小公倍数是:" + ②__________
End Sub
(3)若在文本框Text1中输入15,在文本框Text2中输入6,单击“计算”按钮后,语句m=m-n执行了___________次。

(1)根据程序代码判断,保证程序正常运行,窗体中至少需要________个对象。
(2)为了实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim gys As Integer
m = Val(Text1.Text)
n = Val(Text2.Text)
a = m: b = n
Do While m <> n
If ①______Then m = m - n Else n = n - m
Loop
gys = n
Label3.Caption = "最小公倍数是:" + ②__________
End Sub
(3)若在文本框Text1中输入15,在文本框Text2中输入6,单击“计算”按钮后,语句m=m-n执行了___________次。
小王所在公司从2019年1月1日起,每工作3天休息2天。为此小王编写程序,用户判断2019年的某一天是上班还是休息。具体功能如下:在文本框Text1和Text2中分别输入月和日,点击“上班还是休息”按钮Cmd1,在标签Label2中输出结果,设计界面及运行界面如下图所示。
(1)鼠标单击按钮Cmd1执行的事件处理过程名是______________ 。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码

Private Sub Cmd1_Click()
Dim mdays As String, days As Integer
Dim i As Integer, m As Integer, d As Integer
m =①_________________ 'm是当前月份信息
d = Val(Text2.Text) 'd是天的信息
mdays = "312831303130313130313031" '2019年各个月份对应的天数
days = 0
For i = 1 To m - 1 ’前几个月份的总天数
days = days +②__________________
Next i
days = days + d
If days Mod 5 = 4 Or ③______________ Then
Label2.Caption = "休息"
Else
Label2.Caption = "上班"
End If
End Sub
(3)若文本框text1中输入的内容是4,文本框Text2中输入的内容为“3”,点按钮后,标签label2中显示的内容是__________。
(1)鼠标单击按钮Cmd1执行的事件处理过程名是______________ 。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码

Private Sub Cmd1_Click()
Dim mdays As String, days As Integer
Dim i As Integer, m As Integer, d As Integer
m =①_________________ 'm是当前月份信息
d = Val(Text2.Text) 'd是天的信息
mdays = "312831303130313130313031" '2019年各个月份对应的天数
days = 0
For i = 1 To m - 1 ’前几个月份的总天数
days = days +②__________________
Next i
days = days + d
If days Mod 5 = 4 Or ③______________ Then
Label2.Caption = "休息"
Else
Label2.Caption = "上班"
End If
End Sub
(3)若文本框text1中输入的内容是4,文本框Text2中输入的内容为“3”,点按钮后,标签label2中显示的内容是__________。
(加试题)由英文字母构成的字符串数据压缩方法描述如下:
1)原始数据中,字母相邻无重复,压缩数据用该字母表示
2)原始数据中,字母相邻重复,压缩数据用1个整数和该字母表示
小明编写了一个解压缩VB程序,功能如下:程序运行时,在文本框Text1中输入压缩数据,点击按钮Command1,在文本框Text2中显示解压缩后的数据。程序运行如图所示

(1)如果压缩数据为”AB168D9A”,解压缩后数据的个数是___________ 。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Function zm(c As String) As Boolean
If c >= "0" And c <= "9" Then zm = False Else zm = True
End Function
Private Sub Command1_Click()
Dim s1 As String, s2 As String, fd As String, k As Integer
Dim count As Integer, i As Integer, j As Integer, length As Integer
s1 = Text1.Text: s2 = "": length = Len(s1)
i = 1
Do While i <= length
fd = Mid(s1, i, 1)
If zm(fd) Then
s2 = s2 + fd
i = i + 1
Else
j = i + 1
fd = Mid(s1, j, 1)
Do While Not zm(fd)
j = j + 1
fd = Mid(s1, j, 1)
Loop
count = ①______
fd = Mid(s1, j, 1)
For k = 1 To count
s2 = s2 + fd
Next k
②_______
End If
Loop
Text2.Text = s2
End Sub
1)原始数据中,字母相邻无重复,压缩数据用该字母表示
2)原始数据中,字母相邻重复,压缩数据用1个整数和该字母表示
原始数据 | 压缩数据 |
BBFFF | 2B3F |
ABBCCCCCD | A2B5CD |
小明编写了一个解压缩VB程序,功能如下:程序运行时,在文本框Text1中输入压缩数据,点击按钮Command1,在文本框Text2中显示解压缩后的数据。程序运行如图所示

(1)如果压缩数据为”AB168D9A”,解压缩后数据的个数是___________ 。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Function zm(c As String) As Boolean
If c >= "0" And c <= "9" Then zm = False Else zm = True
End Function
Private Sub Command1_Click()
Dim s1 As String, s2 As String, fd As String, k As Integer
Dim count As Integer, i As Integer, j As Integer, length As Integer
s1 = Text1.Text: s2 = "": length = Len(s1)
i = 1
Do While i <= length
fd = Mid(s1, i, 1)
If zm(fd) Then
s2 = s2 + fd
i = i + 1
Else
j = i + 1
fd = Mid(s1, j, 1)
Do While Not zm(fd)
j = j + 1
fd = Mid(s1, j, 1)
Loop
count = ①______
fd = Mid(s1, j, 1)
For k = 1 To count
s2 = s2 + fd
Next k
②_______
End If
Loop
Text2.Text = s2
End Sub