第四章 Visual Basic控制结.ppt_第1页
第四章 Visual Basic控制结.ppt_第2页
第四章 Visual Basic控制结.ppt_第3页
第四章 Visual Basic控制结.ppt_第4页
第四章 Visual Basic控制结.ppt_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 Visual Basic控制结构,第一次课,本章导读,顺序结构与顺序结构语句 选择结构与选择结构语句 循环结构与循环结构语句,实例解析,题目:从键盘上输入一个正整数X(不超过3位),单击“计算”命令按钮,计算该数每位数字之和。输出界面如下图:,Dim x Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String MsgBox X必须为一个正整数并且不超过三位! s$ = Chr$(13) + Chr$(10) c1$ = “请输入具体数值 c2$ = 输入后按回车 c3$ = 或单击“确定”按钮

2、x = InputBox(c1$ + s$ + c2$ + s$ + c3$) End Sub Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位数 b = x 10 Mod 10 求十位数 c = x Mod 10 求个位数 Label1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,赋值语句,赋值

3、语句,赋值语句,输入对话框-InputBox函数,消息对话框-MsgBox 过程,赋值语句,4.1 顺序结构与顺序结构语句,赋值语句 赋值语句的使用格式 赋值语句的两个常用形式 不同数据类型数据的赋值 数据的输入与输出 数据的输入/输出控件 输入对话框-InputBox函数 消息对话框-MsgBox函数与MsgBox过程 Print方法,4.1 顺序结构与顺序结构语句,了解顺序结构的运行特点 掌握赋值语句的使用格式 领会不同数据类型间数据的赋值方式 掌握InputBox函数的使用方法 掌握MsgBox函数及过程的使用方法,学习目标,4.1 顺序结构与顺序结构语句,顺序结构中程序在运行时按照语句

4、在各事件中出现的先后顺序逐条执行; 顺序结构中的每一条语句都被执行一次,而且只能被执行一次; 先执行A语句,再执行B语句 “自上而下”依次执行。,4.1 顺序结构与顺序结构语句,顺序结构是任何程序的主体结构。 在Visual Basic中,组成顺序结构的语句主要是赋值语句、输入语句和输出语句。,4.1.1 赋值语句,赋值语句的使用格式 赋值语句的两个常用形式 不同数据类型数据的赋值,4.1.1 赋值语句,赋值语句的使用格式 语法格式: = . = = . 当系统执行赋值语句时,可使变量或某个对象的某个属性获得一个新值,也可以获取某个对象的某个属性值。,Dim x Private Sub Com

5、mand1_Click() Dim c1 As String, c2 As String, c3 As String MsgBox X必须为一个正整数并且不超过三位! s$ = Chr$(13) + Chr$(10) c1$ = “请输入具体数值 c2$ = 输入后按回车 c3$ = 或单击“确定”按钮 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) End Sub Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位数 b = x 10 Mod 10 求十位数 c = x Mod 10 求个位数 L

6、abel1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,4.1.1 赋值语句,赋值语句的使用格式 注意点: 一个赋值语句只能对一个变量赋值; 要在一行中给多个变量赋值,可以用冒号将语句与语句之间隔开; 赋值号左边的只能是变量或属性名,不能是常量、符号常量和表达式; 赋值语句右边的表达式可以是变量、常量、调用函数等; “=”在赋值语句中作为赋值号,而在表达式中作为

7、关系运算符。,4.1.1 赋值语句,赋值语句的两个形式 累加 Sum = Sum +x 计数 n = n +1,4.1.1 赋值语句,不同数据类型数据的赋值 如果变量与表达式都是数值类型,系统先求出表达式的值,然后将其转换为左边变量的类型后,再赋值。 如果变量为数值型,而表达式为字符型,则自动转换成数值类型再赋值。如果表达式中含非数字字符或空串,则系统将给出“类型不匹配”的错误提示。 当逻辑值赋给数值型变量时,True转换为-1,False转换为0;反之当数值赋给逻辑型变量时,非0转换为True,0转换为False。 任何非字符的值赋给字符型变量,则系统将其自动转换为字符型,再赋值。,4.1.

8、2 数据的输入与输出,数据的输入/输出控件 输入对话框-InputBox函数 消息对话框-MsgBox函数与MsgBox过程 Print方法,4.1.2 数据的输入与输出,数据的输入/输出控件 文本框 标签 列表框 图片框,4.1.2 数据的输入与输出,输入对话框-InputBox函数 InputBox函数可以产生一个对话框,称为输入对话框,这个对话框作为输入数据的界面,用于接受用户通过键盘输入的数据。 在调用InputBox函数时,打开对话框等待用户输入数据,当用户单击“确定”按钮或按回车键时,函数将输入的数据作为字符串返回,并保存在变量中。,4.1.2 数据的输入与输出,输入对话框-Inp

9、utBox函数 函数格式:, = InputBox(,),提示信息,缺省值,标 题,图4-3 InputBox函数打开的输入对话框,:用于存放InputBox函数的返回值。 Prompt:不可缺省项,表示显示的提示信息字符串。 Title:指定输入对话框的标题,是一个字符串表达式。 Default:显示在用户编辑框中的初始设定值。 x, y:指定输入对话框在屏幕上显示的位置,单位是特维(twip)。 Helpfile, Context:帮助文件名与帮助主题号。 各项参数次序必须一一对应,除了Prompt项不能省略外,其余各项均可省略。如果处于“中间位置”的参数省略,其对应的逗号不能省略。, =

10、 InputBox(,),输入并打印x值,输入并打印x值,4.1.2 数据的输入与输出,输入对话框-InputBox函数,若要在多行显示提示用 的文字信息,怎么办,?,Dim x Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String MsgBox X必须为一个正整数并且不超过三位! s$ = Chr$(13) + Chr$(10) c1$ = “请输入具体数值 c2$ = 输入后按回车 c3$ = 或单击“确定”按钮 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) En

11、d Sub Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位数 b = x 10 Mod 10 求十位数 c = x Mod 10 求个位数 Label1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,还可以通过什么方法 实现多行显示?,4.1.2 数据的输入与输出,消息对话框-MsgBox函数与M

12、sgBox过程 MsgBox函数可以打开一个消息对话框,用于向用户发布消息,并可以通过用户在该对话框上的选择接收用户所做的响应,作为程序继续执行的依据。,4.1.2 数据的输入与输出,消息对话框-MsgBox函数与MsgBox过程 MsgBox有两种使用格式 函数格式: 过程格式:,MsgBox , = MsgBox(,),图4-5 MsgBox函数或过程打开的消息对话框,4.1.2 数据的输入与输出,消息对话框-MsgBox函数与MsgBox过程 MsgBox过程与MsgBox函数的功能相同,但MsgBox过程没有返回值,调用时不能有括号,作为一个独立的语句,通常用于显示某些信息,而不作程序

13、流程的选择控制。,Dim x Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String MsgBox X必须为一个正整数并且不超过三位! s$ = Chr$(13) + Chr$(10) c1$ = “请输入具体数值 c2$ = 输入后按回车 c3$ = 或单击“确定”按钮 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) End Sub Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位数 b = x 10 M

14、od 10 求十位数 c = x Mod 10 求个位数 Label1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,:用于存放MsgBox函数的返回值。 Prompt:不可缺省项,显示在消息对话框中的提示信息字符串。 Button:用于决定消息对话框中按钮的数目和类型以及出现在消息框中的图标类型 。 Title:消息对话框标题。 Helpfile, Contex

15、t:有本选项时,在消息对话框中自动增加一个帮助按钮。, = MsgBox(,),MsgBox函数格式,下一节,输入口令的例子,按钮的类型,图标的类型,活动按钮的位置,强制返回模式,注意点,每种数值都有相应的系统内部常量,其作用与数值相同,两者都可以使用。用内部常量直观,可读性高;用数值则输入简单方便,且Button可用参量表达式的值表示。 A = MsgBox(输入数据错误!, 2 + vbExclamation, 简例2) 或者:A = MsgBox(输入数据错误!, vbAbortRetryIgnore + vbExclamation, 简例2) 即:2 + vbExclamation、v

16、bAbortRetryIgnore + 48、vbAbortRetryIgnore + vbExclamation、50等与2 + 48效果相同。,返回,MsgBox函数的返回值,返回,4.1.2 数据的输入与输出,Print 方法,实例 4-1,已知圆的半径,求圆的周长和面积。 其中输入/输出操作可以通过文本框、标签以及InputBox函数与MsgBox过程来进行,也可以使用Print方法。,实例 4-1,图4-6 实例4-1(1)程序运行界面,图4-7 实例4-1(2)程序运行界面,图4-8 实例4-1(3)程序运行界面,作业,圆的周长和面积的三种实现方法,实例解析-复习,题目:从键盘上输

17、入一个正整数X(不超过3位),单击“计算”命令按钮,计算该数每位数字之和。输出界面如下图:,复习,Dim x Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String MsgBox X必须为一个正整数并且不超过三位! s$ = Chr$(13) + Chr$(10) c1$ = “请输入具体数值 c2$ = 输入后按回车 c3$ = 或单击“确定”按钮 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) End Sub Private Sub Command2_Click()

18、Dim a%, b%, c% a = x 100 求百位数 b = x 10 Mod 10 求十位数 c = x Mod 10 求个位数 Label1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,赋值语句,赋值语句,赋值语句,输入对话框-InputBox函数,消息对话框-MsgBox 过程,赋值语句,思考题,编程计算二次函数y=6x2+5x+12,x由键盘输入,

19、其值在(0,10)之间,输入输出界面如下图:,思考题,编写程序随机产生3个两位正整数,统计并输出平均值。要求3个随机数在文本框中显示,单击“计算”按钮,显示计算结果,单击“下一题”按钮产生下一组随机数,单击“退出”按钮,结束程序的运行。,第四章 Visual Basic控制结构,第二次课,新课,Dim x Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String s$ = Chr$(13) + Chr$(10) c1$ = 请输入一个数(不超过3位) c2$ = 输入后按回车 c3$ = 或单击“确定”按

20、钮 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) If Not IsNumeric(x) Or x 999 Then MsgBox X为非数字字符 + s$ + 或X超过3位了,错误!“ End if End Sub Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位数 b = x 10 Mod 10 求十位数 c = x Mod 10 求个位数 Label1.Caption = 输入的数是: Label2.Caption = x Label3.Caption = 该数每位数字之和为: Label

21、4.Caption = a + b + c End Sub Private Sub Command3_Click() End End Sub,4.2 选择结构与选择结构语句,If-Then-Else-End If 结构语句 Select-Case-End Select 结构语句,先对条件测试,根据测试的结果选择执行不同的分支,4.2 选择结构与选择结构语句,在VB程序设计中,实现分支的方法: 单分支结构 双分支结构 多分支结构,If-Then-Else-End If 结构语句,4.2 选择结构与选择结构语句,单分支结构,If-Then-Else-End If 结构语句,单分支结构语句的一般形式

22、:,单分支结构语句的简化形式:,If Then A组语句 End If,If Then ,Private Sub Form_Click() End Sub,程序如下:,If的单分支结构(简化形式),Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) End Sub,Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) If x =0 Then Print 这是大于等于0的数 End Sub,案例1a 键盘输入一个数,判断其是小于0,还是大于等

23、于0。,程序如下:,If的单分支结构(一般形式),Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) If x =0 Then Print 这是大于等于0的数“ End if End Sub,案例1b 键盘输入一个数,判断其是小于0,还是大于等于0。,程序如下:,案例2a 判断一个数是小于1,大于等于1小于等于10,还是大于10。,Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) If x =1 and x 10 Then Print 这

24、是大于10的数 End Sub,If的单分支结构-实现,注意复合条件的使用!,4.2 选择结构与选择结构语句,双分支结构,If-Then-Else-End If 结构语句,双分支结构语句的一般形式:,双分支结构语句的简化形式:,If Then A组语句 Else B组语句 End If,If Then Else ,程序如下:,案例3 已知三边的长,设计求面积的程序。,If的双分支结构-实现,输入一年份,判断是否是闰年,并显示有关信息,输出界面如下:,动手写一写,Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) If

25、 x 1 Then Print 这是小于1的数 Else If x = 10 Then Print 这是1到10之间的数 Else Print 这是大于10的数 End If End If End Sub,If的双分支结构-实现,If语句的嵌套,程序如下:,案例2b 判断一个数是小于1,大于等于1小于等于10,还是大于10。,4.2 选择结构与选择结构语句,If 语句的嵌套,If-Then-Else-End If 结构语句,If Then If then Else End If Else End If,If Then Else If Then Else End If End If,4.2 选择

26、结构与选择结构语句,多分支结构,If-Then-Else-End If 结构语句,If Then A1语句块 ElseIf Then A2语句块 Else An+1语句块 End If,Private Sub Form_Click() Dim x As Integer x = InputBox(请输入x的值: ) If x 1 Then Print 这是小于1的数 ElseIf x = 10 Then Print 这是1到10之间的数 Else Print 这是大于10的数 End If End Sub,If的多分支结构-实现,程序如下:,案例2c 判断一个数是小于1,大于等于1小于等于10,

27、还是大于10。,Option Explicit Private Sub Form_Click() Dim Score As Single Score = Val(InputBox(请输入学生的考试成绩:, 评定等级) If Score 100 Then Print 输入成绩错误! ElseIf Score = 90 Then Print 优秀 ElseIf Score = 80 Then Score = 80 And Score = 70 Then Print 中等 ElseIf Score = 60 Then Print 及格 ElseIf Score = 0 Then Print 不及格

28、Else Print 输入成绩错误! End If End Sub,If的多分支结构-实现,程序如下:,案例4 输入一组学生考试成绩,评定其等级。,动手写一写,输出如下:,案例欣赏 模拟简单计算器,解读:简单模拟计算器,对输入的两个数进行加、减、乘、除运算。在“输入运算式”文本框中输入运算式,当焦点移到“结果”文本框时,在“结果”文本框中显示运算式的计算结果;单击“清除”按钮,清空两个文本框的内容,并将焦点设置到“输入运算式”文本框中;单击“结束”按钮,结束程序运行。,Private Sub Command1_Click() Text1 = Text2 = Text1.SetFocus End

29、 Sub Private Sub Command2_Click() End End Sub,程序如下:,案例欣赏 模拟简单计算器,Private Sub Text1_LostFocus() Dim x As String, p As String Dim a!, b!, y!, n% x =trim(Text1.text) a = Val(x) n = Len(cstr(a) p = Mid(x, n + 1, 1) b = Val(Mid(x, n + 2) If p = + Then y = a + b ElseIf p = - Then y = a - b ElseIf p = * Th

30、en y = a * b ElseIf p = / Then y = a / b Else End If Text2 = y End Sub,程序如下:,案例欣赏 模拟简单计算器,4.2 选择结构与选择结构语句,多分支结构语句的一般形式:,Select-Case-End Select 结构语句,Select Case 测试表达式 Case 测试项1 A组语句 Case 测试项2 B组语句 Case Else n组语句 End Select,案例5:输入二级考试成绩,要求显 示对应三级制的评定。 Mark=Val(Text1.Text) Select case Mark case is=90 P

31、rint 优 case 90 to 60 Print “通过 Case Else Print “未通过 End select,案例2d 一个多分支的示例程序。(测试数据),Private Sub Command1_Click() Dim x As Integer x = Val(Text1.Text) Select Case x Case Is 1 Text2.Text = 这是小于1的数 Case 1 To 10 Text2.Text = 这是1到10之间的数 Case Else Text2.Text = 这是大于10的数 End Select End Sub,程序清单:,案例7 一个多分支

32、的示例程序。(显示当天的日期),Private Sub Command1_Click() Dim s As Long, w As Long, w1 As Long Dim Y As Integer, m As Integer, d As Integer Dim w2 As String Dim Rq As Date Rq = Date Y = Year(Rq) m = Month(Rq) d = Day(Rq) w1 = Weekday(Rq) Select Case w1 Case 1 w2 = “日 Case 2 w2 = “一,程序清单:,Case 3 w2 = “二 Case 4 w2

33、 = “三 Case 5 w2 = “四 Case 6 w2 = “五 Case 7 w2 = “六 End Select LblDate.Caption = 今天是 Sum End Sub,Step 1,Step -1,步长可以为负数吗!,Private Sub Form_Click() Dim n As Integer, Sum As Integer For n = 100 to 1 Sum = Sum + n Next n Print Sum = ; Sum End Sub,说明: 执行For语句时,系统将做如下操作: 计算循环变量的初值、终值和步长的值; 给循环变量赋初值; 进行判别。

34、,通用过程 (通用 Sub 过程),程序示例:,程序如下:,( 求 1+2+3+10 的和 . ),Private Sub Form_Click() Dim n As Integer, Sum As Integer For n = 1 to 10 Sum = Sum + n Next n Print Sum = ; Sum End Sub,读程序,写结果?,?思考,Print n = ; n,结果: n = 11,Step 2,Step 3,结果: n = 13,通用过程 (通用 Sub 过程),程序示例:,程序如下:,Private Sub Form_Click() Dim n As Sin

35、gle, Sum As Single For n = 1 to 10 Sum = Sum + n Next n Print “n = ; n End Sub,读程序,写结果?,?思考,结果: n = 11.5,Step 1.5,通用过程 (通用 Sub 过程),程序示例:,程序如下:,Private Sub Form_Click() Dim n As Single, Sum As Single For n = 1 to 10 Print n Next n End Sub,读程序,写结果?,?思考,结果: 1 2 3 4 5 6 7 8 9 10,Step 1,Step 1.5,结果: 1 2.

36、5 4 5.5 7 8.5 10,比较:书本105页第15题,Private Sub Command1_Click() Dim i As Integer, t As Long t = 1 For i = 1 To 10 step 1 t = t * i Next i Print t End Sub,案例4-9 求10!(即计算1234 10之积。),动手写一写,For-Next循环结构语句,比较:书本90页实例4-7,输入一个正整数,判断该数是否是素数。,动手抄一抄,For-Next循环结构语句,方法一: 方法二:,S1 =0 S2 =0 For I = 1 To 1000 If I mod

37、20 then S1 = S1 + I Else S2 = S2 + I End If Next I Print S1,S2,案例4-10计算11000的奇数和与偶数和。,For-Next循环结构语句,案例4-11 输入一个正整数,求各位数字之和。,输入正整数k 求它的位数 用For循环 1,位数和步长 取k的末位数,求和 使k去掉末位数 重复以上两步,直到结束 在text2中显示结果,Private Sub Command1_Click() Dim x As String, s As Integer Dim i As Integer x = Text1.Text For i = 1 To L

38、en(x) s = s + Mid(x, i, 1) Next i Text2.Text = CStr(s) End Sub,程 序 清 单,For-Next循环结构语句,范例4-12 求出给定的自然数a的所有因子。,Private Sub Command1_Click() Dim i As Integer, x As Integer x = Val(InputBox(“请输入自然数a的值:”, “案例4-12) For i = 1 To x If x Mod i = 0 Then Print i; Next i Print End Sub,程 序 清 单,循环结构与循环结构语句,案例4-13

39、 字符串中查找大写字母并逆序输出。,Private Sub Command1_Click() Dim s As String, d As String, t As String Dim i As Integer Text1.SetFocus s = Text1.Text For i = 1 To Len(s) If Mid(s, i, 1) = A And Mid(s, i, 1) = Z Then t = t *; j; =; i * j; Next j Print Next i End Sub,案例4-20 设计在窗体界面上显示九九乘法表的程序。,程 序 清 单,循环嵌套,Private

40、Sub Command1_Click() Dim x As Integer, y As Integer Dim z As Integer, s As Integer For x = 0 To 9 For y = 0 To 9 For z = 1 To 9 If x 3 + y 3 + z 3 = z * 100 + y * 10 + x Then Print z * 100 + y * 10 + x End If Next z Next y Next x End Sub,案例4-21 求水仙花数。 水仙花数是指一个3位数,其各个数字的立方和等于数字本身。,分析: 用三种循环 个位x的可能取值为

41、0-9 十位y的可能取值为0-9 百位z的可能取值为1-9, 看三个位置上的数是否满足如下条件, 若满足,即是其中一个解 X3+y3+z3=z100y10 x,程 序 清 单,循环嵌套,案例 搬砖问题:72块砖,共72人搬,每次男的搬4块,女的搬3块,2个小孩抬1块,要求一次全部搬完,问男、女、小孩各多少人?,循环嵌套思考,案例 猴子吃桃子:小猴摘了一些桃子,当天吃了一半多一个,第二天吃了剩下的一半多一个,以后每天如此。第七天小猴一看,就剩下一个桃子了。问小猴总共摘了多少个桃子?,Do-Loop循环结构语句 用 Do-Loop 语句实现循环,用 If语句控制循环,4.3 循环结构与循环结构语句

42、,用 Do While -Loop 语句实现循环;,用 Do-Loop While 语句实现循环;,Do-Loop语句有四种形式,当型Do-Loop语句有两种形式 :,Do While e Exit Do Loop,Do Exit Do Loop While e,Do-Loop循环结构语句,4.3 循环结构与循环结构语句,两种格式的当型Do-Loop对应的流程图如下图所示 :,Do-Loop循环结构语句,4.3 循环结构与循环结构语句,直到型Do-Loop语句有两种形式 :,Do-Loop循环结构语句,4.3 循环结构与循环结构语句,直到型Do-Loop语句的格式有两种,其对应的流程图如下图所

43、示,Do-Loop循环结构语句,4.3 循环结构与循环结构语句,程序示例:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n If n = 100 Then Exit Do Loop Print Sum = ; Sum End Sub,Do Loop,n = n + 1 Sum = Sum + n,Dim n As Integer, Sum As Integer,Print Sum = ; Sum,If n =100 Then Exit Do,程序如下:,说明: 用 Do-L

44、oop 语句实现循环; 用 If语句控制循环; n=100 是循环“终止条件”; Exit Do是退出循环语句。,?思考一,循环“终止条件”只有一个吗? 循环体中语句行之间的顺序可以调整吗?,无 限 循 环 !,程序示例:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n If n = 100 Then Exit Do Loop Print Sum = ; Sum End Sub,程序如下:,循环“终止条件”还可以是“ n=100 ”; 演示,? n100,? n=100,?

45、 N100,? N=100,循环体中语句行之间的顺序可以调整。 演示,程序示例:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n If n = 100 Then Exit Do Loop Print Sum = ; Sum End Sub,程序如下:,? N100,? N=100,Sum = Sum + n n = n + 1,? n100,? n=100,但调整后循环“终止条件”会相应改变。,循环体中语句行之间的顺序可以调整。,通用过程 (通用 Sub 过程),程序示例:

46、,程序如下:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n If n = 100 Then Exit Do Loop Print Sum = ; Sum End Sub,While n = 100,Loop Print Sum = ; Sum End Sub,? N100,? N=100,? n100,? n=100,说明: 用 Do While -Loop 语句实现循环; 语句执行时先判断While后的条件是否成立,若成立则执行循环体,否则终止循环。,While n 1

47、00,通用过程 (通用 Sub 过程),程序示例:,程序如下:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n Loop Print Sum = ; Sum End Sub,While n 100,说明: 用 Do - Loop While 语句实现循环; 语句执行时先执行循环体一次,再判断 While 后的条件是否成立,若成立则继续执行循环体,否则终止循环。,?思考二,循环体中两语句对调整,While后的条件将做如何改变?,通用过程 (通用 Sub 过程),程序示例:,程

48、序如下:,Private Sub Form_Click() Dim n As Integer, Sum As Integer Do n = n + 1 Sum = Sum + n Loop Print Sum = ; Sum End Sub,Until n 100,说明: 用 Do Until - Loop 语句实现循环; 语句执行时先判断 Until 后的条件是否成立,若不成立则执行循环体,否则终止循环。,说明: 用 Do - Loop Until 语句实现循环; 语句执行时先执行循环体一次,再判断 Until 后的条件是否成立,若不成立则继续执行循环体,否则终止循环。,Until n =

49、100,?思考三,Until后的条件需要改变?,While n 100,Private Sub Form_Click() m = Val(Text1) n = Val(Text2) If n 0) r = m Mod n m = n n = r Loop Print Print Val(Text1); 和; Val(Text2); 的最大公约数是; m Print Val(Text1); 和; Val(Text2); 的最小公倍数是 ; mn / m End Sub,案例4-23 设计采用欧几里得算法求解两个自然数的最大公约数和最小公倍数。,程 序 清 单,循环结构与循环结构语句,Private Sub Form_Click() Dim i%, n e E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论