循环结构课件.pptx

上传人:莉*** 文档编号:77757389 上传时间:2023-03-16 格式:PPTX 页数:59 大小:785.41KB
返回 下载 相关 举报
循环结构课件.pptx_第1页
第1页 / 共59页
循环结构课件.pptx_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《循环结构课件.pptx》由会员分享,可在线阅读,更多相关《循环结构课件.pptx(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Do Loop之“当”循环形式1:形式2:Do While Do 语句块(循环体)语句块(循环体)Loop Loop While 当条件为真(true)时循环!第1页/共59页Do Loop循环示例1Private sub Form_click()Dim num%num=1Do while num=10Print numNum=num+1LoopEnd subPrivate sub Form_click()Dim num%num=1Do Print numNum=num+1Loop while num=10End sub第2页/共59页S=1+2+3+100Private Sub Form_C

2、lick()Dim i As Integer i为累加数Dim sum As Integer sum为累加和 i=1 sum=0 Do While i=100 sum=sum+i i=i+1 Loop Print sumEnd Sub第3页/共59页S=1+2+3+100Private Sub Form_Click()Dim i As IntegerDim sum As Integer i=1 sum=0 Do sum=sum+i i=i+1 Loop While i=100 Print sumEnd Sub第4页/共59页Do Loop之“直到”循环形式1:形式2:Do Until Do 语

3、句块(循环体)语句块(循环体)Loop Loop Until 直到条件为真(true)时退出循环!第5页/共59页S=1+2+3+nPrivate Sub Command1_Click()Dim i As Integer,n As Integer Dim sum As Integer n=Val(Text1.Text)sum=0 i=0 Do Until i n sum=sum+i i=i+1 Loop Text2.Text=sumEnd Sub第6页/共59页S=1+2+3+nPrivate Sub Command1_Click()Dim i As Integer,n As Integer

4、Dim sum As long n=Val(Text1.Text)sum=0 i=0 Do sum=sum+i i=i+1 Loop Until i n Text2.Text=sumEnd Sub第7页/共59页5.2 For 循环语句For循环语句是计数型循环语句,用于控制循环次数已知的循环结构。语句形式如下:For 循环变量=初值 To 终值 Step 步长 循环体Next 循环变量 第8页/共59页For 循环变量=初值 To 终值 Step 步长 循环体Next 循环变量(1)“循环变量”:必须为数值型,取值范围在初值和终值之间。(2)“初值”、“终值”:都是数值型,可以是数值表达式。

5、(3)“步长”:是数值型,可以是数值表达式。步长不能为0。如果步长是1,则Step 1可以省略不写。(4)“循环体”:在For和Next之间一条或多条语句,他们将被执行指定的次数。(5)Next后面的循环变量与For语句中的循环变量必须相同。第9页/共59页使用For循环计算1+3+5+99的值 Private Sub Command1_Click()Dim i As Integer,n As Integer Dim sum As Integer sum=0 For i=1 to 99 step 2 sum=sum+iNext iPrint sumEnd SubFor 循环变量=初值 To 终

6、值 Step 步长 循环体Next 循环变量 第10页/共59页使用For循环计算1+3+5+99的值 Private Sub Command1_Click()Dim i As Integer,n As Integer Dim sum As Integer sum=0 For i=99 to 1 step-2 sum=sum+iNext iPrint sumEnd SubFor 循环变量=初值 To 终值 Step 步长 循环体Next 循环变量 第11页/共59页For 和Do Loop的比较采用For语句比Do Loop更加简明。一般情况下,能够预先确定循环次数时,应优先采用For语句,否

7、则的话应该使用Do Loop语句第12页/共59页【例 5.13】利用随机数函数模拟抛硬币采用的方法是:每次随机产生一个0或1的整数,相当于一次投币,1代表正面,0代表反面。第13页/共59页在窗体上有三个文本框,名称分别是Text1、Text2、Text3,分别用于显示用户输入抛硬币次数、出现正面的次数和出现反面的次数,如图所示。第14页/共59页Private Sub Command1_Click()Dim n As LongDim n1 As Long,n2 As LongRandomizen=Val(Text1.Text)n1=0n2=0For i=1 To nr=Int(Rnd*2)

8、If r=1 Thenn1=n1+1Elsen2=n2+1End IfNextText2.Text=n1Text3.Text=n2End Sub第15页/共59页 循环的嵌套多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。下面是几种常见的二重嵌套形式:第16页/共59页(1)For I=.For J=.Next J .Next I(2)For I=.Do While/Until.Loop .Next I(3)Do While.For J=.Next J .Loop(4)Do While/

9、Until.Do While/Until.Loop .Loop第17页/共59页循环嵌套Private Sub Form_Click()Dim i As Integer,j As IntegerFor i=1 To 3 Print i=”;i For j=1 To 3 Print Tab;j=;j Next jNext IEnd Sub图5.6 例5.4显示结果第18页/共59页循环嵌套For i=1 To 3 Step 1 Print i=”;i For j=1 To 3 Step 1 Print Tab;j=;j Next jNext ii=1i=3i=i+1Print i=”;iFor

10、j=1 To 3 Print Tab;j=;j Next jNY第19页/共59页循环嵌套i=1i=3i=i+1Print“i=“;ij=j+1j=1j 100 Then Exit DoLoopPrint sumEnd Sub第44页/共59页Exit For语句Exit For语句可以用来结束For.Next循环。一般也和选择结构语句一起配合使用。它必须放置在For.Next语句的循环体中。当执行到Exit For时,程序会立即结束循环,跳到Next后执行下面的语句。当有多个循环嵌套使用时,Exit For语句只跳出所在的最内层的For.Next循环。第45页/共59页【例 5.7】给定一个

11、数n,判断它是否是素数 分析:素数就是一个大于2且只能被1和本身整除的整数。判断一个数是否为素数比较简单的方法是:用n逐个除以2n-1之间的每个整数只要有一个可以整除,则说明n不是素数;如果全部不能整除,则说明n是素数。第46页/共59页Private Sub Form_Click()Dim i As Integer Dim n As Integer n=InputBox(请输入一个整数)For i=2 To n-1 If n Mod i=0 Then Exit For End If Next I If i n Then Print n&不是素数 Else Print n&是素数 End If

12、End Subn比较循环结束后循环变量比较循环结束后循环变量i的值来判断的值来判断是正常结束还是强行跳出,从而确定被是正常结束还是强行跳出,从而确定被验证的数验证的数n是否为素数。是否为素数。第47页/共59页对于循环的嵌套,要注意以下事项:(1)内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,也不能从外循环转向内循环.正 确错 误 For ii=1 To 10 For jj=1 To 20 Next ii Next jj For ii=1 To 10 For ii=1 To 20 Next ii Next ii For ii=1 T

13、o 10 For jj=1 To 20 Next jj Next ii For ii=1 To 10 Next ii For ii=1 To 10 Next ii 第48页/共59页常见题型常见题型数值计算1!+2!+.+n!1-1/3+1/5-1/7+1/9+x-x3/3!+x5/5!-x7/7!+x9/9!-第49页/共59页数值计算数值计算伪代码描述:累加项(term)赋初值,累加和(sum)赋初值while()sum=sum+term;求出下一轮的term;关键问题:找出前项关键问题:找出前项X Xi i和和X Xi+1i+1后项之间的关系后项之间的关系第50页/共59页1 1!+2+

14、2!+3+3!+n!+n!单循环实现 累加项(term)赋初值,累加和(sum)赋初值 while()sum=sum+term;求出下一轮的term;双循环实现第51页/共59页求自然求自然对数数e的近似的近似值,要求其,要求其误差小于差小于 Private Sub Form_Click()Dim i%,n&,t!,e!e=0 存放累加和结果i=0 计数器n=1 存放阶乘的值t=1 级数第i项值 e=e+t i=i+1 n=n*i 连乘,求阶乘 t=1/n 累加项LoopPrint 计算了;i;项的和是;eEnd Sub第52页/共59页nFibonacci数列 1,1,2,3,5,8,13,

15、21,34,55 兔子繁殖问题兔子繁殖问题兔子繁殖问题第53页/共59页求斐波那契数列前十五项求斐波那契数列前十五项Private Sub Form_Click()Dim f1%,f2%,f3%,i%f1=1f2=1print f1;f2For i=3 To 15 f3=f1+f2 print f3 f1=f2 f2=f3NextEnd Sub第54页/共59页求最大公约数求最大公约数【例 5.12】用辗转相除法求两自然数x、y的最大公约数。算法描述如下:x除以y得余数r;若r=0,则y为求得的最大公约数,算法结束,否则执行步骤(3);令x等于y,y等于r,重复执行步骤(1)。第55页/共59

16、页思考:请用Do WhileLoop和DoLoop Until改写辗转相除法求最大公约数 Private Sub Form_Click()x=InputBox(输入x)y=InputBox(输入y)Do r=x Mod y If r=0 Then Exit Do x=y y=rLoopPrint 最大公约数为:;yEnd Sub第56页/共59页作业 2求100100以内的所有素数。求斐波那契数列第多少项大于500500,并打印出该项的值。Do WhileLoopDo WhileLoop和DoLoop UntilDoLoop Until改写辗转相除法求最大公约数(选做)第57页/共59页作业 1鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?-算经张丘建求100100以内的所有素数。打印讲到的各种星号组合。第58页/共59页感谢您的观看!第59页/共59页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁