循环结构程序设计 .ppt
《循环结构程序设计 .ppt》由会员分享,可在线阅读,更多相关《循环结构程序设计 .ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Visual Basic第五章 循环结构程序设计四种基本结构结构化程序设计方法的四种基本结构:顺序顺序 分支分支 循环循环 过程(函数和子程序)过程(函数和子程序)仅使用四种基本的控制结构来编写程序。仅使用四种基本的控制结构来编写程序。每种控制结构只有一个入口和一个出口。每种控制结构只有一个入口和一个出口。循环结构 在实际工作中,经常遇到一些操作过程并不复杂,但又需要反复进行相同处理的问题,比如,统计本单位所有人员的工资,求全班同学各科的平均成绩等等。解决这些问题从逻辑上说并不复杂,但如果单纯用顺序结构来处理,那将得到一个非常乏味和冗长的程序。循环结构n ForNext 语句。语句。n Whi
2、leWend 语句。语句。n DoLoop 语句。语句。For循环语句语法:语法:For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For循环体 语句块语句块 Next 循环变量循环变量其中:其中:循环变量,必须为数值型变量。初值、终值、步长,均为数值型表达式。省略Step子句则步长为1。For语句、Next语句中的循环变量必须相同。功能:功能:For:循环变量置初值、确定终值和步长。循环变量置初值、确定终值和步长。判断是进入循环还是跳过循环。判断是进入循环还是跳过循环。Next:实现循环变量:实现循环变量“增值增值”。判断是继续循环还是跳出循环。判断
3、是继续循环还是跳出循环。循环终止条件:循环终止条件:循环变量的值沿变化方向沿变化方向“超过超过”终值终值。For循环语句For循环的流程图循环变量赋初值、循环变量赋初值、计算终值、步长。计算终值、步长。执行循环体执行循环体 循环变量超过终值?循环变量超过终值?循环变量增值循环变量增值For语句Next语句是是是是否否否否循环变量超过终值?循环变量超过终值?看几个简单的例子例例1:Dim i As IntegerFor i=1 To 5Print i,Next i注意:注意:在 For 语句中没有 Step 子句,缺省的步长是 1。循环变量 i 的变化方向是从小到大,“超过”终值指的是大于终值。
4、让我们走一走程序让我们走一走程序 看几个简单的例子例例2:Dim i As IntegerFor i=5 To 1 Step -2Print i,Next i注意:步长不是 1,For 语句中不能省略 Step 子句。循环变量 i 的变化方向是从大到小,“超过”终值指的是小于终值。让我们走一走程序让我们走一走程序 看几个简单的例子例例3:Dim i As IntegerFor i=1 To 5 Step -3Print i,Next i循环体一次也不执行循环体一次也不执行!循环次数的计算 在For循环中,循环体的循环次数由初值、终值和步长三个表达式的值确定,计算公式为:循环次数循环次数=Int
5、(终值终值-初值初值)/步长步长)+1 For循环主要用于循环次数已知循环次数已知或可以用一个表达用一个表达式计算式计算出来的题目中。循环变量的用法 循环变量的两个主要作用:用于控制循环的次数;用于控制循环的次数;用作数组元素的下标。用作数组元素的下标。先看一个例子:Dim i As IntegerFor i=1 TO 5Print i,i=i +1Next i让我们走一走 程序 一个原则在For循环的循环体中只引用循环变量的值;只引用循环变量的值;不改变循环变量的值。不改变循环变量的值。求 S=1+2+10题目分析:累加类型的题目,使用累加结构的赋值语句。程序如下:Dim s As Inte
6、ger,i As Integers=0For i=1 To 10s=s+iNext iPrint “S=”;s求 T=1*2*10题目分析:累乘类型的题目,使用累乘结构的赋值语句。程序如下:Dim t As Double,i As Integert=1For i=1 To 10t=t*iNext iPrint “T=”;tExit For 语句语法:语法:Exit For 功能:功能:退出当前循环。Exit For 语句一般与 If 语句一起使用。For i=If 逻辑表达式逻辑表达式 then Exit For Next i例题:例题:将1100间各奇数(1、3、5、7)顺序累加,直到其和大
7、于100时为止。Dim s As Integer,i As Integers=0For i=1 To 100 Step 2s=s+iIf s 100 then Exit ForNext iPrint “S=”;sExit For 语句WhileWend语句语法:语法:While 逻辑表达式逻辑表达式循环体循环体Wend功能:功能:如果逻辑表达式的值为 True,则执行循环体,一直执行到 Wend 语句。然后再回到 While 语句,并再一次检查逻辑表达式的值,如果 还是为 True,则重复执行。如果不为 True,执行Wend语句的下一句。例题:例题:将1100间各奇数(1、3、5、7)顺序累
8、加,直到其和大于100时为止。Dim s As Integer,i As Integers=0i=1While s 100 then Exit Doi=i+2LoopPrint “S=“;sDoLoop语句让我们走一走 程序DoLoop语句的三种主要用法:2、当型、当型Do循环循环Do While 逻辑表达式逻辑表达式循环体循环体Loop注意:注意:当型Do循环是前测试型,循环体有可能一次也不执行。DoLoop语句DoLoop语句例题:例题:将1100间各奇数(1、3、5、7)顺序累加,直到其和大于100时为止。Dim s As Integer,i As Integers=0:i=1Do Wh
9、ile s 100Print “S=“;s让我们走一走程序循环的五种结构n For If 型循环型循环n While Wend 型循环型循环n Do If 型循环型循环n 当型当型 Do 循环循环n 直到型直到型 Do 循环循环For If 型循环For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 If 逻辑表达式逻辑表达式 Then Exit For Next 循环变量循环变量WhileWend 型循环While 逻辑表达式逻辑表达式WendDo If 型循环DoIf 逻辑表达式逻辑表达式 Then Exit DoLoop当型 Do 循环Do While 逻辑表达式逻辑表达
10、式Loop直到型 Do 循环DoLoop Until 逻辑表达式逻辑表达式循环的嵌套 在一个循环体内又包含了一个完整的循环,这样的结构称为多重循环或循环的嵌套。在程序设计时,许多问题要用二重或多重循环才能解决。For循环、循环、While循环、循环、Do循环循环都可以互相嵌套。都可以互相嵌套。多重循环的执行过程是外循环执行一次,内循环执行一遍,在内循环结束后,再进行下一次外循环,如此反复,直到外循环结束。循环嵌套的规则只许嵌套,不许交叉;只许嵌套,不许交叉;只许转出,不许转入。只许转出,不许转入。For ii=1 To 10 For jj=1 To 20 Next ii Next jj For
11、 ii=1 To 10 For ii=1 To 20 Next ii Next ii For ii=1 To 10 For jj=1 To 20 Next jj Next ii For ii=1 To 10 Next ii For ii=1 To 10 Next ii 循环嵌套的规则 一个简单的二重循环Dim i As Integer,j As IntegerFor i=1 To 4 Print,For j=1 To 4 Print i;j,Next j Print Next i 一个简单的二重循环打印九九乘法表打印九九乘法表Private Sub Form_Click()()Dim i As
12、 Integer,j As Integer,str As StringPrint:Print:Print Print Tab(40);九九乘法表九九乘法表“:PrintFor i=1 To 9Print Tab(6);For j=1 To 9 str=i&j&=&i*j Print Tab(j 1)*9+6);str;Next j:PrintNext iEnd Sub有一个问题81次!次!记住:记住:内循环的执行次数内循环的执行次数外循环的循环次数外循环的循环次数内循环的循环次数内循环的循环次数内循环总共执行了多少次?内循环总共执行了多少次?1、Go To 语句语句 形式形式:Go To 标号
13、|行号 作用:无条件地转移到标号或行号指定的语句。标号是一个标识符,行号是一个整数。2、Exit 语句语句 多种形式:Exit For、Exit Do、Exit Sub、Exit Function 等。作用:退出某种控制结构的执行。3、End 语句语句 多种形式:End、End If、End Select、End With、End Type、End Sub、End Function 等。作用:End 结束一个程序的运行;其余表示某个结构的结束,与对应的结构语句配对出现。其他辅助控制语句With语句语法:语法:With 对象名对象名 语句块语句块 End With功能:功能:对某个对象执行一系列
14、的操作,而不用重复对象名称。With Label1.Height=200Label1.Height=200.Width=200Label1.Width=200.FontSize=22Label1.FontSize=22.Caption=MyLabelLabel1.Caption=MyLabelEnd With循环习题课程序设计三剑客 穷举法穷举法 递推法递推法 迭代法迭代法穷举法穷举法的基本思路:穷举法的基本思路:穷举所有可能出现的情况,逐一进行测试,判断其是否满足给定的条件。穷举法实现的关键:穷举法实现的关键:建立正确的穷举,一般用循环来实现。注意:注意:1、有意义的选项,一项不能少一项不能
15、少。2、尽量排除无意义的选项,以减少循环的次数。递推法递推法的基本思路:递推法的基本思路:利用已知的一项或多项数据,推算出新的数据项。然后,再利用这个新的数据项推算出下一个数据项。重复此过程,直到推算出最后结果时为止。递推法实现的关键:递推法实现的关键:确定递推初值;确定递推初值;建立递推公式。建立递推公式。递归法递归的概念:递归的概念:递归定义递归定义 对象利用自己定义自己。递归调用递归调用 过程或函数自己调用自己。递归调用又分为:直接递归调用直接递归调用 过程或函数直接调用自己。间接递归调用间接递归调用 过程或函数通过其它过程或函数调用自己。注意:注意:递归调用一般要用 if 语句来进行控
16、制,使递归过程到某一条件满足时结束。递归法的基本思路:递归法的基本思路:递归法类似于数学证明中的反推法,一般是从结果出发,归纳出后一结果与前一结果的关系,寻找其规律性。递归法实现的关键:递归法实现的关键:建立递归函数;建立递归函数;确定递归终止条件。确定递归终止条件。递归法题型:累加题目:求题目:求 S=1+2+3+10。程序如下:Dim s As Integer,i As Integers=0For i=1 To 10s=s+iNext iPrint “S=”;s题型:累加题目:求题目:求 S=1+2+2+3 +18+19+19+20。程序如下:Dim s As Integer,i As I
17、ntegers=0For i=1 To 19s=s+i+(i+1)Next iPrint “S=”;s题型:累加题目:求题目:求程序如下:Dim s As Double,i As Integer,t AS Integers=0:t=-1For i=1 To 100t=t*-1s=s+t/iNext iPrint “S=”;s题型:累乘题目:求题目:求 T=1*2*3*10。程序如下:Dim t As Double,i As Integert=1For i=1 To 10t=t*iNext iPrint “T=”;t题型:累乘题目:题目:程序如下:Dim t As Double,i As Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环结构程序设计 循环 结构 程序设计
限制150内