《visual basic程序设计(等级考试版)中ppt》由会员分享,可在线阅读,更多相关《visual basic程序设计(等级考试版)中ppt(193页珍藏版)》请在金锄头文库上搜索。
1、Visual Basic程序设计(等级考试版),史春联 主 编,高等院校应用型特色规划教材,第1章 Visual Basic程序开发环境 第2章 对象及其操作 第3章 简单程序设计 第4章 Visual Basic 程序设计基础 第5章 数据的输入输出 第6章 控制结构 第7章 数组 第8章 常用标准控件 第9章 过程 第10章 键盘与鼠标事件过程 第11章 菜单程序设计 第12章 Visual Basic程序开发环境 第13章 多重窗体程序设计环境应用 第14章 文件处理 第15章 多媒体应用开发 第16章 数据库编程初步,第6章 控制结构,程序的结构与流程图 选择控制结构 循环控制结构 G
2、oto 型控制 小型案例-文本统计,6.1 程序的结构与流程图,结构化程序设计的基本控制结构有3种:即顺序结构、选择结构和循环结构。 在Visual Basic中要解决较复杂的问题,就要使用到分支结构、循环结构和跳转结构了。而程序也正是因为有了这些结构才使得计算机能顺利完成各种各样的任务。所有的这些结构方式都是通过相应的语句实现的,它们是: 条件结构 If语句; 选择结构 Select Case 语句; 循环结构 Do.Loop语句、ForNext语句和While.Wend语句; 跳转结构 GoTo语句和GoSub语句。,6.1 程序的结构与流程图,在研究算法时,人们习惯使用流程图来描述算法的
3、结构。这种方法是用一些图框表示各类型的操作,用带箭头的线表示这些操作的执行顺序,6.2 选择控制结构,在许多情况下,人们希望程序语句执行的顺序依赖于输入数据或中间运算的结果。这时需要对某个变量或表达式的值进行判定,以决定执行哪些语句和跳过哪些语句不执行,我们称这种程序结构为选择结构(或分支结构)。,6.2.1 单行结构条件语句,1单行形式的IfThen 用途:通过对条件的判断有选择的执行一条语句 语法: If 条件 Then 语句 条件:是供判断的关系表达式或逻辑表达式 语句:是条件成立的时候要执行的语句,6.2.1 单行结构条件语句,例6.2 :找出用户输入的两个数的大数 Private S
4、ub Command1_Click() Dim A As Integer, B As Integer Dim Max As Integer A = Int(InputBox(“请输入第一个整数“, “输入“, 3) B = Int(InputBox(“第输入第二个整数“, “输入“, 6) Max = A If Max B Then Max = B MsgBox Str(A) + “与“ + Str(B) + “之中的大数为“ + vbCrLf + Str(Max) End Sub,6.2.1 单行结构条件语句,2单行形式的IfThenElse 用途:根据条件是否成立从两条语句中选择一条执行
5、语法: If 条件 Then 语句1 Else 语句2 说明:Visual Basic在遇到 IfThenElse语句时首先计算出条件的逻辑值 若为True(即条件成立),则执行语句1 若为False(即条件不成立),则执行语句2,6.2.1 单行结构条件语句,例6.3:验证用户输入的整数的奇偶性 Private Sub cmd1_Click() Dim int1 As Integer, int2 As Integer int1 = CInt(txtInput.Text) int2 = int1 Mod 2 If int2 = 0 Then MsgBox “是一个偶数“ _ Else MsgB
6、ox “是一个奇数“ End Sub,6.2.2 块结构条件语句,1多行形式的IfThenEnd IF 用途:多行形式的IfThenEnd IF可用来判断单一条件来执行一组语句 语法: If 条件 Then 语句组 End IF 说明:这是IfThen语句的多行形式,使用这种形式的选择结构,在条件成立时要执行的语句不再直接跟在Then后面,而是另外自成一个语句块,并且在最后一定要加上End IF。,6.2.2 块结构条件语句,例6.4:三数排序,构造如图的界面,用户在3个文本框中输入3个数,单击按钮完成从大到小的排序,把结构显示在第4个文本框中。 解析:这是一个简单的排序程序,也是排序算法中选
7、择排序的雏形。通过两次判断,把最大的数放在第一位,再经过一次判断把第二大的数放在第二位,这样对于3个数,就完成了从大到小的排序。,6.2.2 块结构条件语句,例6.4 代码 Private Sub Command1_Click() Dim A As Single, B As Single, C As Single Dim D As Single 中间变量 A = Val(Text1.Text) : B = Val(Text2.Text) : C = Val(Text3.Text) If A B Then D = A : A = B : B = D End If If A C Then D =
8、A : A = C : C = D End If If B C Then D = B : B = C : C = D End If Text4.Text = Str(A) + Str(B) + Str(C) End Sub,6.2.2 块结构条件语句,2多行形式的IfThenElse 用途:根据条件是否成立,选择执行不同的语句组 语法: If 条件 Then 语句组1 Else 语句组2 End IF 说明:是单行IfThenElse结构的多行形式,不同之处是条件成立时执行的语句组1不能直接跟在Then后面而条件不成立时要执行的语句组2也不能直接跟在Else后面,两个语句组独立成行,可以是一条
9、语句也可以是多条语句,而且多行形式的IfThenElse语句最后一定要有End If。两者的程序流程是相似的。,6.2.2 块结构条件语句,例6.5:分段函数求值, 对于下面的函数,由用户输入一个X值,求Y值。,6.2.2 块结构条件语句,例6.5 代码 Private Sub Command1_Click() Dim X As Single, Y As Single X = Val(InputBox(“X=”) If X = 0 Then Y = X * X Else Y = 2 * X End If MsgBox “Y = “ + Str(Y) End Sub,6.2.2 块结构条件语句,
10、3多分支的IfThenElseIF 用途:可判断多重条件,执行多行语句。如果情况复杂,要判断的条件不止一个时,就需用到IfThenElse结构 语法: If 条件1 Then 语句组1 ElseIF 条件2 Then 语句组2 ElseIF 条件n-1 Then 语句组n-1 Else 语句组n End If,6.2.2 块结构条件语句,3多分支的IfThenElseIF 说明: 1)Visual Basic首先测试条件1是否成立,如果成立(值为True),执行语句组1 2)否则,继续判断条件2是否成立,如果成立(值为True),就执行语句组2 3)以此类推(条件3至条件n-1) 4)如果所有
11、条件都不成立,就执行Else之后的语句组n。,6.2.2 块结构条件语句,例6.7:判断输入成绩的等级,6.2.2 块结构条件语句,例6.7解法2: Private Sub Command1_Click() Dim sngFen As Single sngFen = Val(InputBox(“请输入成绩:”) If sngFen = 90 Then MsgBox “优秀“ ElseIf sngFen = 80 Then MsgBox “良好“ ElseIf sngFen = 70 Then MsgBox “中等“ ElseIf sngFen = 60 Then MsgBox “及格“ Els
12、eIf sngFen = 30 Then MsgBox “补考“ Else MsgBox “重修“ End If End Sub,6.2.3 多分支选择控制结构(Select Case),用途:虽然IfThenElseIF可以用来判断多重条件的情况,但有时条件太多,程序会变得不易阅读,为此Visual Basic提供了Select Case 语句,使用Select Case语句可以使程序写起来较为简洁,不但容易阅读,执行起来也较有效率。 语法: Select Case 测试表达式 Case 测试结果1 语句组1 Case 测试结果2 语句组2 Case 测试结果n-1 语句组n-1 Case
13、Else 语句组n End Select,6.2.3 多分支选择控制结构(Select Case),说明: 1)Visual Basic遇到Select Case时,首先计算出测试表达式的值,如果该测试表达式值满足Case后任何一个测试结果,则对应的语句组会被执行,如果都不满足,则执行Case Else后的语句组。 2)测试结果可以是以下三者之一: 一般表达式或常量、变量 范围表达式: expression To expression 比较表达式:Is 比较运算符 表达式,6.2.3 多分支选择控制结构(Select Case),例6.8:判断用户输入的整数除以3以后的结果: Private
14、Sub Command1_Click() Dim x As Integer x = Val(InputBox(“请输入一个正整数“, “输入“, 32) Select Case x Mod 3 Case 0 MsgBox Str(x) + “ 整除3“ Case 1 MsgBox Str(x) + “ 除以3余1“ Case 2 MsgBox Str(x) + “ 除以3余2“ End Select End Sub,6.2.4 IIf函数,用途:作为函数,根据测试表达式得到的逻辑值,从两个表达式选择一个作为返回值,其用途类似于IfThenElse语句,只不过IIf函数是一个用来返回值的选择结构
15、。 语法: IIf (测试表达式 , True部分 , False部分) 说明: 测试表达式是一个逻辑表达式,True部分与False部分可以是一个表达式或变量与常量。,6.3 循环控制结构,在实际应用中,经常遇到一些操作并不复杂,但需要反复多次处理的问题,比如要计算1+2+3+10000,直接把这个求和的表达式用手工输入显示是不现实的。循环结构可以帮助我们有效的解决这一类问题,利用循环结构,只需要编写少量的语句就可以让计算机重复执行许多次,从而完成大量类同计算的需求。 Visual Basic提供了3种循环控制方式: ForNext DoLoop WhileWend,6.3.1 ForNex
16、t 循环,用途: For循环通常用于将某一程序段重复执行、且重复次数是固定的场合。For循环的重复次数可以由一个计数变量的上、下限来决定。 语法: For 计数器=初值 To 终值 Step 增量 循环体 Next 计数器,6.3.1 ForNext 循环,说明:For循环执行步骤如下: 1将计数器设定为初值。 2若增量为正、则判断计数器的值是否小于终值;若增量为负,则判断计数器的值是否大于终值。 3若上述判断值为True,则执行循环体中的语句,否则跳出循环。 4到Next语句,将计数器加上增量 5重复步骤2至4,6.3.1 ForNext 循环,例6.9:求S=1+2+3+N,其中,N由用户输入 Private Sub Command1_Click() Dim N As Integer