浙教版VB学考专题训练(word版,无答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙教版VB 学考专题训练(word 版,无答案)
1 / 12
一. VB 学考题
1.【2018 年 12 月浙江省重点中学期末热身联考】
某多选题共有6个候选项(A 、B 、C 、D 、E 、F ),得分规则是:全部答对得2 分,部分
答对得1 分,未作答或有错误答案0 分。
设计一个能够评分的程序,要求如下:在文本框Text1
中输入标准答案,在文本框Text2 中输入学生答案。
点击评分按钮Command1 后,将得分显
示在标签Label4 中。
程序界面如第14 题图所示:
(1)要使程序运行后,窗体Form1的标题栏中显示“评分”,正确的做法是
(单选,填字母:A .将窗体的Text 属性改为“评分”
B .在Form1_Load()事件中输入代码Form1. Caption=“ 评分”
C. 在Form1_Load() 事件中输入代码Form .Name=“评分”);
(2)实现上述功能的程序如下,请在划线处填入合适的代码:
Private Sub Command1_Click()
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 显示的内
容 是 。
用户注册某APP时,密码有如下要求:至少为8个字符,并且必须含有数字和字母。
小林
编写了一个VB程序,对用户设定的密码进行合法性验证,如图所示。
在文本框Text1中
输入密码字符串s,单击“验证”按钮,在标签Label1中显示验证结果“符合要求”或“不符合
要求”。
(1)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub CmdJudge_Click()
Dim a1 As Integer, a2 As Integer, flag As Boolean Dim
s As String, c As String, i As Integer, n As Integer
a1 = 0: a2 = 0: flag = False
s = Text1.Text:
i = 1
Do While i<= n And Not flag
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then
a1 = 1
ElseIf c >= "0" And c <= "9" Then
a2 = 1
End If
If Then flag = True
i = i + 1
Loop
If flag And n >= 8 Then Label1.Caption = "符合要求" Else Label1.Caption = "不符合要求" End Sub
(2)代码“Private Sub CmdJudge_Click()”中的“CmdJudge”是
(单选,填字母:A.过程名/ B.属性名/ C.事件名/ D.对象名)
(3)运行该程序,在文本框Text1中输入“Wd6b$ksss”,单击“统计”按钮后,语句c = Mid(s, i, 1)共执行了次。
编写VB 程序,实现如下功能:在文本框Text1 中输入十进制数,文本框Text2 中输入待转换进制(范围2~16),单击“转换”按钮Command1,在列表框List1 中输出该整数对应的进制转换结果,运行效果如下图所示。
(1)要修改窗体中各对象字体为粗体,可选中对象后在属性窗口中设置属性。
(2)请在划线处填入合适的代码。
Private Sub Command1_Click()
Const code = "0123456789ABCDEF"
Dim s As String
Dim x As Long, r As Integer
r = Val(Text2.Text)
If Then x =
Val(Text1.Text)
s = ""
Do While x > 0
y = x Mod r
x = x \ r
s =
Loop
List1.AddItem "(" & Text1.Text & ")10" & "=(" & s & ")" & r
Else
MsgBox "请重新输入数据"
End If
End Sub
(3)重新运行程序,若在文本框Text1 中输入“255”,文本框Text2 中输入“8”,单击“转换”按钮后,列表框List1 中显示的内容是。
浙教版VB学考专题训练(word版,无答案)
4.【绍兴18 年9 月联考】
在一个数字字符串中,求最长连续递增序列的长度。
例如,字符串“123423416789”,最
长的递增序列为“16789”,长度为5。
编写一个程序,功能如下:在文本框Text1 中输入数字字符串,单击“计算”按钮Command1,在标签Label3 中显示最长连续递增序列的长度。
程序设计界面与运行界面如图所示。
(1)要使程序运行时,按钮Command1 上的文字显示为“计算”,可在▲ 事件过程中添加语句Command1.Caption= "计算"。
(单选,填字母:A.Command1_Click / B.Form_Load / C.Command1_DblCkick )。
(2)实现上述功能的VB 程序如下。
请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s As String, max As Integer Dim t As Integer, i As Integer max = 0: t = 1
s = Text1.Text i = 1
Do While i <= Len(s) - 1
If Val(Mid(s, i, 1)) < Then
t = t + 1
Else
If t > max Then max = t
End If
i = i + 1
Loop
If t > max Then max = t
Label3.Caption = Str(max)
End Sub
(3)如果删除加框处代码,并运行程序,在文本框Text1 中输入“123423416789”,单击“计
算”按钮,则标签框Label3 中显示的内容为▲。
浙教版VB 学考专题训练(word 版,无答案) 数字
位置 编
号 加密字
符 2 1 3 s 0 2 2 i 1 3 4 u 8 4 1 V
某数字加密算法描述如下:将某位数字与其位置相加得到num ,num 除以11的余数即 为编号,
若余数为 0 编号为 11,从密码表中找出与编号对应的加密字符完成加密。
密 码表如下:
小明按照上述方法,设计了一个数字加密的 VB 程序,功能如下:单击“加密”按钮
Command1,程序依次将文本框Text1 中每个数字进行加密,并将加密后的密文在文本框 Text2 中输出。
下表显示了数字“2018”的加密过程:
程序运行效果如图所示。
(1)设计如图所示的程序界面,至少要使用 个类(填数字)。
(2)实现上述功能的VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click ()
Dim s As String , s1 As String , s2 As String , num As Integer s
= "VisualBASIC "
s1 =
Text1.Text
s2=""
i = 1
Do While
num = Val (Mid (s1, i , 1)) + i
num = num Mod 11
If num = 0 Then num = 11
s2 =
i = i + 1
Loop
Text2.Text = s2
End Sub
(3)若密文是“uA V ”,则明文是 。
编号 加密字符 1 2 3 s 4 u 5 a 6 7 8 9 10 11 V i l B A S I C
浙教版VB学考专题训练(word版,无答案)
编写“提取数字”程序,实现如下功能:在文本框Text1中输入文本信息,点击“提取” 按钮Command1,将文本信息中的数字以“,”间隔输出到文本框Text2中,程序运行界
面如第14题图a所示。
(1)在设计程序界面时.第14题图b中控件(填数字)未在窗体中使用,
(2) 请根据题意将下列程序补充完整
Private Sub Command1_Click()
Dim msg As String, c As String, tmp As String, s As String, flag As Boolean msg = Text1.Text
tmp =""
s=""
For i = 1 To , ①
c =Mid(msg, i, 1)
If c >= " 0"And c <="9" Then
,②
Elself tmp <> ""Then
s = s + tmp + ","
tmp =""
End If
Next i
If tmp <> " " Then s = s + tmp +" ,"
Text2.Text =s
End Sub
(3) 当输入的文本信息如第14题图a所示,若删除加框语句,则文木框Text2中显示
的内容为
小龙编写了一个简易加法器VB程序,运行界面如图所示。
在文本框Tcxt1巾连续输入不同的加数,待所有需要相加的数输入完毕后,单击“求和”按钮Command1后,在标签Label1 中显示加数的个数以及总和。
(数字0和逗号的ASCII码分别为48、44) (1)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a As String
Dim x As Integer, s As Integer, k As Integer, i As Integer, b As Integer a = Text1.Text
x=1:s=0:k=0 For
i =1ToLen(a)
b = Asc( Mid(a, i, l)) ’如果输入的不是数字或者不是逗号,
则给出错误提示后结束程序If (b < 48 Or b > 57)
Then ’ ①
Label1. Caption="只能输入数字或逗号"
Exit Sub
End If
If b = 44 Then
s =s+ ’②
x = i + 1
k = k + 1
End If
Next i
Label1. Caption = 〃这〃 + Str(k)+”个数的和为:〃 + Str(s)
End Sub
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围为[2, 22],数
字2在数2中出现了 1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22 中出现2次,所以数字2 在该范围内一共出现了 6次。
小明编写如下图所示VB
应用程序,在文本框Text1中输入区间左边界,在文本框Text2中输入区间右边界,单击
“统计数字”按钮Command1后,在标签框Label1中输出给定区间内所有整数中出现“2”
的次数。
(1) 要使程序运行时,窗体Form1标题显示“统计数字”,则需在Form_Load事件过程中添
加语句
(单选,填字母:A、Form1.Text="统计数字V
B、Form1.Caption=〃统计数字V
C、
Form1. AddItem "统计数字〃)
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim left As Integer, right As Integer, s As String
Dim i As Integer, j As Integer, k As Integer, ch As String
left = Val(Text1. Text)
right = Val(Text2. Text)
s=" "
k=0
Do While i <= right
s = s + Str(i) i
= i + 1
Loop
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch = "2" Then
Next i
Label1.Caption = Str (left) +〃到〃 + Str (right)+”之间出现2的次数为"+ Str(k)
End Sub
若字符串c是在字符串s的任意位置插人多个字符后构成的新字符串,则称字符串c为字符串s的扩展字符串。
判断扩展字符串的VB程序界面如第14题图所示,在文本框Texl1和Text2 中分别输人宇符串s和c,单击“判断”按钮Command1,如果字符串c为字符串s的f/展字符串,则在文本框Text3中输出“是”和插入字符的内容,否则输出“否”。
(1)结合题意,窗体中属于TextBox类的对象共有
个(填数字)。
(2)实现上述功能的VB程序如下,请在划线处填人合适代码。
Private Sub Command1_Click()
Dim s As String.c As String,ss As String,cc As String
Dim i As Integer,j As Integer,res As String
s =Text1. Text
c = Text2. Text
i = 1: j =1:res =“”
Do While i < =Len(s)
ss = Mid( s,i,1)
cc =Mid(c,j,1)
If ss = cc Then i = i + 1 Else res = res + cc
If j >Len(c) Then Exit Do ’Exit Do执行退出循环
Loop
If Then
Text3.Text = "是,增加了+ res + Mid(c, j , Len(c) - j + l)
Else
Text3. Text =“否"
End If
End Sub (3)运行该程序,输入如第14题图中所示的数据,程序执行结束时,变量j的
值是
获取字符串中指定范围内的元素,可以通过字符编号来实现.字符编号有正向编号和反向编号•如字符串"ABCDEF”,字符A的正向编号为1、反向编号为-6,如下表:
"2:4"表示获取正编号"2"到"4 "的字符串,即"BCD",-5:-3、2:-3、-5:4这三种编号范围也
表示的是字符串"BCD",小王根据上述算法设计如下程序,在文本框Text1输入宇符出,在
文本框Text2和Text3中输入字符编号,单击"获取"按钮。
在标签Labe1中显示指定范围
的字符串。
当Text2中的编号位置在Text3中的编号位置之前,则输出正向字符串,反之
输出逆向字符串。
程序运行界面如图所示。
(1)用户单击命令按钮Command1时调用的事件处理过程为(单选,
填字母:A. Command1 / B. Caplion / C. Click / D. Command1_Click ) 实观上
述功能的VB程序如下,请划划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, ans As String
Dim a As Integer, b As Integer, n As Integer
s = Text1.Text:n = Len(s):ans =""
a = Val(Text2.Text):
b = Val(Text3.Text)
If Abs(a) > n Or Abs(b) >nOra*b = 0 Then
ans = "输入范围有误"
Else
If a < 0 Then a = a + n + 1
If b < 0 Then b =
If a <= b Then
ans =
Else
For i = aTob Step-1
ans = ans + Mid(s, i, 1)
Next i
End If
EndIf
Label1 .Caption = ans
End Sub
(3)若文本框Text1中输入的内容为"123456789",文本框Text2和Text3中输入的内容分别为
-3和5,单击”获取"按钮,标签框Label1中显示的内容是。
下列s 是关于某数字的加密解密算法。
其加密规则如下:计算某位数字与其位位置相加得
到 的结果除以11的余数即为编号(其中若余数为0,编号为11),编号与字符对照表如下:
从对照表中找出与编号对应的字符完成加密,如下表显示了数字“2018”的加密过程:
小张按照上述原理,设计了一个解密
的VB 程序,功能如下:单击“解密”按钮Command1, 将文本框Text1中的密文(字符数不超过11个)进行解密,并将解密后的明文在文本框Text2 中输出。
程序运行效果如第14题图a 所示。
(1)在设计程序界面时,应使用第14题图b 所示“控件工具箱”中的 (填写相应编号)
(2)实现上述功能的VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s As Suing, si As String, s2 As String ,ch As String, num As Integer
s="VisualBASlC"
s1 = Text1.Text
s2 ="":ch="":i=1 Do While
ch = Mid(slt i, 1)
For j =1 To Len(s)
If ch = Mid(s,j, 1) Then Exit For
'Exit For 退 出 For 循环
Next j
Loop
s2 = s2 + CStr(num) 'Cstr(x)在返回的字符串不加空格
i = i+ 1
Text2.Text = s2
End Sub
(3)若密文是“Bus ”.则明文是
编写—个“计算平均身高"的VB程序,功能如下:在文本框Tcxt1中输入若干男女学生的身高
和性别(以“,”为分割符和结束符),如“1.65,F,1.75,M,1.84,M,1.69,F,1.72,M,1.58,F,”
F表示女生,M衣示男生,单击“计算”按钮Command1 后,在Label2上显示男生的平均身高,
在Label3上显示女生的平均身高。
程序设计|界面和分別如图a和图b所示。
(1)要使程序运行时,清空Label2 上的内容,可在Form_Load事件处理过程中添加语句(单
选,填字母:bel2.textl=""/bel2.Caption =""/bel2.Clear) (2)实现上述
功能的VB程序如下,请作划线处填入合适代码-
Private Sub Command1_ Click()
Dim i As Integer, s As Siring, ch As String, temp As Siring
Dim k As Integer, n As Integer, cl As Integer. c2 As Integer
Dim h As Single, sum1 As Single, sum2 As Single
s = Text1.Text:i =1: k=0: n = 0
sum1 = 0:sum2 = 0: c1 = 0: c2 = 0
Do While
ch=Mid(s,i,1)
If ch <>"," Then
k = k+1
Else
n = n + 1
temp=Mid(s,i - k, k)
If n Mod 2=1 Then
Else
If temp="M" Then sum1=sum1 + h: c1= c1 + 1 Else sum2= sum2 + h: c2 = c2 +1
End If
k =0
End If
i =i +1
Loop
If cl <> 0 Then Label2.Caption= Str (Int((sum1 / c1) * 100+0.5)/100+ "m"
If c2 <> 0 Then LabeI3.Caption =Str (Int((sum2 /c2) * 100+ 0.5) /100)+”m"
End Sub
(3)若文本Text1中输入内容的结束符缺失(即输入内容为165,F,175,M,1.84,M,1.69, F,1.72,M,1.58,F),则程序运行结束时,变temp的值为。