清华大学VB经典教案第五节——循环结构程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《清华大学VB经典教案第五节——循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《清华大学VB经典教案第五节——循环结构程序设计.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 循环结构程序设计循环结构程序设计 循环结构是指满足循环条件循环结构是指满足循环条件时,反复执行某一段程序的结构。时,反复执行某一段程序的结构。反复执行的这段程序称为循环体,反复执行的这段程序称为循环体,利用循环结构设计程序,只需编利用循环结构设计程序,只需编写少量的程序使其重复执行,就写少量的程序使其重复执行,就能完成大量类似的计算要求,简能完成大量类似的计算要求,简化了程序,节约了内存,提高了化了程序,节约了内存,提高了效率。效率。设计循环结构程序时,需要设计循环结构程序时,需要考虑两个要素:考虑两个要素:1循环条件;循环条件;2循环体。循环体。在在Visual Basic中,有
2、两种类中,有两种类型的循环语句:型的循环语句:1计数型循环计数型循环语句语句ForNext循环;循环;2条件条件型循环语句型循环语句WhileWend循环、循环、DoLoop循环。循环。5.1 ForNext循环循环 ForNext循环以指定的次数重复执行循环体,一般用循环以指定的次数重复执行循环体,一般用于事先能计算出循环次数的情况。其语法格式如下:于事先能计算出循环次数的情况。其语法格式如下:For=To Step Exit ForNext ForNext循循环执环执行的步行的步骤骤:首先:首先将初将初值赋给值赋给循循环变环变量,然后开始循量,然后开始循环环,每循每循环环一次,循一次,循环
3、变环变量的量的值值自自动动加一个加一个步步长长,然后判断循,然后判断循环变环变量的量的值值是否是否“超超越越终值终值,如果,如果“超越,那么超越,那么结结束循束循环环,否那么,否那么进进行下一次循行下一次循环环,用如,用如图图5-1所示的流程所示的流程图图表示。表示。说说明:明:1循循环变环变量、初量、初值值、终值终值、步、步长长都是数都是数值类值类型;型;2步步长长可正可可正可负负,但不能,但不能为为0,否那么,循,否那么,循环环将将变变成死循成死循环环或无限循或无限循环环;步;步长为长为1时时,Step 可以省略;可以省略;3当初当初值值小于小于终值时终值时,步,步长为长为正;当初正;当初
4、值值大于大于终值时终值时,步,步长长为负为负;通通过过初初值值、终值终值、步、步长长可以可以计计算循算循环环体的循体的循环环次数,次数,计计算公算公式如下:式如下:循循环环次数次数=Int(终值终值-初初值值)/步步长长)+1 注意:如果循注意:如果循环环次数次数0,即当初,即当初值值小于小于终值时终值时,步,步长为负长为负,或者当初或者当初值值大于大于终值时终值时,步,步长为长为正,那么循正,那么循环环体一次都不体一次都不执执行。行。4Exit For可以退出其所在可以退出其所在层层的的ForNext循循环环,这这一点在一点在多重循多重循环环中尤中尤为为重要。重要。【例【例5-1】求】求s=
5、1+2+3+1000的和不能使用等差数列求和公的和不能使用等差数列求和公式计算。式计算。【例【例5-2】输入一个正整数输入一个正整数n,计,计算并输出算并输出n!,如图,如图5-3所示。所示。【例【例5-3】“水仙花数是指一个三位水仙花数是指一个三位的正整数,其各位数字的立方和等于该的正整数,其各位数字的立方和等于该数,如:数,如:153=13+53+33,153是水仙是水仙花数。花数。编写程序,在文本框中显示所有编写程序,在文本框中显示所有的的“水仙花数将文本框的水仙花数将文本框的MultiLine属性值设为属性值设为True,如图,如图5-4所示。所示。分析:假分析:假设设某个三位的正整数
6、某个三位的正整数为为n,要判断,要判断n是否是是否是“水仙花数,关水仙花数,关键键是要求出是要求出n的百位数字的百位数字a、十位数字、十位数字b和和个位数字个位数字c,即,即 百位数字百位数字a=n 100 十位数字十位数字b=n 10 Mod 10 个位数字个位数字c=n Mod 10 5.2 WhileWend循循环环 WhileWend循循环环用于循用于循环环次数未知的循次数未知的循环环,其,其语语法格式法格式如下:如下:While Wend 当条件表达式的值为当条件表达式的值为True时执行循环体,为时执行循环体,为False时结束时结束循环,用如图循环,用如图5-5所示的流程图表示。
7、所示的流程图表示。注意:在注意:在WhileWend循环循环的循环体中,必须有明确的语句的循环体中,必须有明确的语句改变循环条件表达式的值,才能改变循环条件表达式的值,才能结束循环,否那么,将会成为死结束循环,否那么,将会成为死循环。循环。【例【例5-4】“同构数是指这样的整数:它恰好出现在其平方同构数是指这样的整数:它恰好出现在其平方数的右端,如:数的右端,如:1和和5恰好出现在其平方数恰好出现在其平方数1和和25的右端,的右端,1和和5是同构数。是同构数。编写程序,在文本框中显示编写程序,在文本框中显示19999之间的全部同构数之间的全部同构数将文本框的将文本框的MultiLine属性值设
8、为属性值设为True,ScrollBars属性值设为属性值设为2-Vertical,如图,如图5-6所示。所示。分析:设分析:设n为为19999之间的同构数,那么之间的同构数,那么n有有1位、位、2位、位、3位、位、4位四种情况位四种情况当当n为为1位的同构数时,需要从位的同构数时,需要从n2中取其右边的中取其右边的1位整数:位整数:n2 mod 10;当当n为为2位的同构数时:位的同构数时:n2 mod 100;当当n为为3位的同构数时:位的同构数时:n2 mod 1000;当当n为为4位的同构数时:位的同构数时:n2 mod 10000。【例【例5-5】计算计算s=12*22*32*n2中
9、,中,s的值不大于的值不大于100000时最大的时最大的n值,并将每一次循环的值,并将每一次循环的n值和值和s的的值显示出来,如图值显示出来,如图5-7所示。所示。5.3 DoLoop循环循环 DoLoop循环也是用于循环次数未知的循环,有两种形式:循环也是用于循环次数未知的循环,有两种形式:前测型前测型DoLoop循环和后测型循环和后测型DoLoop循环。循环。DoLoop循环引导条件表达式的关键字有两个:循环引导条件表达式的关键字有两个:While和和Until。当用。当用While引导条件表达式时,条件表达式的值为引导条件表达式时,条件表达式的值为True循循环,为环,为False结束循
10、环;当用结束循环;当用Until引导条件表达式时,条件表达引导条件表达式时,条件表达式的值为式的值为False循环,为循环,为True结束循环。结束循环。Exit Do语句退出其所在层的语句退出其所在层的DoLoop循环。循环。注意:在注意:在DoLoop循环的循环体中,也必须有明确的语句循环的循环体中,也必须有明确的语句改变循环条件表达式的值,才能结束循环,否那么,将会成为死改变循环条件表达式的值,才能结束循环,否那么,将会成为死循环。循环。5.3.1 前测型前测型DoLoop循环循环 前测型前测型DoLoop循环是条件表达式在前,先判断条件再循环是条件表达式在前,先判断条件再循环,因此,循
11、环体可能一次都不执行,循环,因此,循环体可能一次都不执行,While引导的前测型引导的前测型DoLoop循环用如图循环用如图5-8所示的流程图表示,所示的流程图表示,Until引导的前引导的前测型测型DoLoop循环用如图循环用如图5-9所示的流程图表示。其语法格式所示的流程图表示。其语法格式如下:如下:Do While|Until Exit DoLoop 【例【例5-6】用辗转相除法求两个正整数的最大公约数和最小】用辗转相除法求两个正整数的最大公约数和最小公倍数并输出,如图公倍数并输出,如图5-10所示。所示。分析:设两个正整数分别为分析:设两个正整数分别为m、n,用辗转相除法求它们的,用辗
12、转相除法求它们的最大公约数的方法如下最大公约数的方法如下1求求m除以除以n的余数赋给的余数赋给r;2当当r0时,将时,将n的值赋给的值赋给m,r的值赋给的值赋给n,再求,再求m除以除以n的余数赋给的余数赋给r,直到,直到r=0;3当当r=0时,时,n的值就是的值就是m、n的最大公约数。的最大公约数。m、n的最小公倍数的最小公倍数=m*n/(m、n的最大公约数的最大公约数)。【例【例5-7】编写程序,将十进制正整数】编写程序,将十进制正整数n转换成等值的转换成等值的rr=2,8,16进制数,进制数,如图如图5-11所示。所示。分析:将一个十进制正整数分析:将一个十进制正整数n转换转换成成r进制数
13、的方法是:用进制数的方法是:用r去除去除n取余数,取余数,商赋给商赋给n,再用,再用r不断地去除不断地去除n取余数,取余数,直到商为直到商为0,将余数反序,即最后一次,将余数反序,即最后一次得到的余数为最高位。得到的余数为最高位。5.3.2 后测型后测型DoLoop循环循环 后测型后测型DoLoop循环是条件表达式在后,先循环再判断循环是条件表达式在后,先循环再判断条件,因此,至少执行一次循环体,条件,因此,至少执行一次循环体,While引导的后测型引导的后测型 DoLoop循环用如图循环用如图5-12所示的流程图表示,所示的流程图表示,Until引导的后引导的后测型测型DoLoop循环用如图
14、循环用如图5-13所示的流程图表示。其语法格所示的流程图表示。其语法格式如下:式如下:DoExit DoLoop While|Until 【例【例5-8】输入一个正整数】输入一个正整数nn3,判断,判断n是否是素数,如是否是素数,如图图5-14所示。所示。分析:素数是只能被分析:素数是只能被1和它本身整除的数。判断一个正整数和它本身整除的数。判断一个正整数nn3是否是素数的方法有如下三种:是否是素数的方法有如下三种:1用用2n-1之间的所有整数去除之间的所有整数去除n,如果都不能整除,如果都不能整除n,那么,那么n是素数,否那么,是素数,否那么,n不是素数;不是素数;2用用2 之间的所有整数去
15、除之间的所有整数去除n,如果都不能整除,如果都不能整除n,那么那么n是素数,否那么,是素数,否那么,n不是素数;不是素数;3假设假设n是素数,引入标志变量或开关变量这种变量是素数,引入标志变量或开关变量这种变量只有两种状态或两个值,用只有两种状态或两个值,用2 之间的所有整数去除之间的所有整数去除n,只要有一个整数能够整除只要有一个整数能够整除n,那么,那么n一定不是素数,改变标志一定不是素数,改变标志变量的值,后面的整数不再需要判断是否能够整除变量的值,后面的整数不再需要判断是否能够整除n,最后,查看标志变量的值,如果被改变,那么最后,查看标志变量的值,如果被改变,那么n不是素数,否不是素数
16、,否那么,那么,n是素数。是素数。5.4 循环的嵌套循环的嵌套 循环的嵌套指的是一个循环的循环体中又包含了另一个循循环的嵌套指的是一个循环的循环体中又包含了另一个循环,根据嵌套层数不同,可分为二重循环、三重循环等。环,根据嵌套层数不同,可分为二重循环、三重循环等。注意:注意:1内层循环和外层循环不能交叉,必须完整包含;内层循环和外层循环不能交叉,必须完整包含;2内层循环和外层循环的循环变量不能同名;内层循环和外层循环的循环变量不能同名;3退出循环的语句退出循环的语句Exit For或或Exit Do只能退出其所在层只能退出其所在层的循环。的循环。循环的嵌套的执行过程是:外层循环每循环一次,内层
17、循循环的嵌套的执行过程是:外层循环每循环一次,内层循环就要循环所有次,即外层循环每循环一次,内层循环就要从环就要循环所有次,即外层循环每循环一次,内层循环就要从头开始执行一轮。头开始执行一轮。【例【例5-9】编写程序,在窗体上输出九九乘法表,如图编写程序,在窗体上输出九九乘法表,如图5-15所示。所示。【例【例5-10】求】求10005000之间之间的所有素数,并在文本框中显示的所有素数,并在文本框中显示将文本框的将文本框的MultiLine属性值属性值设为设为True,ScrollBars属性值属性值设为设为2-Vertical,如图,如图5-16所所示。示。5.5 列表框与组合框控件列表框
18、与组合框控件 列表框与组合框中的每一行称为一个项列表框与组合框中的每一行称为一个项Item。用户。用户可以从列表框中选择一个或多个项,但只能选择项,不能输可以从列表框中选择一个或多个项,但只能选择项,不能输入项;组合框是由文本框和列表框组合而成,因此,组合框入项;组合框是由文本框和列表框组合而成,因此,组合框具有文本框和列表框的功能,既可以输入项也可以选择项,具有文本框和列表框的功能,既可以输入项也可以选择项,但任意时刻最多只能选择一个项,选中的项将显示在组合框但任意时刻最多只能选择一个项,选中的项将显示在组合框中。中。5.5.1 列表框列表框1列表框的常用属性列表框的常用属性1List属性属
19、性 存放列表框中的所有项,是一个一维字符串数组,数组存放列表框中的所有项,是一个一维字符串数组,数组名为名为List,下标为项的索引值,从上到下,第一个项的索引值,下标为项的索引值,从上到下,第一个项的索引值为为0,第二个项的索引值为,第二个项的索引值为1,以此类推。,以此类推。2ListCount属性属性 返回列表框中项的个数。返回列表框中项的个数。3ListIndex属性属性 返回当前选中项的索引值。假设有多个项被选中,那么返回当前选中项的索引值。假设有多个项被选中,那么返回最后一个选中项的索引值;也可以给该属性赋一个整数值返回最后一个选中项的索引值;也可以给该属性赋一个整数值来选中对应索
20、引值的项;如果没有选中任何项,来选中对应索引值的项;如果没有选中任何项,ListIndex属属性值为性值为-1。4Selected属性属性 判断列表框中的某个项是否被选中,选中为判断列表框中的某个项是否被选中,选中为True,否那,否那么为么为False。该属性是一个一维布尔或逻辑型数组,数组名为。该属性是一个一维布尔或逻辑型数组,数组名为Selected,下标为项的索引值。,下标为项的索引值。5Text属性属性 返回当前选中的项,假设有多个项被选中,仅为最后一个返回当前选中的项,假设有多个项被选中,仅为最后一个选中的项。选中的项。6MultiSelect 属性属性 在列表框中能不能选择多个项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华大学 VB 经典 教案 五节 循环 结构 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内