信息技术vb选修知识点.docx
《信息技术vb选修知识点.docx》由会员分享,可在线阅读,更多相关《信息技术vb选修知识点.docx(24页珍藏版)》请在冰豆网上搜索。
信息技术vb选修知识点
选修知识点
(一)计算机解决问题的流程图
(二)算法
一、算法定义:
是解决问题的方法和步骤。
算法是程序设计的“灵魂”。
算法+数据结构=程序。
二、算法的描述方法:
分自然语言、流程图和伪代码三种。
1、自然语言:
人们日常生活中的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。
2、流程图:
也称程序框图,它是算法的一种图形化表示方法。
且描述算法形象、直观,更易理解。
3、伪代码:
是介于自然语言和计算机程序语言之间的一种算法描述。
是专业软件开发人员常用方法。
三、算法的5个特征:
1、有穷性:
执行有限步之后结束,且每一步的执行时间也都是有限的。
2、确定性:
每一步都有确切的含义。
3、可行性:
原则上能精确运行,用纸和笔做有限次运算后即可完成。
4、输入:
有零个或多个输入。
5、输出:
至少产生一个输出。
(三)程序设计基础
计算机程序设计语言经历了机器语言、汇编语言、高级语言的发展过程。
常用高级语言:
BASIC、VB、Pascal、C、C++、Java、Delphi、Fortran、Powerbuilder等。
面向对象的程序设计语言,如vb:
其中的对象主要是系统设计好的对象,包括窗体、控件等。
控件:
是指工具箱中的工具在窗体中画出的能实现一定功能的部件,如标签、文本框、命令按钮等。
控件
对象的类型
前缀
名字举例
窗体
Form
frm
frmfind
命令按钮
Command
cmd
cmdok
标签
Label
lbl
lblinput
文本框
TextBox
txt
txtClock
若命令按钮(Command)的Enabled属性设置为True时按钮有效,设置为False时按钮无效
常用控件:
对象的三要素:
属性、方法、事件
●属性
Name
设置对象的名称
Font
设置控件中字体格式
Caption
决定控件中显示的内容
BackColor
设置控件背景色
Text
决定窗体中文本框中显示的内容
ForeColor
设置控件的前景色(即文字颜色)
Height
决定控件高度
Top
决定控件与窗体顶部的距离
Width
决定控件宽度
Left
决定控件与窗体左边的距离
Visible
设置控件是否可见
BorderStyle
设置控件的边框风格
Alignment
即标签文字对齐属性:
(0)LeftJustify时文本左对齐;
(1)RightJustify时文本右对齐;设置为
(2)Center时文本居中。
对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过赋值语句在代码窗口设置:
对象名.属性名=属性值
例:
给文本框Txt123的Text属性赋值为字符串”20”,代码如下:
Txt123.text=“20”
注意:
如果直接给对象名赋值的话,是赋值给对象的默认属性。
例:
Txt123=“20”相当于Txt123.text=“20”都是给文本框Txt123的text属性赋值。
如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下:
变量名=对象名.属性名
例:
读取文本框“txt123”的“Text”属性的代码如下:
a=txt123.text
●方法常见的方法如下:
PrintClsMoveShow
格式:
[对象].方法[参数名表]例:
Form1.Print”欢迎使用”
●事件及事件驱动常见的事件如下:
Click、DblClick、KeyPress、Load、MouseUp等。
事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。
如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。
事件过程的形式如下:
PrivateSub对象名_事件名()
(事件过程代码)
EndSub
一、常量:
指在程序进行过程中不变的量,在VB中一般分数值常量与字符常量两种
数值常量:
就是数学中说的常数,分整型常量和实型常量两种
整型常量:
即整数,指不带小数点的数值如1、0、、-10、+35等都是合法的整数
实型常量:
即实数,指带小数点的数值。
实型常量又分为定点数和浮点数两种。
例:
定点数:
3.14159和-6.8,1.99浮点数:
2E6、1E5、88E
例:
1.2345×103可表示为1.2345E3,字母E表示底数10
浮点数就是数学上的科学计数法。
字符串常量:
被一对英文双引号括起来的若干个合法的字符称为字符串常量。
例如:
”China”、”VisualBasic”、”18”、”3.1415”等,是指英文双引号中的字符,不包括英文双引号本身。
符号常量:
如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
二、变量:
在程序执行过程中,其值可以改变的量称为变量。
变量命名注意要点:
1、必须以字母或汉字开头,不能以数字或其他字符开头。
2、只能由字母、汉字、数字或下划线组成,不能含有小数点、空格等字符。
3、最长不超过255个字符
4、不能以VB保留字作变量名,如语句定义符、函数名(Integer、End、Print、Dim)等。
5、VB不区分变量名中字母大小写。
如HELLO和Hello是同一个变量。
三、数据及运算
1、常用数据类型:
(框选的内容都要熟记)
2、常量和变量的命名、声明及赋值(注意:
符号常量声明和赋值必须一起完成,变量却必须分2句)
符号常量的声明和赋值Const常量名[As常量类型]=常量值(或表达式)
如:
ConstpiAsSingle=3.14159常量名为pi
注意:
常量必须在声明的时候立马赋值,如果没有“=3”部分就是错误的。
变量的声明:
Dim<变量名>As<变量类型>
如:
DimaAsInteger定义一个 整型变量,变量名为a
变量的赋值VB中使用“=”给变量赋值,其形式为:
变量名=表达式
四、运算符
1、算术运算符(注意:
算术运算符的优先级问题、区分/\Mod三个运算符)
注意:
\和mod的运算量如果带小数,要先四舍五入取整,再作运算。
2、字符串运算符“+”和“&”
作用是将运算符两边的字符串连接为一个新的字符串。
使用"&"运算符时应注意前后加空格。
注意特例:
当数值型和字符型连接时,"+"把数据都转化成数值型然后相加,返回一个数值型数据。
例如:
“123”+“45”=“12345”123+“45”=168
“123”&“45”=“12345”123&“45”=“12345”
3、关系运算符(优先级相同)注意:
关系表达式的运算结果为布尔值True或False
= 等于 < 小于号<> 不等于
> 大于号>= 大于等于号 <=小于等于号
运算规则:
(1)当两个操作式均为数值型,按数值大小比较。
(2)字符串比较,则按字符的ASCII码值从左到右逐位比较,直到出现不同的字符为止。
例:
"987">"99",结果为False。
(3)数值型与可转换为数值型的数据,按数值比较。
例:
29>"189",结果为False。
4、逻辑运算符Not(取反)And(与)Or(或)优先级依次降低
Not对一个逻辑量进行运算,And和Or是对两个逻辑量进行运算,运算结果都为逻辑值True或False
运算符
说明
优先级
说明
举例
结果
Not
非
1
当操作数为假时,结果为真
NotFalse
True
And
与
2
操作数均为真时,结果才为真
TrueAndFalse
False
Or
或
3
操作数中有一个为真时,结果为真
FalseOrTrue
True
5、日期运算符与日期表达式
日期表达式是用“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子。
例如:
表达式“#2003/09/01#+30”的运算结果是“2003-10-1”
表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数10
6、运算符的执行顺序:
算术运算符>字符串运算符> 关系运算符> 逻辑运算符
如a=2:
b=3:
c=4:
d=5则表达式a>bAnd2*a>cOrc<=d的值为True
7、表达式的写法
虽然VB中的表达式与代数式中的算式很相似,但两者却是完全不同的概念。
要注意区别,如在VB中不能使用≤≥≠等。
下表中列出了一些代数式对应的VB表达式。
代数式
VB表达式
说明
(2*a+b)/(4*a*b)
在VB表达式中无法写分式,,乘法运算符*不能省略
g*t^2/2
VB中不能使用上标,指数必须用VB运算符^表示
a≤b≤c
a<=bAndb<=c
要用VB中的运算符,且不能连续写
Sqr(b*b-4*a*c)
使用内部函数Sqr计算平方根(另函数Abs求绝对值)
五、常用函数
1、数学函数
函数
名称
含义
Abs(x)
绝对值函数
求x的绝对值|x|
Int(x)
取整函数
求≤x的最大整数
Sqr(x)
算术平方根函数
求x的算术平方根
Log(x)
自然对数函数
求x的自然对数
Rnd
随机函数
产生[0,1)之间的随机数
Exp(x)
指数函数
ex,e=2.718282……
Sgn(x)
符号函数
1x>0
Sgn(x)=0x=0
-1x<0
Sin(x)
正弦函数
Sin(x),x的单位为弧度
Cos(x)
余弦函数
Cos(x),x的单位为弧度
Tan(x)
正切函数
Tan(x),x的单位为弧度
注意:
(1)Int(x)是取小于等于x的最大整数。
例如:
Int(3.12)=3Int(2.1+3)=5
Int(-4.6)=-5Int(-1-2.5)=-4
(2)Rnd函数产生[0,1)之间的一个随机数,它常与Randomize(以初始化随机数生成器)结合使用,
如果要产生[0,A)间的随机整数,表达式为Int(Rnd*A)
产生[A,B)间的随机数:
Rnd*(B-A)+A
产生[A,B]间的随机整数:
Int(Rnd*(B-A+1))+A
2、字符串函数(注意的以下字符串函数返回的值是数值型,还是字符串型。
)
函数
功能
实例
结果
Len(字符串)
求字符串的长度(字符个数)
Len("2008奥运")
6
Left(字符串,n)
截取字符串左边n个字符
Left("2008奥运",4)
“2008”
Mid(字符串,m,n)
从字符串第m个字符开始截取n个字符
Mid("2008奥运",3,2)
“08”
Mid(字符串,m)
从字符串第m个字符开始截取剩余字符
Mid("2008奥运",3)
“08奥运”
Right(字符串,n)
截取字符串右边n个字符
Right("2008奥运",2)
“奥运”
String(n,字符串)
生成指定长度的指定字符的字符串
String(3,"89")
“888”
InStr(字符串1,字符串2)
在字符串1中查找字符串2.
并返回其出现的位置
InStr("2008奥运","奥")
5
注意:
(1)String函数只返回n个指定的字符串的首字符。
(2)Left(字符串,n)和Right(字符串,n)中,当n的值大于字符串的长度时,返回整个字符串。
(3)Mid(字符串,m,n)函数中,如果m大于字符串的长度,则返回空串,如果省略n,则返回m开始的全部字符。
3、常用转换函数
函数
功能
实例
结果
Val(数值型字符串)
将数值型字符串转换为数值
Val("99")+Val("88")
187
Str(数值)
将数值转换为字符串
Str(5)
"5"
Chr(字符代码)
将字符的Asc码转换为对应的字符
Chr(65)
A
Asc(字符)
求字符对应的ASCII码
Asc("A")
65
CInt(表达式)
将表达式结果作四舍五入处理
CInt(3.6)
4
Fix(表达式)
将表达式结果的小数部分截去
Fix(3.8)
3
注意
(1)对于Str(数值)函数,如果其中的数值为正数,则返回的字符串的第一个字符为空格(符号位)。
如Str(5)的结果为两个字符长度的字符串"5",如要得到不含符号位的字符串,可使用CStr()函数。
(2)CInt(表达式)当表达式的值对应的小数位为.5的时候比较特殊,函数结果为离表达式的值最近的一个偶数。
如CInt(4.5)=4
(3)Asc(字符)函数,只求"字符"中的第一个字符的ASCII码值,如:
Asc("AB")=65
(4)ASCII码的大小:
空格<数值<大写字母<小写字母
常用字符的ASCII码值:
空格的ASCII码为:
320的ASCII码为:
48
A的ASCII码为:
65a的ASCII码为:
97
其他数字和英文字母按序依次类推。
(5)字母转换。
因大写字母的ASCII码比对应的小写字母小32,所以可通过Chr和Asc函数互相转换。
例:
a转AChr(Asc("a")-32)A转aChr(Asc("A")+32)注意式子中""不能省略
4、日期函数
(1)Date()、Time()、Now()。
这三个函数没有参数,分别返回计算机系统的当前日期、时间、日期与时间。
如2011年5月29日,PrintDate()或者PrintDate都会打印出2011-5-29
(2)Year()、Month()、Day()。
这三个函数必须有参数,即必须指定一个日期,分别返回指定日期的年、月和日。
函数实例
结果
Day(#8/18/2008#)
18
Month(#8/18/2008#)
8
Year(#8/18/2008#)
2008
5、定位函数(与Print语句配合使用的),以控制输出数据的格式,主要包括Tab、Space等。
(l)Tab函数。
功能:
将被输出的内容放在由参数n所指定的位置(列数)处,在书写时,被输出的内容要放在Tab函数的右面,并用分号分隔。
例:
PrintTab(15);"姓名";Tab(30);"成绩"
(2)Space函数。
功能:
产生由n个空格所组成的字符串。
6、用户交互函数
VB提供InputBox()和MsgBox()函数用于人机交互。
(1)InputBox()格式:
InputBox(提示[,标题][,默认值][,X坐标][,Y坐标])
功能:
在程序中调用InputBox函数,将产生一个提示用户输入内容的输入框,等待用户输入信息,并返回字符串类型的数据。
用户要想得到InputBox()函数的返回值,就必须将函数的结果赋值给指定的变量。
格式为:
变量=InputBox(提示[,标题][,默认值])
注意:
每执行一次InputBox()函数,用户只能输入一个数据。
输入框的样式是固定的,我们可以改变的是输入框的“提示”和“标题”的内容。
例如:
r=InputBox("请输入r","输入圆半径")
2.MsgBox()格式为:
MsgBox(提示信息[,按钮][,标题])
功能:
用于在程序运行过程中产生一个消息框,可以看作是输出对话框,该函数的返回值为数值型数据。
格式:
MsgBox(提示信息[,按钮][,标题])
例如:
p=MsgBox("你输入的密码不正确,是否继续?
",vbYesNo,"错误提示")
当用户单击消息框中的一个按钮后,消息框即从屏幕上消失。
在上面的语句中,将函数的返回值赋给变量P,在程序中可引用P作相应的处理。
六、常用语句
1、赋值语句
格式1:
Let变量=表达式功能:
将右边表达式的结果赋给左边变量。
通常情况,Let可以省略。
"="为赋值号。
它与数学中的"="是不同的。
特别要跟方程式区分开。
如:
X=5即把数值5赋值给变量X
Y=5Mod2+7即先计算表达式5Mod2+7的值,再将值8赋值给变量Y
N=N+1即将N的值加1后后再赋给N
X=Y即将变量Y的值赋值给变量X
也可以在一行内给多个变量赋值,两条语句之间用冒号":
"隔开,如:
s=0:
a=l:
b=2
格式2:
对象名[.属性名]=表达式如果省略属性名,则直接赋值给对象的默认属性。
如:
Text1.Text="你好!
"即把字符串"你好!
"赋给Textl的Text属性。
注意:
赋值语句一般都独立成行,如果有类似赋值的语句出现在一些结构中,大家要会辨别。
例如跟在以下关键字之后Ifx=5Whilex=5Untilx=5Printx=5
以上结构中的x=5不再是赋值语句,因为"="在这里是个关系运算符,判断左右是否相等,所以x=5是一个关系表达式,其值应该是个逻辑型,不是True就是False。
2、Print语旬
格式:
[对象名.]Print[表达式列表]
功能:
Print方法具有计算和输出双重功能。
对于表达式,它先计算其值,然后再在指定的对象上输出文本,对于常量、变量则直接输出其值。
对象可以是窗体、图片框、打印机等。
"对象名"可以省略,省略时表示在当前窗体上输出数据。
说明:
(1)表达式列表可以是一个或多个表达式,之间用英文的";"或","隔开。
如果用逗号分隔,则按标准输出格式输出各数据,此时以14个字符位置为一个区段,逗号后的表达式在下一个区段输出;如果之间用分号分隔,则按紧凑格式输出数据。
例:
Print1;2;3;4+3Printl,2,3,4+3
输出结果为:
1237输出结果为:
1237
(2)如果Print语句末尾没有逗号或分号,表示该Print输出完结果后自动换行,后面再执行Print时将在下一行的起始位置输出数据;如果在Print语句末尾使用逗号,则在同一行上跳到下一个输出区段输出下一个Print所输出的内容。
如果在Print语句的末尾加上一个分号,表示下一个Print输出的内容将按紧凑格式紧跟在前一个Print所输出的内容后面;
(3)当一个Print语句的后面无任何表达式时,则输出一空行或换行。
注意:
与Tab()函数结合使用,掌握各种图形的输出。
3、注释语句
为了提高程序的可读性,通常需要在程序的适当位置加上必要的注释。
在VB中添加注释语句的方法为在字符"'"后加注释内容或采用"Rem注释内容"两种形式。
格式1:
'注释内容
用'写的注释语句既可以单独写一行,也可以跟在其他语句后。
格式2:
Rem注释内容
用Rem写的注释语句必须单独写一行。
4、结束语旬格式:
End功能:
强制程序结束运行。
PrivateSubCommand1_Click()
End
EndSub该过程用于结束程序,即单击命令按钮Commandl时,结束程序的运行。
(四)程序设计的三大基本结构
一、顺序结构
代码按照由上到下的顺序一行一行地执行。
程序执行过程中没有分支、没有重复。
二、分支结构(选择结构)
程序在运行时会根据不同的条件决定程序的走向。
实现选择结构的语句有If语句和Select语句。
1、If语句分为单分支、双分支和多分支三类。
(1)单分支if结构:
(注意:
行if和块if的区别只在书写格式上。
)
●行if语句:
IF<条件表达式>Then语句A
●块if语句:
IF<条件表达式>Then
语句A
Endif
(2)双分支if结构:
●行if语句:
IF<条件表达式>Then语句AElse语句B
●块if语句:
IF<条件表达式>Then
语句A
ELSE
语句B
ENDIF
(3)多分支If语句
If<表达式1>Then
<语句块1>
[ElseIf<表达式2>Then
<语句块2>]
……
[Else <语句块n+1>]
EndIf
2、SelectCase语句
注意:
要会区分选择结构和循环结构的流程图。
如上图:
甲为循环结构,有向上回到条件框的箭头。
乙为选择结构(双分支)。
SelectCase<测试表达式>
Case表达式列表1
语句组1
Case表达式列表2
语句组2
…
CaseELSE
语句组N+1
EndSelect
Select/Case语句的执行过程是:
先求"测试表达式"的值,然后顺序测试该值符合哪一个Case子句的情况,如果找到了,则直接执行该Case子句下面的语句块,然后执行EndSelect的后续语句;如果没找到,则执行CaseElse下面的语句块,然后执行EndSelect的后续语句。
说明:
(1)"测试表达式"可以是数值型或字符串型表达式。
(2)"表达式列表"形式有以下4种。
一个表达式或用逗号隔开的若干表达式,例如2,4,6,8。
表达式1To表达式2,例如60To80。
注意,表达式1应该小于表达式2
Is关系运算符表达式,例如Is>80。
表达式,例如x+3。
三、循环结构
1、For-Next循环(适合于解决循环次数事先能够确定的问题。
)
For循环变量一般形式是:
For循环变量=初值To终值[Step步长值]
[循环体]
Next[循环变量]
说明:
(1)循环变量,必须为数值型。
循环初值、循环终值也是数值型或数值表达式。
(2)循环的有效区间是由循环初值、循环终值所限定的闭区间。
(3)步长值是循环变量的增量,是一个数值表达式。
若步长值为正,则初值就应小于终值,否则循环体一次都不执行;若步长值为负,则初值应大于终值,否则循环体一次都不执行。
如果步长值是1,Step1可略去不写。
但若步长值为0,会造成死循环,这是要避免的,可用Ctrl+Break结束程序。
(4)循环体是For语句和Next语句之间的语句序列,也是需要重复执行的语句组。
(5)Next后的循环变量与For语句中的循环变量必须相同。
(6)循环的次数=(循环终值-循环初值)\步长值+1
For/Next循环语句的执行过程:
(1)系统将初值赋给循环变量,并自动记