1、 VB综合(学考部分非选择题) 1. [2017年4月学考题]奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。小李编写了一个计算奇校验位值得VB程序,功能如下:在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮Command1后,在文本框Text2中显示该数对应的二进制值,并在标签Label3中显示该数的校验位值。程序运行界面如图所示。 (1)在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的 Text 属性。 (2)实现上述功能的VB程序如下,请在划线处填入合适代
2、码。 Private Sub Command1_Click() Dim a As Integer, s As String Dim n As Integer, t As Integer, v As Integer n = Val(Text1.Text) t = 0 s = "" Do While n > 0 a = n Mod 2 n = n \ 2 t = ① t+a s = Str(a) + s Loop v = t Mod 2 Text2.Text = s Label3
3、Caption = "校验位值:" + ② str(1-v) End Sub (3)运行该程序,在文本框Text1中输入22,单击“计算”按钮,则显示的校验位值是 0 。 2. [2016年10月学考题]编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Commandl,在列表框Listl中显示n个两数之和小于100的加法练习题。程序运行界面如图a所示。 图a 图b (1)在设计程序界面时,使应使用图b所示
4、控件工具箱”中的 3 (填写相应编号)添加“生成”按钮。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim n As Integer, i As Integer, a As Integer, b As Integer Randomize n = Val(Text1.Text) i = 1 Do While i<= n a = Int(Rnd * 100) b = Int(Rnd * 100) If ② a+b<100 Th
5、en List1.AddItem "(" + Str(i) + ")" + Str(a) + "+" + Str(b) + "=" i = i + 1 End If Loop End Sub (3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句a = Int(Rnd * 100)执行次数的描述,最合理的是 B (单选,填字母:A.执行次数等于5 B.执行次数大于等于5 C.执行次数小于等于5) 3. 下面程序的功能是:统计输入信息有多少个英文大写字母、小写字母、数字字符。程序运行时,在文本框Text1中输入信息,单击“确定”按钮后
6、分别在文本框Text2、Text3、Text4中显示大写字母、小写字母和数字字符的个数。程序运行效果如图所示。 Private Sub Command1_Click() Dim getStr As String Dim a As String Dim i As Integer,s As Integer 第3题图 Dim q As Integer,l As Integer s=0:q=0:l=0 getStr=Text1.Text For i = 1 To ① ’对字符串中所有字符逐一判断 a = ②
7、 If a >= "a" And a <= "z" Then s = s + 1 If a >= "A" And a <= "Z" Then q = q + 1 If a >= "0" And a <= "9" Then l = l + 1 Next i Text2.Text = Str(s) Text3.Text = Str(q) Text4.Text = Str(l) End Sub (1)虚线框中的代码属于_________________(选填:枚举/解析)算法 (2)划线①处应填入的语句为: Len(getstr) 或者 Len(Text1.text)
8、 ; 划线②处应填入的语句为: Mid(getstr,i,1) 或者 Mid(Text1.text,i,1) 。 (3)运行该程序时,如果在文本框Text1中输入的字符串中包含其他符号,如“?”、“*”, 则 (选填 会/不会)影响输出结果。 4. 编写VB程序,实现如下功能:在文本框Text1中输入十六进制数,单击“转换”按钮Command1,在列表框List1中输出对应的十进制数,运行界面如图所示,程序代码如下。 (1)要调整Label1中的字体大小,可选择在属性面板中设置Label1的 。(单
9、选,填字母:A.Caption / B.Font / C.Height) (2)为实现上述功能,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim s As String, c As String, t As String Dim i As Integer, b As Integer, ans As Long Dim flag As Boolean s = ① Text1.text b = Len(s) flag = True ans = 0 For i = 1 To b
10、 c = Mid(s, i, 1) If c >= "0" And c <= "9" Then ans = ans * 16 + Asc(c) - Asc("0") ElseIf c >= "A" And c <= "F" Then ans = ans * 16 + ② 10+Asc(c) - Asc("A") 或 10+Asc(c) - 65 Else ③ flag=False '输入情况有误 Exit For End If Ne
11、xt i If flag Then t = Str(ans) Else t ="输入有误!" List1.AddItem s + "-->" + t End Sub (3)由上述算法可知,运行时在Text1框中输入“d8”,列表框List1中添加的条目为 。(单选,填字母:A. d8-->216/ B. d8-->输入有误!) 5. 编写VB趣味程序“计算厚道指数”,实现如下功能:在文本框Text1中输入姓名,单击“试一试”按钮Command1,在列表框List1依次求解并显示姓名中的每一个字符的ASCII码,并按程序中给定方式进行运算,得出厚道指数。运行界面
12、如图所示,程序代码如下。 (1)为实现上述功能,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim s As String,c As String Dim n As Integer,k As Integer s = Text1.Text List1.Clear List1.AddItem ("开始分解姓名" + s + " ,计算内码:") For i = 1 To ① Len(s) c=mid(s , i , 1 ) k = Asc(c) List1.AddItem (c + " 十进制ASCII值:" + S
13、tr(k)) n = (n + k) Mod 50 ② Next i n = n + 50 -i Label2.Caption = Str(n) End Sub (2)程序中的代码“list1.clear ”的“clear”是 。 (单选,填字母:A.对象名/B.属性名/C.事件名/ D. 方法名) (3)若在文本框中输入姓名是“jam”这3个字符,点击“试一试”按钮,在label2上显示的“厚道指数”值为 。68 6. 查找ASCII 码值最小的字符。程序功能如下:在文本框Text1
14、中输入一个字符串,单击命令按钮Command1,在文本框Text2中输出该字符串中ASCII码值最小的字符,运行界面如下图所示。 解决该问题的VB 程序如下: Private Sub Command1_Click() Dim str1 As String '存储输入的字符串 Dim n As Integer '存储输入字符串的长度 Dim i As Integer, j As Integer str1 = ① Text1.Text n = Len(str1) s = ② Mid(str1, 1, 1)
15、 For i = 2 To n If Mid(str1, i, 1) < s Then s = Mid(str1, i, 1) Next i Text2.Text = s End Sub (1)将命令按钮Command1中显示的文本“Command1”修改为“查找”,可在其属性窗口中将 Caption 属性的属性值改“查找”。 (2)为实现上述功能,请在划线处填入合适的代码。 程序中划线处①应填入 程序中划线处②应填入 (3)如上图所示, 在文本框Text2中输出的字符“M”是输入字符串中
16、的第 1 个“M”。 7. 用物理天平测量物体的质量。待测得物体的质量为x克(x为小于1000的整数),下列程序为计算天平砝码盘中所需的砝码。已知天平可用砝码为:500克1个,200克1个,100克2个,50克1个,20克1个,10克2个,5克1个,2克2个,1克1个。程序界面如下图。 Private Sub Command1_Click() Dim a(1 To 12) As Integer, i As Integer, x As Integer a(1) = 500: a(2) = 200: a(3) = 100: a(4) = 100: a(5) = 50:
17、 a(6) = 20 a(7) = 10: a(8) = 10: a(9) = 5: a(10) = 2: a(11) = 2: a(12) = 1 i = 1 x = Val(Text1.Text) List1.Clear Do While x<>0 If x >= a(i) Then List1.AddItem Str(a(i)) ① End If i = i + 1 Loop End Sub (1)如要将程序窗口标题“Form1”修改为“天平测质量”,则应该修改窗体的属性 (选填:
18、 Name / Caption / Text / Font)。 (2)为实现上述功能,划线①处应填入的代码为 x=x-a(i) 。 (3)程序正确运行后,在文本框Text1中输入701,并单击“计算”按钮。程序运行结果应为下图中的 (单选,填:A/B/C)。 A B C 8. 日期判断 从文本框Text1输入一个8位数字表示的日期,其中第1到4位表示年(第1位确定不为零),第5到6位表示月,第7到8位表示日。单击“判断”按钮,判断该日期是否合法,将结果依次输出到列表框List1。程序界面如下图所示:
19、 提示:年份值符合下列两种情况之一的是闰年。 1.年份是4的倍数,但不是100的倍数; 2.年份是400的倍数。 (1)观察程序代码,可知“判断”按钮的对象名为 。(单选,填字母:A.Text1/B.List1/C.Command1/D.Judge/E.判断) (2)为实现上述功能,请在划线处填入合适的代码。 Private Sub Judge_Click() Dim riqi As String, st As String Dim year As Integer, month As Integer, day As Integer Dim rn As Boole
20、an, hefa As Boolean riqi = Text1.Text year = Val(Mid(riqi, 1, 4)) month = Val(Mid(riqi, 5, 2)) day = ① Val(mid(riqi,7,2)) 或 Val(mid(riqi,7)) ‘第①处 st = Str(year) + "年" + Str(month) + "月" + Str(day) + "日" rn = False ‘用于判断是否为闰年 If ② year mod 400 =0 Then rn = True ‘
21、第②处 If year Mod 4 = 0 And year Mod 100 <> 0 Then rn = True hefa = True ‘用于判断是否为合法日期 If month = 0 Or month > 12 Then hefa = False If day = 0 Then hefa = False If (month = 1 Or month = 3 Or month = 5 Or month = 7 Or ’与下一行语句同行 month = 8 Or month = 10 Or month = 12) And day > 31 Then h
22、efa = False If (month = 4 Or month = 6 Or month = 9 Or month = 11) ’与下一行语句同行 And day > 30 Then hefa = False If ③ month=2 And rn=true And day>29 Then hefa = False ’第③处,判断闰年2月的天数是否合法 If month = 2 And Rn = False And day > 28 Then hefa = False If hefa = True
23、 Then st = st + " 合法日期" Else st = st + " 非法日期" List1.AddItem st End Sub 第①处代码为 第②处代码为 第③处代码为 9. 编写VB程序代码,实现如下功能:在文本框Text1中输入金额(整数)后,点击“转换”按钮Command1,则在文本框Text2中显示该金额的大写,程序运行界面如下图所示:
24、 (1)要使窗体标题上显示的文本改为“人民币大小写”,可在其属性窗口中将 Caption 属性的属性值改为“人民币大小写”。 (2)为了实现以上程序功能,使程序正常运行,请完善以下两处代码。 Private Sub Command1_Click() Dim dx As String, dw As String Dim s As String, c As String Dim ch As String Dim i As Integer dx = "零壹贰叁肆伍陆柒捌玖拾" dw = "亿仟佰拾萬仟佰拾元" s = Text1.Text If Len(s) > 9
25、 ① Then Text2.Text = "输入的数据超出所能转换的范围" Else For i = 1 To Len(s) ch = ② Mid(s, i, 1) c = c + Mid(dx, Val(ch) + 1, 1) + Mid(dw, 9 - Len(s) + i, 1) Next i Text2.Text = c + "整" End If End Sub (3)由上述算法可知,若在文本框Text1中输入“20”,则文本框Text3显示的结果为 贰拾零元整。
26、 1 10. 现要求编写VB程序,界面如第10题-1图所示,程序功能如下:单击开始暂时按钮Command1,图像控件Image1中的图片每隔5秒更换一张,再次单击Command1按钮,停止展示。 3 2 4 第10题-1图 第10题-2图 (1)为达到每隔5秒更换一张图片的效果,应使用第10题-2图所示的空间工具箱中的 3 (填写相应的编号),并将其Interval属性值设置为 5000 。 (2)请根据
27、题意讲下列程序补充完整 Private Sub Command1_Click () Dim i As Integer If Command1.Caption = "开始展示" Then Command1.Caption = "停止展示" Timer1.Enabled = Ture Else Command1.Caption = "开始展示" Timer1.Enabled = False End If End Sub Private Sub Timer1_Timer() i = i + 1 If i > 5 Then i = 1 Image1.Picture = LoadPicture(i & “.jpg”) End Sub
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818