收藏 分享(赏)

南工大VB第3、4章课件.ppt

上传人:j35w19 文档编号:8695303 上传时间:2019-07-08 格式:PPT 页数:86 大小:668.50KB
下载 相关 举报
南工大VB第3、4章课件.ppt_第1页
第1页 / 共86页
南工大VB第3、4章课件.ppt_第2页
第2页 / 共86页
南工大VB第3、4章课件.ppt_第3页
第3页 / 共86页
南工大VB第3、4章课件.ppt_第4页
第4页 / 共86页
南工大VB第3、4章课件.ppt_第5页
第5页 / 共86页
点击查看更多>>
资源描述

1、第3章 Visual Basic语言基础,3.1 Visual Basic程序代码的组织方式 3.2 编码规则 3.3 数据类型 3.4 运算符与表达式 3.5 VB常用内部函数,3.1 Visual Basic程序代码的组织方式,3.1.1 过程 3.1.2 模块,3.1.1 过程,所谓过程,就是具有特定格式、包含若干可被作为一个整体执行的代码行的组合。 每个过程用来完成一个特定的功能,通过使用过程,可以使得程序结构更加清晰。 两类过程: 事件过程 通用过程,3.1.2 模块,1.窗体模块 2.标准模块 3.类模块,3.2编码规则,VB代码不区分字母的大小写。 对于VB中的保留字,首字母总被

2、转换成大写,其余字母被转换为小写 对于用户自定义的变量名、过程名,VB以第一次定义的为准,以后输入的自动向首次定义的转换 一行可以书写多条语句,中间用冒号“:”隔开。 一条语句也可以书写在多行上,需要在行的末尾加上续行标志“ _”(一个空格加上一个下划线)。 适当的注释(一个撇号为注释标志)可以提高程序的可读性,3.3数据类型,3.3.1标准数据类型 3.3.2常量 3.3.3变量 3.3.4变量的作用域,3.3.1标准数据类型,1数值数据类型,数值类型有:Integer、Long、Single、Double、Currency和Byte。 Integer(整型)和Long(长整型)用于保存整数

3、。整型用2个字节存放,取值范围较小,从负32768到正32767。 Single(单精度型)和Double(双精度型)用于保存浮点实数。 在VB程序中,很大或很小的数通常采用指数形式表示。具体形式如下: mmmEeee 或 mmmDeee 1E-6表示单精度型数值0.000001 1.23D6表示双精度型数值1230000 注意:字母E或字母D前后的尾数部分和指数部分均不能省略,并且指数部分要为整数。,2日期数据类型,Date型按8个字节的浮点数来存储,表示的日期范围是从公元100年1月1日到9999年12月31日,而时间范围从00:00:00到23:59:59。 任何字面上可以被认作日期和时

4、间的字符(汉字除外),只要用一对符号“#”括起来,都可以作为日期型数值。 例如:#August 8,2008#、#8 Aug,2008#、#08/24/2008#、#2008-08-24 12:30:00 PM#都是合法的日期型数据。,3.逻辑(Boolean)数据类型,Boolean数据类型用于逻辑判断,只有True和False两个值。,4.字符(String)数据类型,String类型存放字符型数据,所谓字符型数据就是用一对双引号括起来的字符串。 字符串可分为两类:变长字符串和定长字符串。 Dim s1 As String 声明变长字符串 Dim s2 As String*10 声明定长字

5、符串,可存放10个字符,5.变体(Variant)数据类型,Variant类型是特殊的数据类型,它是VB的缺省数据类型,可以存储各种类型的数据。,3.3.2常量,在程序运行时保持不变的数据称为常量。 常量分为字面常量和符号常量两种。 字面常量:例如常数。 符号常量有两类:一类是用户声明的常量,一类是系统提供的常量。,1 用户声明常量,Public | Private Const As Type = Const PI As Single = 3.14159 声明常量PI,代表3.1415926 Const MAX As Integer = &O144 声明常量MAX,数值前加“&O”代表八进制

6、Const NUM As Long = &H1A2B 声明常量NUM,数值前加“&H”代表十六进制 Const EPS As Double = 1.23E-6,2 系统提供常量,VB系统内部定义了许多符号常量,在应用程序代码中可以直接使用这些内置符号常量。如Vbcrlf等。,3.3.3变量,在程序运行时其值可以变化的量称为变量。,1 变量的命名规则,变量的命名规则是:变量名由字母、数字、下划线组成且必须以字母开头,长度不超过255个字符。 不能使用VB的系统保留字作为变量名。,2 变量的说明,使用变量前,通常要求“先说明,后使用”。 用Dim语句说明变量 用类型说明符直接说明变量 隐式说明 O

7、ption Explicit语句,3.3.4变量的作用域,3.4运算符与表达式,3.4.1算术运算符和算术表达式 3.4.2字符串连接符和字符串表达式 3.4.3关系运算符和关系表达式 3.4.4逻辑运算符和逻辑表达式,3.4.1算术运算符和算术表达式,3.4.2字符串连接符和字符串表达式,字符串连接符有两个:“&”和“+”,它们的作用都是将两个字符串拼接起来。 ”VB” + ”程序设计” 结果为”VB程序设计” “ABC” & “XYZ” 结果为”ABCXYZ”注意字符串连接符“&”和“+”的区别,3.4.2字符串连接符和字符串表达式,“abc“+“xyz“ 结果为“abcxyz“ “123

8、“ + “345“ 结果为“123345“ 123+456 结果为579 “abc”+123 出错 123 + “345“ 结果为468,“345“称为数值型字符串,可以转换为相应数值345 “1.23E4“ + 45 结果为12345,“1.23E4“转换为相应数值12300 “abc” & 123 结果为”abc123” 123 & 456 结果为”123456”,3.4.3关系运算符和关系表达式,3.4.4逻辑运算符和逻辑表达式,3.4.4逻辑运算符和逻辑表达式,例3-4假设a为3,b为4,c为5,分析以下示例 (1)Result = Not(a b) (2)Result = (a b)

9、 And (c b) (3)Result = (a b) OR (c b) (4)Result = (a b) XOR (c b) (5)Result = (a+b c) OR (a b) And (c b),请注意:在数学中判断x是否在某个区间a,b时,写成axb,但在Visual Basic中不能写成:a = x = b应写成:a = x And x = b,3.4.5运算规则,1优先级 2数据类型的转换,1优先级,算术运算符 字符串连接符 关系运算符 逻辑运算符对于多种运算符并存的表达式,可以使用圆括号,改变运算次序或使表达式更清晰。,2 数据类型的转换,在运算时,如果两个操作数的类型相

10、同,它们的运算结果也是同一类型。 如果两个操作数的类型不同,则运算结果的类型以存储空间大的数据类型为准。即 Integer Long Single Double Currency 比如一个整型与一个长整型进行运算,结果为长整型;一个整型与单精度型进行运算,结果为单精度型;一个整型与双精度型进行运算,结果为双精度型;但是一个长整型与一个单精度型进行运算,结果为双精度型。 注意:除法运算是例外情况,不论除数与被除数是何类型,结果总为双精度型。,3.5 VB常用内部函数,3.5.1算术函数 3.5.2字符函数 3.5.3转换函数 3.5.4日期函数 3.5.5格式化函数Format$,3.5.1算术

11、函数,3.5.2字符函数,3.5.3转换函数,3.5.4日期函数,3.5.5格式化函数Format$,第4章 Visual Basic基本语句,4.1算法及程序设计基础,4.1.1 算法概述 4.1.2 算法的特性 4.1.3 算法的描述 4.1.4 基本算法结构,4.1.1 算法概述,算法:用计算机解决问题的方法和步骤。 计算机算法可以分为两大类:数值计算算法和非数值计算算法。,例4-1求两个自然数M和N的最大公约数的算法。,算法1假设NM, Step 1:将N的值赋给I Step 2:如果N和M都能被I所整除,则I是M和N的最大公约数,转Step 4;否则,执行Step 3。 Step 3

12、:I值减去1,转Step 2 Step 4:输出M和N的最大公约数I算法2“欧几里得算法” Step 1:求出M除以N的余数R。 Step 2:如果余数R等于0,则N就是所求最大公约数,转Step 4;否则执行Step 3。 Step 3:使M值为N,N值为R,转Step 1。 Step 4:输出最大公约数N(注意这时N可能已经变化,不是原始的N值),4.1.2 算法的特性,确定性 可行性 有穷性 有零个或多个输入 有一个或多个输出,4.1.3 算法的描述,1流程图P94 2伪代码,4.1.4 基本算法结构,顺序结构 分支结构 循环结构 共同特点P97,4.1.4 基本算法结构,4.2 赋值语

13、句及InputBox、MsgBox函数,4.2.1 赋值语句 4.2.2 InputBox函数 4.2.3 MsgBox函数,4.2.1 赋值语句,1赋值语句的形式 2赋值语句的注意事项,1赋值语句的形式,赋值语句的一般形式:var = 表达式 其中,var表示某个变量名或属性名。 “=”在这里称为赋值号,它的作用是将右边表达式的值赋值给左边的变量或属性。例如: x = 100 将100赋值给变量x s = a*8+b 使用赋值语句也可以设置对象的属性值。 Label1.Text = “Hello” Label1.FontSize = 20 将Label1的字号设置为20,2赋值语句的注意事项

14、,先计算后赋值。 使用赋值语句时要注意:赋值号右边表达式运算结果的类型要与赋值号左边变量的类型相一致或兼容 。P98六种情形。,例4-3,Private Sub Command1_Click()Dim A As Integer,B As Boolean,C As Integer,D As IntegerA=20/3 : B=True : C=B : D=A+CPrint A,D,A=A+C End Sub,4.2.2 InputBox函数,用于接受用户通过键盘输入的数据。 使用形式如下: var = InputBox(提示,标题,缺省值,x坐标位置,y坐标位置) 返回值为字符型 除“提示”外参

15、数均可省略,但逗号不能省略,例4-4,Private Sub Command1_Click()Dim stuAge As IntegerDim strPrompt As StringstrPrompt = “请输入年龄“ + vbCrLf + “然后单击确定“stuAge = Val(InputBox(strPrompt, “InputBox函数示例“, 20)txtAge.Text = CStr(stuAge) End Sub,4.2.3 MsgBox函数,MsgBox函数用于向用户发布信息,等待用户做选择 MsgBox函数使用有两种形式:函数形式和过程形式 如果需要返回值,也就是需要知道用

16、户选择了哪一个按钮函数形式。 如果不需返回值,也就是显示对话框仅仅是显示一条信息过程形式。 函数形式如下:变量名=MsgBox(提示,按钮,标题) 过程形式如下:MsgBox 提示,按钮,标题,4.2.3 MsgBox函数,MsgBox过程形式示例:MsgBox “密码错误“, vbExclamation, “提示信息“MsgBox函数形式示例:x = MsgBox(“密码错误“, vbRetryCancel + vbExclamation, “提示信息“),4.3分支结构与分支结构语句,4.3.1 If Then语句(单分支结构) 4.3.2 If-Then-Else语句(双分支结构) 4.

17、3.3 If-Then-ElseIf-End If语句(多分支结构) 4.3.4 Select-Case - End-Select结构语句,4.3.1 If Then语句(单分支结构),(1)块IF形式(多行): If Then语句块 End If(2)行IF形式(单行): If Then 语句,例4-5,比较两个数x和y,如果x小于y,则交换x和y,使得x不小于y。 Private Sub Command1_Click()Dim x As Integer, y As IntegerDim t As Integer 为实现交换引入中间变量x = 3: y = 4If (x y) Then t

18、= x 交换三部曲x = yy = tEnd IfPrint x; y End Sub,4.3.2 If-Then-Else语句(双分支结构),双分支结构一般形式如下: IF ThenElseEnd If IF Then语句 Else 语句,例4-4计算分段函数,If x = 0 Theny = Sin(x) + Sqr(x * x + 1)Elsey = Cos(x) + Exp(x) - 1End If,例4-6编写程序,输入三角形三条边的长度,计算三角形面积。如果输入的三条边不能构成三角形,给出错误信息。,4.3.3 If-Then-ElseIf-End If语句(多分支结构),语句形式

19、如下:If ThenElseIf ThenElseEnd If,例4-7,例4-7输入学生成绩,按确定后给出相应的等级。成绩在85到100为“优秀”,70到84为“良好”,60到69为“及格”,0到59为“不及格”。如果成绩输入错误,比如大于100或小于0,则给出“成绩输入错误”提示信息。,例4-7,判断成绩等级If score 100 Or score = 85 Then 也可写成score = 85 And score= 70 ThenstrGrade = “良好“ElseIf score = 60 ThenstrGrade = “及格“ElsestrGrade = “不及格“End If

20、,4.3.4 Select-Case - End-Select结构语句,Select Case测试表达式Case测试项1A组语句Case测试项2B组语句Case ElseN组语句End Select,4.3.4 Select-Case - End-Select结构语句,测试项可以是以下几种形式之一: 具体取值。例如3,5,7,8等(用逗号隔开) 连续的数据范围。例如1 To 10,”A” To “Z”等。 满足某个判决条件。 Case 2, 4, 8 测试表达式的值为2或4或8,则匹配 Case 60 To 100 测试表达式的值在60到100之间,则匹配 Case “a” To “z” 测试

21、表达式的值为小写字母,则匹配 Case Is 10 测试表达式的值大于10,则匹配,例4-8用Case语句实现例4-6所要求的成绩等级判定。,Select Case scoreCase 0 To 59strGrade = “不及格“Case 60 To 69strGrade = “及格“Case 70 To 84strGrade = “良好“Case 85 To 100strGrade = “优秀“Case ElsestrGrade = “成绩输入错误“End Select,4.4循环结构与循环结构语句,4.4.1 Do-Loop循环结构语句 4.4.2 For-Next循环结构语句 4.4.

22、3 循环嵌套,4.4.1 Do-Loop循环结构语句,1Do-Loop“当”型循环结构 2Do-Loop“直到”型循环结构 3Exit Do语句,1Do-Loop“当”型循环结构,Do While Exit Do LoopDoExit Do Loop While ,2Do-Loop“直到”型循环结构,Do Until Exit Do LoopDoExit Do Loop Until ,3Exit Do语句,在循环体中,可以包含一条或多条Exit Do语句,如果程序执行到Exit Do,就会直接退出循环体,执行Loop下面的语句。 Exit Do语句一般与If-Then语句结合使用,常见形式为:

23、 If Then Exit Do 当条件表达式结果为True,则执行Exit Do语句,直接退出循环体。,例4-10计算1到100的和。,例4-11求出两个自然数的最大公约数。,例4-10设计一个程序,求出满足以下条件的最小的n值和s值。s=1+2+3+n,且s600,例4-22利用牛顿迭代法求方程根,利用牛顿迭代法求方程ex x-2 = 0 在x0 = 1.0附近的一个根,要求精确到10-7 牛顿迭代法算法说明 程序代码,牛顿迭代法算法说明,牛顿迭代法是求解一元超越方程的常用算法。设要求解的方程为f(x)=0,并已知一个不够精确的初始根x0,则有: 上式称为牛顿迭代公式。式中,f(x)是f(

24、x)的导函数。利用迭代公式,可以依次求出x1、x2、x3、,当|xn+1 xn|时的xn+1即为要求的根。,xn+1 = xn - f(xn)/f(xn) n=0,1,2,3,For-Next循环结构语句,如果事先已知循环次数,则可使用For-Next 循环结构语句。它的一般形式是: For-Next循环结构语句的执行方式 注意,4.4.2,For v = e1 To e2 Step e3.Exit For.Next v,式中,v是循环控制变量,应为整型或单精度型;e1、e2和e3是控制循环的参数。e1为初值、e2为终值、e3为步长。当e3=1时,step e3部分可省略。,For-Next循

25、环结构语句的执行方式,计算e1、e2和e3的值; 给v赋初值; 判v的值是否超过e2,即当e30时,判ve2否;当e30时,判ve2否,如果未超过,则执行循 环体;如果超过了,则退出循环。 执行Next语句,v增加一个步长,即执行v = v + e3;转而执行判别操作。,注意,循环参数e1、e2和e3中包含的变量如果在循环体内被改变,不会影响循环的执行次数;但循环控制变量若在循环体内被重新赋值,则循环次数有可能发生变化。 若使用非整型数做循环控制变量和循环参数,那么循环次数就有可能发生意想不到的变化。十进制整数可准确转换为二进制数形式,而带小数点的十进制数在转换为单(双)精度数时则多半存在数制

26、转换误差。,例4-13使用For-Next循环计算100之内的偶数之和。,例1 从一个混合字符串中找出大写字母并将其逆序输出,从一个字符串中找出符合要求的字符是采取对字符串的每一个字符逐个筛选的方法实现的,本例利用Mid函数可以从字符串中提取出单个字符,利用循环控制处理过程,循环的终值使用Len函数;对于符合要求的字符采用连接运算组成新字符串;逆序输出则是通过从后往前逐个提取字符再连接。 程序代码,Exit For,同Exit Do类似,Exit For的作用是退出For循环,其一般使用形式为: If Then Exit For,例4-14输入一个整数,判断该数是否为素数 例2输入一个整数,判

27、断该数是否为完数,循环嵌套,无论是Do-Loop循环,还是For-Next循环,都可以在大循环中套小循环。必须注意:小循环一定要完整地被包含在大循环之内,而不得相互交叉。 Private Sub Form_Click()For i = 1 To 9For j = 1 To 9Print i; “*“; j; “=“; i * j;Next jPrintNext i End Sub 执行本程序,窗体上将显示九九乘法表 例3一个模拟摇奖的程序,4.4.3,例3一个模拟摇奖的程序,设有100个人中签,要从中找出中奖人。由机器自动随机产生1000个1100间的数据,第1000个随机数据即为中奖人的号码。 随机函数Rnd(x)。 (1)所生成的随机数为01之间均匀分布。 (2)生成某个范围内的随机整数,可用公式: Int(ub - lb + 1) * Rnd + lb) ub、 lb分别是随机整数范围的上下限。 (3)调用 Rnd 之前,先使用Randomize 语句初始化,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报