循环结构do循环嵌套

循环结构do循环嵌套

ID:40445886

大小:423.60 KB

页数:34页

时间:2019-08-02

上传者:U-145848
循环结构do循环嵌套_第1页
循环结构do循环嵌套_第2页
循环结构do循环嵌套_第3页
循环结构do循环嵌套_第4页
循环结构do循环嵌套_第5页
资源描述:

《循环结构do循环嵌套》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

上节课内容回顾While…Wend语句注意:如果循环次数未知,则最好采用while…wend语句 循环结构程序设计for循环结构While循环结构Do…while循环结构多重循环结构 重点:理解循环的执行过程编写循环结构程序难点:多重循环结构 循环结构循环结构依据某一条件(循环条件)反复执行某段程序(即循环体)。三种循环结构:for、while、do 循环三要素循环三要素:(1)初始化:决定循环的初始状态,即与循环相关的变量的初始值。(2)循环体:循环中反复执行的部分。(3)循环的条件:决定循环结束的条件。 Do循环当型循环当循环条件成立时执行循环,否则退出循环。 Do循环结构DoWhile<条件表达式>循环体Loop条件表达式成立?循环体NoYes条件表达式成立?循环体NoYes先判断后执行先执行后判断特点:条件表达式成立执行循环体Do循环体LoopWhile<条件表达式> 例:求1~100之间所有整数的和,用While…Wend语句实现。sum=0:i=1Whilei<=100sum=sum+ii=i+1Wend i=1:s=0Whilei<=100s=s+ii=i+1wendi=1:s=0DoWhilei<=100s=s+ii=i+1Loopi=1:s=0Dos=s+ii=i+1LoopWhilei<=100 2.直到型循环直到循环条件成立时退出循环,否则执行循环。 DoUntil<条件表达式>循环体Loop特点:条件表达式不成立执行循环体先判断后执行条件表达式成立?循环体NoYes先执行后判断条件表达式成立?循环体NoYesDo循环体LoopUntil<条件表达式> 求1~100之间所有整数的和i=1:s=0DoWhilei<=100s=s+ii=i+1Loopi=1:s=0Dos=s+ii=i+1LoopWhilei<=100i=1:s=0DoUntili>100s=s+ii=i+1Loopi=1:s=0Dos=s+ii=i+1LoopUntili>100 例4.20求某同学的平均分 PrivateSubCommand1_Click()DimSum%,i%,n%,num%,avg#Sum=0:i=1:n=Val(Text1.Text)DoWhilei<=nnum=Val(InputBox("输入第"&i&"位_同学的成绩","成绩输入"))Sum=Sum+numi=i+1Loopavg=Sum/nMsgBox"该生"&n&"门课程的平均分为"&avg,,"求平均成绩"EndSub 例4.25分析程序PrivateSubForm_click()Dims%,i%s=0:i=1DoWhilei<=10s=s+iIfs>=4ThenExitDoEndIfi=i+1LoopPrint"第";i-1;"项“EndSub输出结果:第2项 Goto语句前面介绍的循环结构都是根据某个条件进行循环,称为有条件跳转语句。Goto语句和On-Goto语句,称为无条件跳转语句。格式:Goto语句标号|行号注意:(1)“语句|标号”是一个英文单词或整数,位于一行语句的开头,用于指示语句的位置,以冒号结尾。(2)Goto语句与If语句构成循环结构。 循环的嵌套在一个循环结构的循环体内含有另一个完整的循环结构,称为循环的结构(多重循环)。说明:内外循环之间必须完整包含,不得交叉。内循环变量与外循环变量不能同名。如:fori=1to10forj=1to10……nextjnexti内循环j外循环i 例4.26:打印循环变量的值。PrivateSubForm_click()Dimi%,j%Fori=1To3'外循环变化为1、2、3Print"i=";i;",";'打印外循环变量i的值Print"j=";Forj=1To4'内循环变化为1、2、3、4Printj;'打印内循环变量j的值NextjPrintNextiEndSub 例4.27求100-200之间的素数。质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。 分析:穷举法:把所有的值一一列举出来,然后依次进行筛选。(1)Form=100to200判断m是否为素数,若是则打印Nextj(2)因为所有的偶数都不是素数,故设步长为2,从101开始判断,以提高程序的执行效率。Form=101to200step2判断m是否为素数,若是则打印Nextj 素数的判断:1:只能被1和本身整除。或2:不能被小于它的平方根的所有素数整除就是素数。但是从算法上考虑,为了减少重复量,开平方后面的数就不用相除了。 PrivateSubForm_click()Dimm%,i%,n%Form=101To200Step2'外循环测试奇数Fori=2ToSqr(m)'内循环构造测试条件IfmModi=0Then'能够整除,不是素数ExitFor'结束内循环EndIfNextiIfi>Sqr(m)Then'正常结束内循环,是素数n=n+1'统计素数个数Printm;IfnMod5=0ThenPrint'控制每行输出5个EndIfNextmPrintPrint"素数的个数为";n'输出素数个数EndSub 另一方法:素数与1到素数本身中间的所有整数都相除,看是否有整除的数,如果有,那肯定不是素数了。 另一方法求素数PrivateSubForm_click()Dimm%,i%,n%Form=101To200Step2'外循环测试奇数Fori=2Tom-1'Sqr(m)'内循环构造测试条件IfmModi=0Then'能够整除,不是素数ExitFor'结束内循环EndIfNextiIfi>m-1Then'Sqr(m)Then'正常结束内循环,是素数n=n+1'统计素数个数Printm;IfnMod5=0ThenPrint'控制每行输出5个EndIfNextmPrintPrint"素数的个数为";n'输出素数个数EndSub 例4.28打印以下图形。 PrivateSubform_click()Dimi%,j%Fori=1To5Forj=1To5Print"*";NextjPrintNextiEndSub 例4.29打印图形。 PrivateSubForm_Click()Dimi%,j%ClsFori=1To5PrintSpace(i);Forj=1To10-2*i+1Print"*";NextjPrintNextiEndSub 思考:如何打印以下图形。 PrivateSubForm_Click()Font.Size=20Dimi%,j%ClsFori=1To5PrintSpace(i-1);Forj=1To10-2*i+1Print"*";NextjPrintNextiEndSub 例4.30打印九九乘法表分析:(1)共9行,按行打印Fori=1to9打印第i行换行,准备输出下一行Nexti(2)每列的列号从1到9,行号固定不变。Forj=1to9Printi&“*”&j&“=”&i*j;‘打印第i行Nextj PrivateSubForm_click()Dimi%,j%PrintTab(30);"九九乘法表"PrintFori=1To9Forj=1Toi'内循环每次执行的次数不确定PrintTab(8*(j-1));i&"*"&j&"="&i*j;NextjPrintNextiEndSub 下次课内容数组 作业一:6,7二:2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭