1 / 62

第 4 章 VB 控制结构

第 4 章 VB 控制结构. 4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其它辅助控制语句 4.5 综合应用 4.6 程序调试. a. A. B. b. VB 具有结构化程序设计的三种程序控制结构,即 顺序结构 、 选择结构 、 循环结构 ,是程序设计的基础。. ( 1 )顺序结构 各语句按出现的先后次序执行。. 用传统流程图表示为. 本章目录. a. 成立. 不成立. 条件?. A. B. b. ( 2 )选择结构. 根据条件决定执行的语句。. 传统流程图 :.

Download Presentation

第 4 章 VB 控制结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4章 VB控制结构 4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其它辅助控制语句 4.5 综合应用 4.6 程序调试

  2. a A B b VB具有结构化程序设计的三种程序控制结构,即顺序结构、选择结构、循环结构,是程序设计的基础。 (1)顺序结构 各语句按出现的先后次序执行。 用传统流程图表示为 本章目录

  3. a 成立 不成立 条件? A B b (2)选择结构 根据条件决定执行的语句。 传统流程图: 本章目录

  4. a a 不成立 条件? 循环体 成立 循环体 条件? 不成立 成立 b b (3)循环结构 根据条件重复执行语句(称为循环体)。 I 当型循环结构 II 直到型循环结构 本章目录

  5. 4.1 顺序结构 • 一般程序设计语言中顺序结构的语句主要有赋值语句和 输入/输出语句等。 • 在VB中赋值语句和输入/输出通过: • 文本框控件、标签控件 • InputBox函数、MsgBox函数和过程 • Print方法等来实现。 本章目录

  6. 4.1.1 赋值语句 4.1 顺序结构 形式: 变量名=表达式 [对象名.] 属性名=表达式 功能:计算表达式的值,再将此值赋给变量或对象属性。 例如: n = n + 1 '计数累加 Text1.Text = "" ' 清除文本框的内容 Text1.Text = "欢迎使用VB " ' 文本框显示字符串 本章目录

  7. 赋值语句注意事项: 4.1 顺序结构 • “=”既是赋值运算符,也是关系运算符。 • 赋值运算符左边只能是变量,不能是常量、常数符号、表达式。 下面均为错误的赋值语句: • Now()=x+y '左边是表达式(函数) • 5=sqr(s)+x+y ' 左边是常量 • X+y=z ' 左边是表达式 本章目录

  8. 赋值运算符两边数据类型不同时的处理: 4.1 顺序结构 • 当表达式为数值型并与变量精度不同时,需强制转换成左边变量的精度。 • 例 n%=3.5 'n为整型变量,四舍五入,n=4 • 当表达式为数字字符串,左边变量是数值类型,自动转换成数值类型再赋值。如果表达式有非数字字符或空串,则出错。 • 例 n%="123" 'n=123 本章目录

  9. 4.1 顺序结构 • 当逻辑型数值赋值给数值型变量时,True转换为-1,False转换为0;反之当数值付给逻辑型变量时,非0转换为True,0转换为False。 • 任何非字符型的值赋值给字符型变量自动转换为字符型。 本章目录

  10. 4.1.2 数据输出和输入 4.1 顺序结构 1. InputBox函数 功能:打开一个对话框,等待用户输入,返回字符串类型的输入值。 形式:InputBox(提示[,标题][,默认值][,x坐标位置][,y坐标位置]) 本章目录

  11. 4.1 顺序结构 注意: 提示项不能省略,若要多行提示,可在每行行末加回车换行vbCrLf。 例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。 本章目录

  12. 2. MsgBox函数和MsgBox过程 4.1 顺序结构 打开一个信息框,等待用户选择一个按按钮。 MsgBox函数形式: 变量[%] = MsgBox(提示[,按钮][,标题]) MsgBox函数返回所选按钮的值。 本章目录

  13. 4.1 顺序结构 MsgBox过程形式: MsgBox 提示[,按钮][,标题] MsgBox过程不返回值。 例如: i=MsgBox("密码错误",5+vbExclamation,"警告") MsgBox"账号必须为数字", , "警告" 本章目录

  14. MsgBox按钮设置 分组 内 部 常 数 值 描 述 按钮 数目 VBOkOnly 0 确定按钮 VBOkCancel 1 确定、取消按钮 VBAboutRetryIgnore 2 终止、重试、忽略按钮 VBYesNoCancel 3 是、否、取消按钮 VBYesNo 4 是、否按钮 VBRetryCancel 5 重试、取消按钮 图标 类型 VBCritical 16 关键信息图标 VBQuestion 32 询问信息图标 VBExclamation 48 警告信息图标 VBInformation 64 信息图标 默认 按钮 VBDefaultButton1 0 第1个按钮为默认 VBDefaultButton2 56 第2个按钮为默认 VBDefaultButton3 512 第3个按钮为默认 本章目录

  15. MsgBox所选按钮返回值 例4.2编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。 本章目录

  16. 3. Print方法 4.1 顺序结构 作用: 在对象上输出信息。 对象.Print[Spc(n)|Tab(n)][输出列表 ][;|,] 对象:窗体、图形框或打印机,缺省为窗体。 Spc(n)函数:从当前位置起空n个空格。 Tab(n)函数:从最左端开始计算的第n列。 分号:定位在上一个被显示的字符之后。 逗号:定位在下一个打印区开始处(每区14列)。 Print语句尾无分号或逗号,输出后换行。 本章目录

  17. 4.1 顺序结构 • 例4.3 Print方法输出图形。 • 利用String函数显示重复字符 • 利用循环结构、Spc、Tab函数显示有规律图形 本章目录

  18. 4. Format格式输出函数 4.1 顺序结构 形式: Format (表达式[, "格式字符串"]) 表达式:数值、日期和字符串类型表达式。 格式字符串有三类: 数值格式、日期格式和字符串格式,格式字符串两旁要加双引号。 本章目录

  19. 符号 作 用 表达式 格式字符串 显示结果 0 用0填充不足的位置 1234.567 "00000.0000" 01234.5670 # 位置不足时不填充0 1234.567 "#####.####" 1234.567 , 千分位 1234.567 "##,##0.000" 1,234.567 % 数值乘以100,加百分号 1234.567 "####.##%" 123456.7% $ 在数字前强加$ 1234.567 "$###.##" $1234.57 E+ 用指数表示 1234.567 "0.00E+00" 1.23E-01 4.1 顺序结构 常用数值格式化符号及举例 例4.4 利用Format函数显示数值。 本章目录

  20. 4.2 选择结构 本章目录

  21. 4.2 选择结构 时间来不及 N Y 去教学楼 去食堂 去教学楼 算法简单描述: if (时间来不及) 去教学楼; else { 去食堂; 去教学楼; } 本章目录

  22. 4.2 选择结构 N 时间来得及 Y 去食堂 去教学楼 如果判断时间来得及呢? 算法的简单描述: if (时间来得及) 去食堂; 去教学楼; 本章目录

  23. 4.2 选择结构 • 计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。 • 必须利用选择结构等来解决实际应用中的各种问题。 • VB中主要通过If条件语句和Select情况语句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。 本章目录

  24. 4.2.1 If条件语句 4.2 选择结构 1. If…Then语句(单分支结构) If <表达式> Then 语句块(可以是一句或多句语句) End If 或 If <表达式> Then <语句> 表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。 本章目录

  25. 4.2 选择结构 得到变量值 数值运算 输出结果 例4.5:从键盘输入两个数,求这两个数中的大者,并输出最大值。 分析: 变量定义 本章目录

  26. 4.2 选择结构 演示 例4.6:从键盘输入两个数x和y,如果x大于y则x与y的值互相交换,并输出。 本章目录

  27. 4.2 选择结构 If x>y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t 简单If形式无End If时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。 本章目录

  28. 4.2 选择结构 2. If…Then…Else语句(双分支结构) If表达式 Then 语句块1 Else 语句块2 End If 或 If 表达式 Then 语句1 Else 语句2 当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2 本章目录

  29. 4.2 选择结构 x ≠ 0 x=0 例4.7:计算分段函数 单分支结 构 y=cos(x)-x^3+3*x If x<>0 Then y=sin(x)+sqrt (x*x+1) If x<>0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)-x^3+3*x End If 双分支结 构 本章目录

  30. 4.2 选择结构 3. If…Then…ElseIf 语句(多分支结构) If表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 … [Else 语句块 n+1] End If 作用:根据不同的表达式值确定执行哪个语句块 本章目录

  31. 4.2 选择结构 例4.8 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 If UCase(ch) >= "A" And UCase(ch) <= "Z" Then MsgBox(ch + "是字母字符") '考虑大小写字母 ElseIf ch >= " 0" And ch <= "9" Then ' 数字字符 MsgBox(ch + "是数字字符") Else ' 除上述字符以外的字符 MsgBox(ch + "是其它字符") End If 本章目录

  32. 4.2 选择结构 不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If 本章目录

  33. 4.2 选择结构 4. If语句的嵌套 If表达式1 Then If 表达式2 Then … End If … End If 本章目录

  34. 4.2 选择结构 例4.9:输入一个考生总分数和英语分数,判断是否被录取为研究生,录取条件为:总分达到350分,英语达到60分。 If score>=350 then If english>=60 then Msgbox "被录取" Else: Msgbox "没被录取" End If Else Msgbox "没被录取" End If 本章目录

  35. 4.2.2 Select Case语句 4.2 选择结构 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 … [Case Else 语句块n+1] End Select • 表达式列表与变量或表达式的类型必须相同,是下面4种形式之一 : • 表达式 例: "A" • 一组用逗号分隔的枚举值 2,4,6,8 • 表达式1 To 表达式2 60 To 100 • Is 关系运算符表达式 Is < 60 本章目录

  36. 4.2 选择结构 例4.8改用 Select Case 语句实现: Select Case ch Case "a" To "z","A" To "Z" MsgBox( ch + "是字母字符") Case "0" To "9" MsgBox (ch +"是数字字符") Case Else MsgBox( ch + "是其他字符") End Select 本章目录

  37. 4.2 选择结构 例4.10判断坐标点(x,y),落在哪个象限。 代码二 Select Case x,y Case x > 0 And y > 0 MsgBox("在第一象限") Case x < 0 And y > 0 MsgBox("在第二象限") Case x < 0 And y < 0 MsgBox("在第三象限") Case x > 0 And y <0 MsgBox("在第四象限") End Select 代码一 If x > 0 And y >0 Then MsgBox("在第一象限") ElseIf x < 0 And y > 0 Then MsgBox("在第二象限") ElseIf x < 0 And y < 0 Then MsgBox("在第三象限") ElseIf x > 0 And y <0 Then MsgBox("在第四象限") End If 代码二错误: 1. Select Case 后不能出现多个变量 2. Case后不能出现变量及有关运算符 本章目录

  38. 4.2.3 条件函数 4.2 选择结构 (1) IIf函数 IIf(表达式,表达式为真时的值,表达式为假时的值) 例如,将x,y中大的数,放入Tmax变量中: Tmax = IIf(x > y,x,y) 该语句与如下语句等价 : If x > y Then Tmax = x Else Tmax = y 本章目录

  39. 4.2 选择结构 Dim nop As Integer, op As Char Randomize() nop = Int(Rnd() * 4 + 1) op = Choose(nop, "+", "-", "×", "÷") MsgBox("nop=" & nop & " op=" & op) (2) Choose函数 Choose(整数表达式,选项列表) 根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。 例 根据nop的值,得到+、-、×、÷中的某运算符: op= Choose(nop,"+","-","×","÷") 本章目录

  40. 例:求 。 分析:1. 需要累加的项是i2 2. 累加到变量s中3. i变量在1~20间变化4. 需要采用循环结构 本章目录

  41. 4.3 循环结构 • 计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。 • 这类问题都可通过循环结构来方便地实现。VB中提供了主要两类循环语句: • For循环语句(一般已知循环次数); • Do条件型循环语句(一般未知循环次数). 本章目录

  42. 4.3.1 For循环语句 4.3 循环结构 For循环变量 =初值To 终值[Step 步长] 语句块 [Exit For] 语句块 Next循环变量 循环变量必须为数值型。 >0 初值<终值 <0 初值>终值 =0 死循环 步长 循环次数 本章目录

  43. 例:求 。 4.3 循环结构 Dim i%, s% s = 0 For i = 1 To 20 Step 1 s = s + i * i Next i MsgBox "s=" & s 本章目录

  44. 4.3.2 Do…Loop循环语句 4.3 循环结构 形式1: Do { While|Until }<条件> 语句块 [Exit Do 语句块] Loop 形式2: Do 语句块 Exit Do 语句块] Loop { While|Until} <条件> 本章目录

  45. Do…Loop流程 4.3 循环结构 本章目录

  46. 4.3 循环结构 例4.11 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。 解此问题两种方法,可根据公式: 直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得 。 本章目录

  47. 4.3.3 循环的嵌套 4.3 循环结构 在一个循环体内又包含了另一个完整的循环结构称为循环的嵌套。 例4.12 打印九九乘法表 思考:打印上三角或下三角程序如何改动? 本章目录

  48. 4.4 其它辅助控制语句 1. Exit语句 VB中有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function 2. End语句 独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。 本章目录

More Related