第4章-程序控制结构

上传人:cn****1 文档编号:591468387 上传时间:2024-09-17 格式:PPT 页数:62 大小:555KB
返回 下载 相关 举报
第4章-程序控制结构_第1页
第1页 / 共62页
第4章-程序控制结构_第2页
第2页 / 共62页
第4章-程序控制结构_第3页
第3页 / 共62页
第4章-程序控制结构_第4页
第4页 / 共62页
第4章-程序控制结构_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《第4章-程序控制结构》由会员分享,可在线阅读,更多相关《第4章-程序控制结构(62页珍藏版)》请在金锄头文库上搜索。

1、程序控制结构第4章本章要点选择结构程序设计循环结构程序设计顺序结构程序设计 这三种这三种基本控制结基本控制结构可以组成构可以组成任何形式的任何形式的程序结构程序结构顺序结构顺序结构选择结构选择结构循环结构循环结构循环条件循环条件语句语句1语句语句2.语句语句1语句语句2语句语句3三种基本程序结构示意图分分支支1分分支支2分分支支n选择条件选择条件 顺序结构是在程序执行时,根据程序中语顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的语句序列。句的书写顺序依次执行的语句序列。 在程序中经常使用的顺序结构的语句有:在程序中经常使用的顺序结构的语句有: 赋值语句赋值语句 注释语句注释语句 结

2、束语句结束语句 输入输出语句输入输出语句,等等,等等4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计第第2 2章已介绍章已介绍4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计原始数据:原始数据:725273456. 处理结果:处理结果:处理处理输入输入输出输出 一个完整的一个完整的VBVB应用程序,一般分为数据输入、数应用程序,一般分为数据输入、数据处理、数据输出据处理、数据输出3 3部分。部分。 在在VBVB中,可实现输入操作的有:赋值语句、中,可实现输入操作的有:赋值语句、输入输入对话框(对话框(InputBoxInputBox)、文本框控件等;

3、、文本框控件等; 可实现输出操作的有:可实现输出操作的有:PrintPrint方法、方法、输出消息框输出消息框(MsgBoxMsgBox)、标签控件等。、标签控件等。4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计 InputBoxInputBox函数的格式如下:函数的格式如下: InputBox(InputBox(, ,缺省,缺省 ,x,y) 功能:产生一个对话框,通过对话框用户可以功能:产生一个对话框,通过对话框用户可以输入数据,函数返回值是所输入的内容。输入数据,函数返回值是所输入的内容。 注意:注意:(1 1) 是一个字符串,是必选项,是对话框内是一个字符串,是必

4、选项,是对话框内显示的信息;显示的信息;(2 2) , 是对话框标题;是对话框标题;(3 3) ,缺省,缺省 是为输入区预置的默认值;是为输入区预置的默认值;4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计(4 4) ,x,y是对话框是对话框与屏幕左与屏幕左, ,上边界的距离;上边界的距离;(5 5)对话框返回数据是字符型,若返回数据需要)对话框返回数据是字符型,若返回数据需要参加算术计算,要用参加算术计算,要用ValVal函数将其转换成数值型;函数将其转换成数值型;(6 6)每执行一次)每执行一次InputBoxInputBox函数只能输入一个数据。函数只能输入一个数据

5、。例例1 1:strName = InputBox(strName = InputBox(请输入你的姓名请输入你的姓名 + + vbCrLf + vbCrLf + 然后单击确定然后单击确定, , 输入框输入框) 执行该语句后屏幕出现一个对话窗口执行该语句后屏幕出现一个对话窗口 变量变量strNamestrName获得键盘输入的值。获得键盘输入的值。 4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计例例2 2: strS1 = “strS1 = “请输入你的姓名请输入你的姓名” ” + + Chr(13) + Chr(10) + “ Chr(13) + Chr(10) +

6、“然后单击确定然后单击确定” ” strName1 = InputBox(strS1strName1 = InputBox(strS1,“输入框输入框”,100100,100)100) strName2 = InputBox(strS1strName2 = InputBox(strS1,“输入框输入框”, “ “张三张三” ” ,100100,100)100)4.1.1 数据的输入4.1 4.1 顺序结构程序设计顺序结构程序设计 P74P74【例例4-24-2】 编写程序,求解鸡兔同笼问题。编写程序,求解鸡兔同笼问题。 一个笼中有鸡一个笼中有鸡n n只,兔只,兔m m只,每只鸡有只,每只鸡有2

7、 2只脚,每只兔只脚,每只兔有有4 4只脚,已知鸡和兔的总头数为只脚,已知鸡和兔的总头数为x x,总脚数为,总脚数为y y。求。求笼中鸡和兔各多少只?设笼中鸡和兔各多少只?设x=63x=63,y=148y=148。演示演示程序程序根据题意,可列出如下的联立方程式:根据题意,可列出如下的联立方程式:n+m=x 2n+4m=ym=(y-2x) /2n=(4x-y)/24.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计 VBVB中用于数据输出的操作主要有以下几种:中用于数据输出的操作主要有以下几种:标签、文本框等控件;标签、文本框等控件;PrintPrint方法;方法;输出消息框

8、。(本小节重点介绍)输出消息框。(本小节重点介绍) 在编写程序时,可以使用在编写程序时,可以使用MsgBoxMsgBox函数以对话函数以对话框的形式向用户输出一些必要信息,还可以让用框的形式向用户输出一些必要信息,还可以让用户在对话框内进行相应的选择,然后将该选择结户在对话框内进行相应的选择,然后将该选择结果传输给程序作为程序继续执行的依据。果传输给程序作为程序继续执行的依据。 与与MsgBoxMsgBox函数函数功能相同的,还有功能相同的,还有MsgBoxMsgBox过程过程,它没有返回值,仅仅是用来输出信息。它没有返回值,仅仅是用来输出信息。1.MsgBox1.MsgBox函数函数 = M

9、sgBox( = MsgBox(,,标题,标题) 功能:执行功能:执行MsgBoxMsgBox函数时,屏幕弹出一个对话窗函数时,屏幕弹出一个对话窗口,可通过窗口中的命令按钮控制程序的执行,函数口,可通过窗口中的命令按钮控制程序的执行,函数返回值是整数返回值是整数(P76 (P76 表表4-2)4-2)。 注意:注意:(1 1) 和和 , )与与InputBoxInputBox函数中对应的函数中对应的参数相同;参数相同;(2 2) :是由:是由+组成组成(P76 (P76 表表4-1)4-1)。4.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计2.MsgBox2.MsgBox

10、过程过程 MsgBox MsgBox ,, 功能:执行功能:执行MsgBoxMsgBox过程时,屏幕弹出一个对话过程时,屏幕弹出一个对话窗口,可通过窗口中的命令按钮控制程序的执行。窗口,可通过窗口中的命令按钮控制程序的执行。 3.MsgBox3.MsgBox函数与函数与MsgBoxMsgBox过程的区别过程的区别 MsgBoxMsgBox函数有一返回值(这一整数值与所选择函数有一返回值(这一整数值与所选择的按钮有关),通常作为继续执行程序的依据,根的按钮有关),通常作为继续执行程序的依据,根据该返回值决定其后的操作。据该返回值决定其后的操作。 MsgBoxMsgBox过程没有返回值,常用于较简

11、单的提示过程没有返回值,常用于较简单的提示信息的显示。信息的显示。4.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计 例例1 1:MsgBox MsgBox 确实要删除吗?请选择!确实要删除吗?请选择! 执行该语句后屏幕出现一个对话窗口:执行该语句后屏幕出现一个对话窗口: 例例2 2:MsgBox “MsgBox “确实要删除吗?请选择!确实要删除吗?请选择!”, , 64 + 1, “ 64 + 1, “提示提示” ” 4.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计例例3 3:Msg1 = MsgBox(“Msg1 = MsgBox(“确实要删除吗

12、?请选择!确实要删除吗?请选择!”, , 48, “ 48, “提示提示”) ) 执行该语句后屏幕出现:执行该语句后屏幕出现: 例例4 4:Msg1 = MsgBox(“Msg1 = MsgBox(“确实要删除吗?请选择!确实要删除吗?请选择!”, , 50, “ 50, “提示提示”) ) Msg1 = 1Msg1 = 1Msg1=3Msg1=3或或4 4或或5 54.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计 例例5 5:Msg1 = MsgBox(“Msg1 = MsgBox(“确实要删除吗?请选择!确实要删除吗?请选择!”, , 16+3+256, “ 16+3

13、+256, “提示提示”) ) 执行该语句后屏幕出现:执行该语句后屏幕出现:Msg1=6Msg1=6或或7 7或或2 24.1.2 数据的输出4.1 4.1 顺序结构程序设计顺序结构程序设计4.1.3 顺序结构程序应用示例4.1 4.1 顺序结构程序设计顺序结构程序设计 P78 P78【例例4-54-5】某地区电话号码由某地区电话号码由7 7位升为位升为8 8位,位,规律:原电话号码最高位数字加规律:原电话号码最高位数字加1 1(设原最高位小(设原最高位小于于9 9),并在最高位之前加一个),并在最高位之前加一个“8 8”。例如,原。例如,原电话号码电话号码31245673124567将变为将

14、变为8412456784124567。编写程序输入。编写程序输入一个原电话号码(包括区号),输出新号码。一个原电话号码(包括区号),输出新号码。演示演示程序程序 选择结构也叫分支结构,使程序在运行过程中根选择结构也叫分支结构,使程序在运行过程中根据设定的条件来选择执行相应的语句,从而完成较复据设定的条件来选择执行相应的语句,从而完成较复杂的任务。杂的任务。1.1.单分支结构单分支结构 格式一:格式一: If If Then Then End If End If 格式二:格式二: If If Then Then 功能:先计算功能:先计算 的值,其值为的值,其值为TrueTrue时,执时,执行行

15、/ 中的语句,而后执行中的语句,而后执行IFIF语句的下语句的下一条语句;否则,直接执行一条语句;否则,直接执行IFIF语句的下一条语句。语句的下一条语句。4.2.1 简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计单分支单分支IfIf语句的流程语句的流程条件条件语句序列语句序列TF语句系列语句系列4.2.1 简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计例:例:已知两个数已知两个数x x和和y y,比较,比较它们的大小,使得它们的大小,使得x x大于大于y y。格式一:格式一: ifxy thenifxy thent=xt=x x=yx=y y=ty=tend if

16、end if格式二:格式二: ifxythen t=x : x=y : ifxythen t=x : x=y : y=t y=t 2.2.双分支结构双分支结构 格式一:格式一: If If Then Then 1 Else Else 2 End If End If 格式二:格式二:If If Then Then Else Else 2 功能:计算功能:计算 的值,值为的值,值为TrueTrue时,执行时,执行 1或或 1;否则执行;否则执行 2或或 2;执;执行完任一分支后都将执行行完任一分支后都将执行IFIF语句的下一条语句。语句的下一条语句。4.2.1 简单分支结构4.2 4.2 选择结构

17、程序设计选择结构程序设计双分支双分支IfIf语句的流程语句的流程条件条件语句序列语句序列1 1TF语句序列语句序列2 24.2.1 简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计 1 x01 x0 例:例:分段函数分段函数 y=y= 0 x=00 x=0格式一:格式一: If x0 Then If x0 Then y=1 y=1 Else Else y=0 y=0 End If End If格式二:格式二:If x0 Then y=1 Else y=0If x0 Then y=1 Else y=0 IfIf语语句句中中的的“ThenThen部部分分”和和“ElseElse部部分分

18、”都都还还可以是可以是IfIf语句,形成语句,形成IfIf嵌套结构嵌套结构。例如:。例如: 1 x01 x0 Y= 0 x=0 Y= 0 x=0 -1 x0 -1 x0 Then y=1 Else If x0 Then y=1 Else If x=0 Then y=0 Else y=-1If x=0 Then y=0 Else y=-1 If x=0 Then If x=0 Then If x0 Then y=1 Else y=0If x0 Then y=1 Else y=0 Else y=-1Else y=-1 y=1 y=1 If x=0 Then y=0 Else If x0 Then

19、y=-1 If x=0 Then y=0 Else If x0 Then y=-14.2.1 简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.1 简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计P80P80【例例4-74-7】 使使用用随随机机函函数数生生成成3 3个个200200以以内内的正整数,按从小到大的顺序依次输出。的正整数,按从小到大的顺序依次输出。程序运行程序运行8 8次以后的结果如下:次以后的结果如下: 演示演示程序程序简单分支结构4.2 4.2 选择结构程序设计选择结构程序设计 P80P80【例例4-84-8】 设设计计一一个个窗窗体体用用于于完

20、完成成小小学学一一年年级级加加法法练练习习,如如果果输输入入结结果果正正确确则则显显示示“很很好好,完完全全正正确确!”,反反之之显显示示“做做错错了了,再再来来一一次次吧吧”。 演示演示程序程序4.2.2 多分支选择结构4.24.2 选择结构程序设计选择结构程序设计1. IfThenElseIf1. IfThenElseIf语句语句 格式:格式: If If Then 1 Then 1 ElseIf ElseIf Then 2 Then 2 Else Else n+1 End IfEnd If 当条件分支较多或处理的情况较复杂时,可使用当条件分支较多或处理的情况较复杂时,可使用多分支选择结构

21、来解决问题。多分支选择结构来解决问题。 4.2.2 多分支选择结构4.24.2 选择结构程序设计选择结构程序设计 功能:功能:根据根据 ,i,确定是否执行确定是否执行 i,VBVB测试测试条件的顺序为表达式条件的顺序为表达式1 1、表达式、表达式22,一旦遇到表达式值为,一旦遇到表达式值为TrueTrue(非零),则执行该条件下的语句块。(非零),则执行该条件下的语句块。 说明:说明: (1 1)不管有几个分支,程序执行了一个分支后,其余分)不管有几个分支,程序执行了一个分支后,其余分支不再执行;支不再执行; (2 2)ElseIfElseIf不能写成不能写成Else If Else If ;

22、 (3 3)当多分支中有多个表达式同时满足,则只执行第一)当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块。个与之匹配的语句块。4.2.2 多分支选择结构4.24.2 选择结构程序设计选择结构程序设计 P82P82【例例4-94-9】已知变量已知变量strCstrC中存放了一个字符,判中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。断该字符是字母字符、数字字符还是其他字符。 演示演示程序程序 2 2SelectSelect语句:语句:根据多个表达式值的列表,选择根据多个表达式值的列表,选择多个操作中的一个对应执行。多个操作中的一个对应执行。 格式:格式:Select

23、 Case Select Case Case Case 1 1 Case Case 2 2 Case Case n n Case Else Case Else n+1 End Select End Select4.24.2 选择结构程序设计选择结构程序设计4.2.2 多分支选择结构 功能:功能: 根据根据 的值从上至下依次检查的值从上至下依次检查n n个个 ,果有一个与,果有一个与 的值相的值相匹配,选择匹配,选择n+1n+1个个 1中对应的一个执行,其中对应的一个执行,其余分支不再执行,当所有余分支不再执行,当所有casecase中的中的 中中没有与没有与 的值相匹配时,如果有的值相匹配时,

24、如果有Case Case ElseElse项,则执行项,则执行 n+1,然后执行,然后执行End SelectEnd Select后面的下一条语句;否则,直接执行后面的下一条语句;否则,直接执行End SelectEnd Select后后面的下一条语句。面的下一条语句。4.24.2 选择结构程序设计选择结构程序设计4.2.2 多分支选择结构FFF表达式值列表表达式值列表n表达式值列表表达式值列表2表达式值列表表达式值列表1计算测试表达式的值计算测试表达式的值语句序列语句序列1T语句序列语句序列2T语句序列语句序列nT语句序列语句序列n+1 流程图:流程图:4.24.2 选择结构程序设计选择结构

25、程序设计4.2.2 多分支选择结构4.2 4.2 选择结构程序设计选择结构程序设计 P83P83【例例4-104-10】输入一学生成绩,评定其等级。输入一学生成绩,评定其等级。评定方法是:评定方法是:9090100100分,评为分,评为“优秀优秀” 80 808989分,评为分,评为“良好良好” 70 707979分,评为分,评为“中等中等” 60 606969分,评为分,评为“及格及格” 60 60分以下,评为分以下,评为“不合格不合格”演示演示程序程序4.2.2 多分支选择结构4.2 4.2 选择结构程序设计选择结构程序设计 3 3使用嵌套使用嵌套IfIf实现多实现多分支结构分支结构 在在

26、IFIF语句的语句的ThenThen分支和分支和ElseElse分支中可以完整地嵌套分支中可以完整地嵌套另一另一IFIF语句或语句或Select CaseSelect Case语句,同样语句,同样Select CaseSelect Case语语句每一个句每一个CaseCase分支中都可嵌分支中都可嵌套另一套另一IFIF语句或另一语句或另一Select Select CaseCase语句。例如:语句。例如:4.2.2 多分支选择结构IF Then . IF Then Else . End If . Else . IF Then . Else . End If . End IF 4.2 4.2 选

27、择结构程序设计选择结构程序设计 注意:注意: (1) (1)只要在一个分支内嵌套,只要在一个分支内嵌套,不出现交叉不出现交叉,满足结,满足结构规则,嵌套的形式可以有很多种,嵌套层次也不受构规则,嵌套的形式可以有很多种,嵌套层次也不受限制。限制。 (2) (2)对于多层对于多层IFIF嵌套结构中,一个嵌套结构中,一个ElseElse必须与一个必须与一个IFIF配对,配对的原则是:配对,配对的原则是:一个一个ElseElse与离它最近的与离它最近的IFIF配配对对。 (3) (3)在写含有多层嵌套的程序时,建议使用在写含有多层嵌套的程序时,建议使用缩进对缩进对齐方式齐方式,这样容易阅读和修改。,这

28、样容易阅读和修改。4.2.2 多分支选择结构4.2 4.2 选择结构程序设计选择结构程序设计P85 P85 例例4-114-11 将以上例将以上例4-74-7用嵌套用嵌套IFIF实现。实现。 Private Sub Form_Click() Dim a%, b%, c%, temp% Randomize (Timer) a = (200 * Rnd) b = (200 * Rnd) c = (200 * Rnd) If a b Then temp = a: a = b: b = temp a与与b交换交换 If b c Then temp = b: b = c: c = temp b与与c交换

29、交换,使得使得b b Then 此时的此时的a,b已不是原已不是原a,b值值 temp = a: a = b: b = temp End If End If Print a, b, cEnd Sub4.2.2 多分支选择结构 4.2.3 条件函数4.2 4.2 选择结构程序设计选择结构程序设计 条件函数是双分支选择结构的另一种形式。条件函数是双分支选择结构的另一种形式。 函数格式:函数格式: IIf IIf( 1, 2, 3 ) 功能:功能:先计算先计算 1的值,当的值,当 1的值的值为为 TrueTrue时,函数的返回值为时,函数的返回值为 2的计算结果;的计算结果;当当 1的值为的值为Fa

30、lseFalse时,函数返回值为时,函数返回值为 的计算结果。的计算结果。 使用说明:使用说明:(1 1) 1必须是关系表达式或逻辑表达式。必须是关系表达式或逻辑表达式。(2 2) 2和和 3 可以是任意表达式。可以是任意表达式。 4.2.3 条件函数4.2 4.2 选择结构程序设计选择结构程序设计 P86 P86【例例4-134-13】 进行两个数的大小比较,进行两个数的大小比较,并在标签中显示出比较结果。并在标签中显示出比较结果。演示演示程序程序 1-2x 1-2x x x0 0 例:例:求求分段函数分段函数 y= y= 1+x x0 1+x x= 0, 1 - 2 * x, 1 + x)

31、y = IIf(x = 0, 1 - 2 * x, 1 + x) 4.2.4 选择结构程序应用示例4.2 4.2 选择结构程序设计选择结构程序设计 P86P86【例例4-144-14】 设计一个窗体,计算某国个人设计一个窗体,计算某国个人收入所得税,所得税率如表所示。收入所得税,所得税率如表所示。个人收入(元)个人收入(元)2000020000200002000029999299993000030000599999599999 6000060000税率税率5 5101020204040演示演示程序程序4.2.4 选择结构程序应用示例4.2 4.2 选择结构程序设计选择结构程序设计 P87P87

32、【例例4-154-15】设计一个系统登录窗体,通过文本设计一个系统登录窗体,通过文本框输入用户名和密码,由命令按钮控件的事件代码验证框输入用户名和密码,由命令按钮控件的事件代码验证用户名、密码,如果用户名和密码输入正确,则提示登用户名、密码,如果用户名和密码输入正确,则提示登录成功,若输入错误可再次输入,当连续录成功,若输入错误可再次输入,当连续3 3次输入错误,次输入错误,将退出系统。将退出系统。 演示演示程序程序4.3.1 For循环结构4.3 4.3 循环结构程序设计循环结构程序设计 循环结构用来描述有规律地重复执行的某一程序段,循环结构用来描述有规律地重复执行的某一程序段,它只有一个入

33、口,一个出口。常用的循环结构有它只有一个入口,一个出口。常用的循环结构有2 2种种: 先判断后执行先判断后执行循环条件循环条件语句语句1语句语句2.先执行后判断先执行后判断循环条件循环条件语句语句1语句语句2.循环体:循环中反复执行的部分 循环体循环体:循循环中反复环中反复执行的部执行的部分分 在在VBVB中中, ,循环结构主要通过以下循环结构主要通过以下3 3个语句实现:个语句实现:4.3.1 For循环结构4.3 4.3 循环结构程序设计循环结构程序设计4.3.1 For循环结构4.3 4.3 循环结构程序设计循环结构程序设计 ForFor语句又称语句又称“计数计数”型循环型循环控制语句,

34、适用于循环控制语句,适用于循环次数预先知道的情况,它以指定的次数重复执行一组语句。次数预先知道的情况,它以指定的次数重复执行一组语句。 语句的格式:语句的格式: For For to to Step Step Exit For Exit For Next Next 功能:用循环计数器功能:用循环计数器 来控制来控制 内内的语句的执行次数。的语句的执行次数。4.3 4.3 循环结构程序设计循环结构程序设计4.3.1 For循环结构F F循环变量循环变量 终值终值循环变量初值循环变量初值循环体循环体循环变量循环变量循环变量循环变量+ +步长步长T T 步长步长00 F F循环变量循环变量 终值终值

35、循环变量初值循环变量初值循环体循环体循环变量循环变量循环变量循环变量+ +步长步长T T 步长步长00 ForFor循环执行流程循环执行流程4.3 4.3 循环结构程序设计循环结构程序设计4.3.1 For循环结构注意事项:注意事项: l 是数值型变量(一般为整型)。是数值型变量(一般为整型)。l 、 、 可以是数值表达式,如可以是数值表达式,如果其值不是整型,果其值不是整型,VBVB系统会自动取整。系统会自动取整。lExit ForExit For是出现在是出现在 内的退出语句,它内的退出语句,它一旦在一旦在 内出现,就一定要有分支语句控内出现,就一定要有分支语句控制(如制(如IFIF语句)

36、控制它的执行,当某个条件成立语句)控制它的执行,当某个条件成立时,可提前跳出循环。时,可提前跳出循环。l当退出循环后,循环变量的值保持退出时的值。当退出循环后,循环变量的值保持退出时的值。 P89P89【例例4-164-16】设计一窗体,在窗体上显示如下设计一窗体,在窗体上显示如下图所示图形。图所示图形。 注:程序中用到的函数注:程序中用到的函数String(n,String(n,字符字符) )返回由返回由n n个指定字符组成的字符串。个指定字符组成的字符串。演示演示程序程序4.3 4.3 循环结构程序设计循环结构程序设计4.3.1 For循环结构4.3.2 While循环与Do循环结构 1.

37、 While1. While语句语句 又称又称“当当”型循环型循环控制语句,它是通过控制语句,它是通过“循环条循环条件件”控制重复执行一组语句。控制重复执行一组语句。 格式:格式: While While Wend Wend 功能:当功能:当 为为TrueTrue时,执行时,执行 内的内的语句,遇到语句,遇到WendWend语句后,再次返回。继续测试语句后,再次返回。继续测试 是否为是否为TrueTrue,直到,直到 为为FalseFalse,跳出整个,跳出整个循环,执行循环,执行WendWend语句的下一条语句。语句的下一条语句。当当 第第一次测试即为一次测试即为FalseFalse, 一次

38、也不执行。一次也不执行。4.3 4.3 循环结构程序设计循环结构程序设计WhileWhile语句的流程:语句的流程:T循环体循环体F条件条件(1)先判断后执行)先判断后执行(2)避免出现)避免出现“死循环死循环” 例如:例如: X=1 While X 循环体循环体 是否改变了是否改变了X值值? Wend4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计P92P92【例例4-184-18】 求求1 1!+2+2!+n n!的和。!的和。 演示演示程序程序4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计 DoDo语句又称

39、语句又称“循环条件循环条件”控制语句,与控制语句,与WhileWhile语句语句相同,都是通过相同,都是通过“循环条件循环条件”控制重复执行一组语句。控制重复执行一组语句。格式一:格式一: Do Do Exit Do Exit Do Loop While|Until Loop While|Until 格式二:格式二: Do While|Until Do While|Until Exit Do Exit Do Loop Loop 功能:当功能:当 为为TrueTrue时,或时,或直到直到 变变为为TrueTrue之前,重复之前,重复执行执行 内的内的语句,否则执行语句,否则执行LoopLoop的

40、下一条。的下一条。与与IFIF语句配合,可提前跳出循环语句配合,可提前跳出循环 4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计DoDo循环可分成循环可分成4 4种情况:种情况:(1) Do Loop While (1) Do Loop While 语句的流程语句的流程F循环体循环体T条件条件先执行后判断先执行后判断,条件为条件为False时时脱离循环。脱离循环。4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计(2) Do Loop Until (2) Do Loop Until 语句的流程语句的流程T循环体循环体

41、F条件条件先执行后判断先执行后判断,条件为条件为True时时脱离循环。脱离循环。4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计(3) Do While Loop (3) Do While Loop 语句的流程语句的流程先判断后执行先判断后执行,条件为条件为False时时脱离循环。脱离循环。循环体循环体条件条件FT4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计(4) Do Until Loop(4) Do Until Loop语句的流程语句的流程先判断后执行先判断后执行,条件为条件为True时时脱离循环。脱离循环

42、。F循环体循环体T条件条件4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计“先判断后执行先判断后执行”与与“先执行后判断先执行后判断”有何不有何不同?同?n=10 n=10Print begin: ; n Print begin: ; nDo While n10 Do n=n+1 n=n+1Loop Loop While n10Print End: ; n Print End: ; n输出结果输出结果 输出结输出结果果 Begin:10 Begin:10End:10 End:114.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环

43、结构程序设计 当循环条件一开始就当循环条件一开始就不成立,结果有所区别;不成立,结果有所区别;其它情况下,两种循环的其它情况下,两种循环的结果是一致的。结果是一致的。 P93 P93【例例4-204-20】设计一个窗体,输出设计一个窗体,输出1 1N N之间(之间(N N为某一个整数)为某一个整数)2020个不能被个不能被3 3整除的整整除的整数。数。 4.3.2 While循环与Do循环结构4.3 4.3 循环结构程序设计循环结构程序设计演示演示程序程序4.3.3 其它辅助控制语句 1 1Goto Goto 语句语句 格式格式: Go To : Go To 标号标号| |行号行号 功能:无条

44、件地转移到标号或行号指定的那一行功能:无条件地转移到标号或行号指定的那一行语句。因此常被称作无条件转向语句。语句。因此常被称作无条件转向语句。 使用说明:使用说明: (1 1)标号、行号:标号是一个以冒号结尾的标识)标号、行号:标号是一个以冒号结尾的标识符;行号是一个整形数,不以冒号结尾。标号和行号符;行号是一个整形数,不以冒号结尾。标号和行号标识一个位置,可以使用标识一个位置,可以使用GoToGoTo语句转到这一位置。语句转到这一位置。 (2 2)GotoGoto语句中的标号和行号,在程序中必须存语句中的标号和行号,在程序中必须存在,且是唯一的。在,且是唯一的。 (3 3)GotoGoto语

45、句只能在一个过程内转向。语句只能在一个过程内转向。 4.3 4.3 循环结构程序设计循环结构程序设计4.3.3 其它辅助控制语句 P94 P94【例例4-214-21】用用ifif和和gotogoto实现求实现求1 1!+2+2!+n n!的和。的和。 4.3 4.3 循环结构程序设计循环结构程序设计 注意:注意: Goto Goto 语句会使程序的可读性降低。现在语句会使程序的可读性降低。现在多与选择结构构成循环使用,另外利用多与选择结构构成循环使用,另外利用Goto Goto 语句可方语句可方便地控制程序流程从多重循环最内层直接跳出。从结便地控制程序流程从多重循环最内层直接跳出。从结构化程

46、序设计思想出发,建议尽量少用或不用构化程序设计思想出发,建议尽量少用或不用Goto Goto 语语句。句。 演示演示程序程序4.3.3 其它辅助控制语句 ExitExit语句有以下几种常用形式:语句有以下几种常用形式:(1 1)Exit ForExit For:用于中途跳出用于中途跳出ForFor循环,例如:循环,例如:在在ForFor循环内部添加语句:循环内部添加语句:If If 条件条件 Then Exit ForThen Exit For(2 2)Exit DoExit Do:用于中途跳出用于中途跳出DoDo循环,其用法与循环,其用法与Exit ForExit For类似。类似。(3 3

47、)Exit SubExit Sub:用于中途跳出用于中途跳出SubSub过程。过程。(4 4)Exit FunctionExit Function:中途跳出中途跳出FunctionFunction过程。过程。 后两种用法将在第六章详细介绍。后两种用法将在第六章详细介绍。2 2Exit Exit 语句语句 4.3 4.3 循环结构程序设计循环结构程序设计4.3.3 其它辅助控制语句例如:例如: 4.3 4.3 循环结构程序设计循环结构程序设计Private Sub Form_Click() Dim i%, Num% Do While True 无穷循环无穷循环 For i = 1 To 100

48、循环循环 100 次次 Num = Int(Rnd * 100) 生成一个生成一个099的随机数的随机数 Select Case Num Case 10 Print 10 : Exit For 退出退出 For.Next 循环循环 Case 50 Print 50 : Exit Do 退出退出 Do.Loop 循环循环 End Select Next i LoopEnd Sub 循环的嵌套 一个循环体内包含另一个一个循环体内包含另一个完整的循环结构,称为循环完整的循环结构,称为循环的嵌套结构。的嵌套结构。 在程序设计时,许多问在程序设计时,许多问题用二重或多重循环才能解题用二重或多重循环才能解

49、决。前面介绍的决。前面介绍的ForFor循环,循环,DoDo循环,循环,WhileWhile循环都可以互相循环都可以互相嵌套。嵌套。循环开始循环开始循环结束循环结束4.3 4.3 循环结构程序设计循环结构程序设计循环开始循环开始循环结束循环结束 在循环嵌在循环嵌套中要注意,套中要注意,内层循环应完内层循环应完全在外层循环全在外层循环的里面,不允的里面,不允许出现交叉。许出现交叉。 循环的嵌套4.3 4.3 循环结构程序设计循环结构程序设计4.3.5 循环结构程序应用示例 例例4-234-23 求两个整数的最大公约数、最小公倍求两个整数的最大公约数、最小公倍数。数。 问题分析问题分析:使用:使用

50、转碾相除法转碾相除法,设通过键盘随机,设通过键盘随机输入输入m m,n n的值(的值(mnmn),计算),计算n n和和m m相除的余数,如相除的余数,如果余数为果余数为0 0则结束,此时的被除数就是最大公约数。则结束,此时的被除数就是最大公约数。否则,将除数作为新的被除数,余数作为新的除否则,将除数作为新的被除数,余数作为新的除数,继续计算数,继续计算n n和和m m相除的余数,判断是否为相除的余数,判断是否为0 0,直,直至为至为0 0。演示演示程序程序4.3 4.3 循环结构程序设计循环结构程序设计4.3.5 循环结构程序应用示例 例例4-244-24 判断一个给定的整数是否为素数。判断一个给定的整数是否为素数。 问题分析问题分析:素数指除了能被:素数指除了能被1 1和自身外,不能被其和自身外,不能被其他整数整除的自然数。他整数整除的自然数。 判断整数判断整数N N是不是素数的基本方法是:将是不是素数的基本方法是:将N N分别除分别除以以2 2,3 3,Sqr(N)Sqr(N),若都不能被整除,若都不能被整除,N N就是素数。就是素数。演示演示程序程序4.3 4.3 循环结构程序设计循环结构程序设计 P99 2. 3.P99 2. 3. 4. (1)(3)(5) 4. (1)(3)(5)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号