高某息技术算法与程序设计(VB)知识要点
学习程序设计的方法:1、多阅读程序 2、尝试独立编写程序 3、上机验证自己设计的程序
一、 程序设计基础知识
1、 程序设计语言
程序设计语言:人与计算机交流的语言。
程序:是人们用计算机语言编制的,让计算机去完成一定任务的步骤。
程序设计:设计、编制让计算机完成任务的程序的过程。程序设计的一般步骤为:提出问题、分析问题、解决问题。
2、 算法
算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。
算法描述方法:一般用自然语言、流程图和伪代码进行描述。
流程图及符号:也称程序框图,它是算法的一种图形化表示方法,形象、直观,容易理解。
二、VB 基础知识
1、
VB 基础 VB 特点:可视化的编程工具、面向对象的设计语言、事件驱动的执行方式。
VB 程序设计基本步骤:(1)、分析需求和设计算法  (2)、设计图形用户界面,并为对象设置属性。
(3)、编写程序代码。 (4)、调试、修改程序。 (5)、保存工程并生成可独立运行的程序。
2、 VB 应用程序窗体设计
(1)操作界面:标题栏、菜单栏、工具栏、工具箱、工程窗口、窗体、工程管理窗口、属性窗口。
(2)工程:程序设计的整个过程。
对象:应用程序的窗体和控件都是对象,每一个对象都有自己的属性和完成任务的能力。
控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。 属性:描述一个对象的特征。每个对象一般都有默认属性,可在属性窗口中修改属性值,叫静态设置。另一种是用控制代码来修改属性值,叫动态设置,设置格式为:[对象名]·属性名=属性值。 方法:不同的对象有不同的做事方法,调用方法的格式为:[对象名]·方法名[ 参数列表]。
控制代码: VB 中一个对象可以执行的指令,按照需要编排在一起就形成了控制代码。
(3)常用控件
标签(Label):通常用来显示比较固定的提示性信息。
文本框(TextBox ):用来显示和输入数据。
命令按钮(mandButton ):用于接收用户的操作信息,并引发应用程序的某个操作。
图片框(Image ):功能强大的图形控件,不但可以显示图片,还可以作为其他控件的容器显示各种绘图方法的输出,或Print 方法输出文本。
滚动条(ScrollBar):它既可以配合窗口浏览数据,也可以作为数据输入的工具使用。
(4)常用控件的基本属性(静态设置、动态设置)
Caption :标题属性,决定出现在窗体的标题栏上的文本内容。
Text :文本属性,决定窗体中或文本框中显示的内容。
Name :名称属性,作为对象的标识而引用,不会显示在窗体上。
Height :高度属性,决定控件高度。
Width :宽度属性,决定控件宽度。
Left :距左属性,决定控件到屏幕左边界的距离。
Top :距顶属性,决定控件到屏幕顶边界的距离。
Fore Color :前景属性,设置控件的前景。
Back Color :背景属性,设置控件背景。
Font:字符格式属性,设置字符的正文字体(Name)、大小(Size)、粗体(Bold)、斜体(Italic)、下画线(Underline)等文字格式。
BorderStyle :边框属性,设置控件的边框风格。
Alignment :标签文字对齐属性,(0)Left Justify时文本左对齐;(1)Right Justify时文本右对齐;设置为
(2)Center时文本居中。
AutoSize :大小自动适应属性,设置为False时输入控件Caption中文字超过控件宽度时超出部分不显示,设置为True时,控件宽度自动扩展,以适应文字长度。(True表示“真”值,即“是”;False 表示“假
”值,即“否”)
Visible :隐藏属性,决定控件是否可见。
Enabled :有效属性,决定控件运行时是否有效。
(5)常用事件
Click :鼠标左键单击。
DblClick :鼠标左键双击。
MouseDown :鼠标左键按下。
MouseUp :鼠标左键弹起。
MouseMove :鼠标移动。
Change :控件的内容已经改变。
KeyDown :键盘上的某键按下。
KeyUp :键盘上的某键弹起。
KeyPress :敲击键盘上的某键。
窗体Load :装载(即启动或称打开)窗体。
窗体Unload :退出(即结束或称关闭)窗体。
GotFocus :获取焦点。
LostFocus :失去焦点。
SetFocus :设置焦点。
(6)常用方法。[ 对象.]方法[ 参数列表]
Print :打印。
Cls :清除。
Move :移动。
End :结束程序的执行。
Line :(画直线或矩形)格式:[对象.] Line [ [Step] (x1,y1)]-(x2,y2)[,颜][,B[F]]
其中对象可以是窗体或图形框;(x1,y1) ,(x2,y2)为线段的起终点坐标或矩形的左上角右下坐标。关键字B表示画矩形,关键字F表示用画矩形的颜来填充矩形。
Circle :画圆。
窗体Show :显示窗体。
窗体Hide :隐藏窗体。
3、VB程序代码
(1)常量、变量的含义、定义及使用。
常量:在程序进行过程中不变的量,在VB中一般分数值常量与字符常量两种。
数值常量:就是数学中说的常数,分整型常量和实型常量两种
整型常量:即整数,指不带小数点的数值如1、0、、-10、+35等都是合法的整数
实型常量:即实数,指带小数点的数值。
实型常量又分为定点数和浮点数两种。
例:定点数:3.14159和-6.8,1.99
浮点数:2E6、1E5、88E
例:1.2345×103 可表示为1.2345E3,字母E表示底数10
浮点数就是数学上的科学计数法。
字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。
符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
变量:是在程序运行过程中其值可以改变的量,变量的实质是内存中存储数值的区域。
变量名的命名规则为:变量名的第一个字符必须是字母;变量名只能由字母、数字和下划线组成,不能含有小数点、空格等字符;组成变量名的字符数不得超过255个字符;不能用VB保留字完全作为变
量名,如语句定义符、函数名等。变量名不能与过程名和符号常量名相同,更不能用VB的关键字作为变量名;变量名不区分大小写。
(2)基本数据类型
(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date
表示X围:
(整型)Integer(-32768 ——32767,存储为16 位,2 个字节)
(长整型)Long(-21亿——21亿,可以表示人口数量)
(布尔型)Boolean(True 真、是或False假、非)
(字符串型)String (定长字符串:0——65535个字符,不定长字符串:0——20亿个字符)
(日期型)Date(100/1/1——9999/12/31)日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。
常量和变量的命名、声明及赋值
符号常量的声明:Const 常量名[As 常量类型] = 常量值如:Const pi As Single = 3.14159
变量的声明:Dim <;变量名>As <;变量类型> 如:Dim a As Integer
变量的赋值
VB中使用Let语句给变量赋值,其形式如下:
[Let] 变量= 表达式其中,方括号[]表示这部分内容是可选的,通常可以省略该关键字。
...........(3)运算符和表达式
运算符:
1、算术运算:
+ 加-- 减*乘
^ 指数例:2^2 = 4
/
(浮点)除例:5 / 2 = 2.5
\ 整除例:5 \ 2 = 2
Mod 求余数例:5 Mod 2 = 1
2、关系运算:
=赋值<;小于号
<>不等于>大于号
>=大于等于号<=小于等于号
注意:关系表达式的运算结果为布尔值True 或False
例:3 > 2 结果为True(真或是)
3、逻辑运算:
Not(取反)And(与)Or(或)
运算结果为布尔型(Boolean)True 或False
逻辑运算符的优先级为:No > And > Or
4、日期运算符与日期表达式:
日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子。
如:表达式“#2003/09/01# +30”的运算结果是“2003-10-1”;表达式“#2003/10/20# - #2003/10/10#”
的运算结果为整数10
5、字符运算:
字符串连接符为“+”和“&”
“123” + “45” = “12345”
“123” & “45” = “12345”
123 + “45” = 168
“123” + 45 = 168
运算符的执行顺序:
在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下。
算术运算符> 字符串运算符>  关系运算符> 逻辑运算符
(4)常用内部函数的含义及使用方法
数学函数:
Abs(x) 求x 的绝对值,例:abs(-3.6) = 3.6
Sqr(x) 求x 的平方根,例:sqr(100) = 10
Int(x)求≤x的最大整数例:int(3.6) = 3 int(--3.6) = --4
Rnd(x)产生[0,1)之间的随机数(不包括1)
Randomize称为随机种子命令。为了能产生真正意义上的随机数,就需要在使用Rnd之前,执行一次Randomize命令。因为Form_Load过程是在窗体装入是就执行的过程,所以Randomize常常写在这个过程里。执行过Randomize之后,产生的随机数就不相同了。
LoadPicture返回图片对象。格式:LoadPicture([filename], [size], [colordepth],[x,y])
Sin(x) 求X的正弦值例:Sin(3.14/6)≈0.5
Cos(x) 求X的余弦值例:Cos(3.14/3) ≈0.5
Tan(x) 求X的正切值例:Tan(3.14/4) ≈1
Atn(x) 求X的反正切值例:Atn(1) ≈0.785
Exp(x) 求以e为底,以X为指数的值例:Exp(1) =2.71828
Log(x) 求以e为底的X的对数例:Log(2.71828)=1
注意:使用三角函数时,参数应是弧度,如数学中sin300应写为:sin(30*3.14159/180)
字符串函数:
Len(字符串) 求字符串的长度例:Len(“hello”) = 5
Left(字符串,截取长度) 截取字符串左边部分例:Left(“hello”,2) = “he”
Mid(字符串,起始位置,截取长度)例:Mid(“hello”,2,2) = “el”
Right (字符串,长度)截取字符串右边部分。例: Right (“hello”,2) = “lo”
String(数值,字符)生成指定长度与指定字符的字符串,例:String(3,”9”) = ”999”
常用转换函数:
Val(字符串)将字符串转换为数值
Str(数值) 将数值转换为字符串
Chr(字符代码)
Asc(字符)
Tab定位函数:
Tab[(n)] 可选的n 参数是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则Tab 将
插入点移动到下一个打印区的起点。
人机交互函数:
InputBox( ) 语法格式为:InputBox( 提示[,标题][,默认值][,X坐标][,Y坐标])
MsgBox( ) 语法格式为:MsgBox(提示信息[,按钮][,标题] )
4、程序的三种基本结构(顺序、分支、循环)
(1)顺序结构语句:赋值语句,print等。
程序设计的顺序结构
顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复,这种结构称为顺序结构。
例题:交换两个变量中的数据。
Private Sub cmdSwap_Click()
Dim x As Single, y As Single
Dim m As Single
x = Val(txtsx.Text)
y = Val(txtsy.Text)
0m = x: x = y: y = m '交换数据
txtdx.Text = Str(x)
txtdy.Text = Str(y)
End Sub
Private Sub cmdEnd_Click()
End
End Sub
(2)分支结构语句:掌握简单两层嵌套的If条件语句。
程序设计的分支结构
行If语句
行If是指在一行中写完的If语句。其一般格式为:
格式一:If条件Then语句
执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执行If语句后继程序行的语句
格式二:If条件Then 语句1Else 语句2
例题:输入三个不相同的数,求出其中最小数。
Private Sub Form_Click()
Dim a As Single, b As Single, c As Single
Dim Min As Single
a = InputBox("输入a", "输入框")
b = InputBox("输入b", "输入框")
c = InputBox("输入c", "输入框")
If a < b Then Min = a Else Min = b
If c < Min Then Min = c
Print "最小数="; Min
End Submousemove是什么键
执行这种形式的语句时,先进行判断。若条件成立,则执行语句1;否则执行语句2。
块If语句
上述If-then语句只能根据条件的真假是否执行一条语句,当Then部分和Else部分包含的内容较多时,则可选用“块If语句”结构。
格式三:If 条件Then
语句块
End If
例题:当从输入一个数时,当该数大于或等于60时显示"及格",该数小于60时显示"不及格"。
Private Sub mand1_Click()
Dim a As Single
a = Val(Text1.Text)
If a >= 60 Then
Label1.Caption = "及格"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。