浙江选考信息技术Vb基础专题.docx
《浙江选考信息技术Vb基础专题.docx》由会员分享,可在线阅读,更多相关《浙江选考信息技术Vb基础专题.docx(27页珍藏版)》请在冰豆网上搜索。
![浙江选考信息技术Vb基础专题.docx](https://file1.bdocx.com/fileroot1/2023-6/10/5c0cb0be-6d32-4dbb-9b92-512aace1fa88/5c0cb0be-6d32-4dbb-9b92-512aace1fa881.gif)
浙江选考信息技术Vb基础专题
Vb基础专题
一、知识要点
VisualBasic基本概念
1、工程与窗体
一个应用程序的总称。
工程文件名的后缀是.vbp。
应用程序最终面向用户的窗口。
窗体文件名的后缀是.frm。
窗体是VB设计时的名称,当它在Windows下运行后就称为窗口。
2、对象及对象的三要素
(1)常见的控件
(2)常用控件简介
序号
控件名
控件简介
1
Label(静态标签)
显示用户不能直接改变的文本,一般与其他控件配合使用,或者作为提示内容出现。
2
TextBox(文本框)
供用户输入数据,主要应用其“Text”属性,例如:
Text1.Text=”欢迎使用”。
3
Commandbutton
(按钮控件)
用户可以直接更改按钮显示文本,主要事件为Click(鼠标单击)。
4
Image(图像框)
用户可以在属性窗口中自定义大小与默认加载图像位置。
也可以在程序运行阶段使用函数LoadPicture()来实现。
Stretch属性值为True时,图像会自动调整大小以适应图像控件的尺寸。
5
ListBox(列表框)
用户可以从列表框中的一系列的选项中选择一个或多个选项。
如果选项的数量超过可显示的区域,列表框会自动增加滚动条。
列表框可以是单列或多列的。
主要事件为:
DblClick(鼠标双击)。
6
Timer(计时器)
作用是定时产生一个时钟(Timer)事件,利用这个事件可以定期地做一些程序处理。
用户可以自行设置每个计时器的时间间隔(Interal)。
一般设置计时器控件的Enabled属性为True或False来打开或关闭Timer事件的产生。
(3)对象的属性
对象的属性是标识一个对象的所有特征,它实际上就是对象所属类的成员变量。
常用的公共属性
序号
属性名
1
Name(名称)
用于设置控件的名称,这个名称是用来标识该控件。
2
Font(字体)
用于设置控件中文字的所用的字体样式,字号和特殊显示方式等。
3
Text(文本)
用于设置可接受输入的控件中输入或显示的字符串。
4
Caption(标题)
用于设置控件的显示标题。
5
BackColor(背景色)
背景颜色。
6
Width(宽度)
用于设置控件的宽度。
7
Height(高度)
用于设置控件的高度。
8
interval(左边距)
用于设置计时器的时间间隔,单位为毫秒
9
enabled(顶边距)
用于设置是否可用
10
Visible(可视)
设置控件是否可见,如果设置为False则控件会消失。
属性的调用:
对象名.属性名=属性值
(4)对象的方法
对象的方法是指对象可以进行的操作,也就是对象的动作
常见方法:
print、clear、additem
(5)对象响应的事件(事件驱动)
事件是在某种特定状态下由系统触发的方法。
事件驱动是指用VB开发的应用程序的运行,是通过事件来驱动的。
事件过程的一般格式如下:
PrivateSub对象名称_事件名称()
……
事件响应程序代码,我们写的
……
EndSub
3、VB常量、变量、数组及定义常用函数
(1)常用的数据类型
数据是信息的一种记录形式。
在VB中,数据可以按照本身的特性分为若干种不同的类型,常见类型见下表:
(2)常量
数据总是以常量或变量的形式出现在程序中。
常量是在程序运行过程中值不变的存储单元或数据。
在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量等类型。
常量的定义方法:
Const常量名=数值
假如:
“Constpi=3.14”,就是定义了一个常量pi,在这个程序中出现的所有pi都会被VB自动转换成3.14。
(3)变量
变量是用来表示数据的存储区,也就是存放数据的容器。
VB变量定义的方法:
Dim变量名As数据类型
例如:
DimaAsInteger,即将a定义为整数型变量。
如果定义两个或两个以上的同类型变量,可以用语句:
Dima,bAsInteger,就是定义了a,b两个整数型变量。
变量定义时,变量的取名有一定的限制,变量的名称跟对象名取名规则相同,都是由字母、数字和下划线组成,必须是字母开头,VB系统中已使用的字符不能作为变量名,比如:
DimStringAsInteger,该语句错误,因为String是数据类型名,不能再作为变量名了
(4)数组变量
数据是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置。
一维数组变量定义的常用形式为:
Dim数组变量名(a1Toa2)As元素的类型
二维数组变量定义的常用形式为:
Dim数组变量名(a1Toa2,b1Tob2)As元素的类型
一般情况下,数组变量都采用循环语句进行赋初值。
注意:
注释是以英文单引号(')开头的一串文字,可以出现在程序中需要说明的位置上,通过这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。
注释对程序的执行效果没有任何影响,程序运行时自动跳过注释。
(5)常用的标准函数
6、VB表达式及基本运算
一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及运算所涉及的数据(变量和常量)、常用标准函数等。
各种基本运算的符号及优先级别见下表:
注意:
关系运算和逻辑运算的结果只有True或False,其中逻辑运算中“非”运算就是取反,比如NotTrue的结果就是False。
“与”运算只有运算符的两边都是True,结果才是True。
就是说表达式aAndb,只有a和b都是True的情况下结果才是True,否则结果为False。
“或”运算只要运算符的两边有一边的值是True,则结果就是True。
比如表达式aOrb,只要a、b中有一个是True,则结果就是True,只有a和b都是False,结果才是False。
7、顺序语句、选择语句、循环语句
(1)顺序语句
顺序结构的执行顺序是自上而下,依次执行。
大多数情况下顺序结构都是作为程序的一部分,与其他结构一起构成一个复杂的程序。
赋值语句
赋值语句的作用是把赋值号(等号)右边表达式的计算结果存储到赋值号左边的变量或某个特定的对象属性中,其格式如下:
变量名=表达式或对象名.属性名=表达式
例如有语句:
A=1+2*3,执行完该语句就将等号右边表达式结果赋值给变量A。
注意:
VB程序中,可以在一行上写一个语句,也可以在一行上写多个语句,一行上相邻两个语句之间用冒号(:
)分隔。
(2)选择语句
a、行If语句
行If语句必须在一行内写完。
行If语句格式如下:
If条件表达式Then语句1Else语句2或
If条件表达式Then语句
b、块If语句
If条件表达式1Then
语句块1
Else
语句块0
EndIf
多条件:
If条件表达式1Then
语句块1
ElseIf条件表达式2Then
语句块2
……
ElseIf条件表达式nThen
语句块n
Else
语句块0
EndIf
(3)循环语句
a、For循环语句
通过次数控制循环的计算过程。
For语句主要用于循环次数已知的情况,因次,也被称为计数循环。
For语句的一般格式如下:
For循环变量=初值To终值Step步长
循环体语句块
Next循环变量
For语句中步长可以是正数,也可以是负数,但不可为0。
默认的步长为1,即“Step1”。
Next后面的循环变量与For语句中的循环变量必须一致,执行该语句时循环变量的值增加一个步长值。
注意:
一般不要在循环体内修改循环变量的值,否则会造成循环次数的不准确,而且程序调试也非常困难。
如果在循环体内强行退出循环,可用“ExitFor”语句。
b、Do循环语句
通过条件控制循环的计算过程。
一般情况下,For语句都可以用Do语句来代替,而且在某些情况下,如果事先不知道循环应该执行的次数,但知道在什么条件下需要循环,则不能用For语句而必须用Do语句。
因此,Do语句的适用面比For语句要广。
Do语句的常用格式如下:
DoWhile条件表达式
循环体语句块
Loop
注意:
如果想在Do循环语句中强行退出循环,可用“ExitDo”语句。
8、解析算法
解析算法是指用解析的方法找出问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
例如:
计算以速度作匀速直线运动的一个物体,在t秒内经过的距离s,可通过公式s=vt得到。
9、枚举算法
枚举算法也称穷举算法,就是按照问题本身的性质,一一列举该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否问题真正的解。
若是,就采纳这个解,否则就抛弃它。
在列举的过程中,既不能遗漏,也不能重复。
比如,要求一个二元一次不定方程的所有正整数解,就可以采用枚举算法。
1、(2015年10月).编写VB程序,实现如下功能:
在文本框Textl和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如第14题-1图所示。
结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。
第1题-1图第1题-2图
(1)要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(第14题-2图)中将属性的属性值修改为“转换”。
(2)为实现上述功能,请在划线处填入合适代码或选项。
PrivateSubCommand1_Click()
Dimt1AsInteger,t2AsInteger
DimiAsInteger,tAsInteger
DimfAsSingle
List1.Clear
t1=Val(Text1.Text)
t2=Val(Text2.Text)
If①Then'(选填字母,从下列A、B、C、D四个选项中选取一项)
t=t1:
t1=t2:
t2=t
EndIf
i=t1
DoWhile②'(选填字母,从下列A、B、C、D四个选项中选取一项)
f=i*9/5+32'摄氏温度转换为华氏温度
List1.AddItemStr(i)+""+Str(f)
③'(填程序代码)
Loop
EndSub
划线①、②处的选项:
A.i<=t2B.f<=t2C.t1>t2D.i2、(2016年4月)编写VB程序,实现如下功能:
在文本框Text1中输入某一年份,单击“天干地支与生肖”按钮Command1,在列表框List1中输出该年份开始的12个年份及对应的“天干地支”与“生肖”,运行界面如图所示,程序代码如下。
(1)代码“PrivateSubCommand1_Click()”中的Click是。
(单选,填字母:
A.对象名/B.属性名/C.事件名)
(2)为实现上述功能,请在划线处填入合适的代码。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
DimiAsInteger,nAsInteger
Dimc1AsString,s1AsString
Dimc2AsString,s2AsString
Dimc3AsString,s3AsString
List1.Clear
s1="甲乙丙丁戊己庚辛壬癸"
s2="子丑寅卯辰巳午未申酉戌亥"
s3="鼠牛虎兔龙蛇马羊猴鸡狗猪"
n=Val(Text1.Text)
Fori=nTo①
a=(i+6)Mod10
b=(i+8)Mod12
c1=Mid(s1,a+1,1)
c2=Mid(s2,b+1,1)
c3=Mid(s3,b+1,1)
List1.AddItem②+"年"+c1+c2+""+c3
Nexti
EndSub
(3)由上述算法可知,2024年对应的“天干地支”为。
3、(2016年10月)编写“加法练习题生成器”程序,实现如下功能:
在文本框Text1中输入题数n,单击“生成”按钮Command1,在列表框List1中显示n个两数之和小于100的加法练习题。
程序运行界面如图a所示。
图a图b
(1)在设计程序界面时,应使用图b所示“控制工具箱”中的(填写相应编码)添加“生成”按钮。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
PrivateSubCommand1_Click()
DimnAsInteger,iAsInteger,aAsInteger,bAsInteger
Randomize
n=Val(Text1.Text)
i=①
DoWhilei<=n
a=Int(Rnd*100)
b=Int(Rnd*100)
If②Then
List1.AddItem"("+Str(i)+")"+Str(a)+"+"+Str(b)+"="
i=i+1
EndIf
Loop
EndSub
4、(2017年4月)奇偶校验是一种校验数据传输正确性的方法。
其中奇校验方法:
统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。
小李编写了一个计算奇校验位值得VB程序,功能如下:
在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮Command1后,在文本框Text2中显示该数对应的二进制值,并在标签Label3中显示该数的校验位值。
程序运行界面如图所示。
(1)在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
PrivateSubCommand1_Click()
DimaAsInteger,sAsString
DimnAsInteger,tAsInteger,vAsInteger
n=Val(Text1.Text)
t=0
s=""
DoWhilen>0
a=nMod2
n=n\2
t=①
s=Str(a)+s
Loop
v=tMod2
Text2.Text=s
Label3.Caption="校验位值:
"+②
EndSub
5、(2017年11月)编“字符串生成”程序,实现如下功能:
在文本框Text1中(字符位置)输入多个正整数(以“,”为分割符和结束符),单击“生成”按钮Command1,程序以这些整数为位置信息,依次从文本框Text2中(字典内容)提取字符并连接成字符串,最后将字符串显示在标签Label1中(生成内容)。
程序运行界面如下图所示。
(1)要使程序运行时,窗体Form1标题显示“字符串生成”,可在Form_Load事件过程屮添
加语句(单选,填字母:
A.Form1="字符串生成"/="字符串生成"
/C.Form1.Caption="字符串生成")。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
PrivateSubCommand1_Click()
DimsAsString,tAsString,cAsString
DimiAsInteger,pAsInteger
s="":
t=""
Fori=1ToLen(Text1.Text)
c=Mid(Text1.Text,i,1)
Ifc=","Then
p=Val(t)
s=s+Mid(Text2.Text,p,1)
t=""
Else
t=①
EndIf
Nexti
Label1.Caption=②
EndSub
(3)若文本框Text1中输人内容的结束符缺失(即输人内容为1,18,9,9),单击“生成”按钮后,标签Label1中显示的内容是。
6、(2018年4月)某种编码以4位二进制码为一组,每组前两位表示方向,后两位表示距离。
编写一个程序,将编码翻译成方向和距离,距离值为每组编码后两位二进制码转换为十进制数的值。
具体功能如下:
在文本框Text1中输入连续多组编码,单击“翻译”按钮Commandl,结果显示在列表框List1中。
程序运行界面如右图所示。
(1)要使程序运行时,文本框Text1的Width属性值为2018,可在Form_Load事件过程中添加语句(单选,填字母:
A.Width=2018/B.Textl.Width=2018/C.Width.Textl=2018)。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
PrivateSubCommand1_Click()
DimsAsString,cAsString,dAsString
DimnAsInteger,blAsInteger,b2AsInteger,vAsInteger,iAsInteger
s=Textl.Text:
n=Len(s):
i=1
DoWhilei<=n
c=Mid(s,i,2)
Ifc="00"Then
d="东"
ElseIfc="01"Then
d="南"
ElseIfc="10"Then
d="西"
Else
d="北"
EndIf
b1=Val(Mid(s,i+2,1))
b2=Val(Mid(s,i+3,1))
v=
List1.AddItemd+""+Str(v)
Loop
EndSub
1、运行下列VB程序,在文本框Text1中输入15,,界面如图所示。
单击“开始”按钮Command1后,标签Label1中显示的内容是,文本框Text2中显示的内容是。
PrivateSubCommand1_Click()
Constx="转换成八进制数为"
DimyAsInteger'用于存储输入的十进制自然数
DimsAsString'用于存储转换后的结果
DimrAsInteger
y=Val(Text1.Text)
s=""
DoWhiley<>0'采用除八取余法
r=yMod8
s=Str(r)+s
y=y\8
Loop
Label1.Caption=Text1.Text+x
Text2.Text=s
EndSub
2、某地出租车计价方式如下:
3公里内(包括3公里)起步价10元;超过3公里,但10公里内,则3公里内收费10元,超出部分每公里2元;如果超过10公里,则10公里内收费24元,超出部分每公里3元。
其程序实现如下:
PrivateSubCommand1_Click()
x=Val(Text1.Text)
Ifx<=3Then
y=10
ElseIf
(1)Then
y=10+(x-3)*2
Else
y=
(2)
_____(3)_________
Label1.Caption=Str(y)
EndSub
请把上面程序补充完整。
3、体质指数(BMI)是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个参考标准,其计算公式是:
体质指数(BMI)=体重÷身高2
体质指数
<18.5
18.5-26
≥26
结果
偏瘦
正常
肥胖
现要求编写VB程序(运行界面如图所示),实现如下功能:
在文本框Text1中输入体重(kg),文本框Text2中输入身高(m),单击“判定”按钮Command1,在标签Label1中输出判断结果。
相应的VisualBasic程序如下,请在画线处填入适当的语句或表达式,把程序补充完整:
PrivateSubCommand1_Click()
DimwAsSingle,hAsSingle,bAsSingle
w=Val(Text1.Text)
h=__________①_____________
b=__________②___________
Ifb<18.5ThenLabel1.Caption=“偏瘦”
If________③_______ThenLabel1.Caption=“正常”
Ifb>=26ThenLabel1.Caption=“肥胖”
EndSub
4、有如下VB程序:
PrivateSubCommand1_Click()
Dims1AsString,s2AsString,iAsInteger,chAsString
s1=Text1.Text
Fori=1ToLen(s1)
ch=Mid(s1,i,1)
IfAsc(ch)>=65AndAsc(ch)<=90Then
ch=Chr(Asc(ch)+3)
EndIf
s2=ch+s2
Nexti
Label1.Caption=s2
EndSub
已知大写字母A的ASCII码为65。
运行上述程序,若文本框Text1中的内容为“A1b2C3”,单击命令按钮Command1,标签Label1中显示的是()
A.A1b2C3B.3C2b1AC.D1b2F3D.3F2b1D
5、有一个函数f,这个函数的参数是两个字符串s1、s2,这两个字符串必须长度相同并且由小写字母组成。
函数的输出是一个与s1、s2长度相同的字符串s,字符串s的第i个字符为字符串s1、s2的第i个字符中小的那个,比如:
f("ab","ba")="aa",f("nzwzl","zizez")="niwel"。
编写VB程序,模拟上述函数的功能:
在文本框Text1中输入字符串参数x,在文本框Text2中输入字符串参数y,单击“计算”按钮Command1,在文本框Text3中输出函数f(x,y)的值。
运行界面如第5题图所示。
(1)在设计程序界面时,要使窗体的标题显示为:
有趣的函数,则应修改窗体的属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
PrivateSubCommand1_Click()
DimfAsString,xAsString,yAsString
x=Text1.Text
y=Te