循环结构程序设计.pptx
《循环结构程序设计.pptx》由会员分享,可在线阅读,更多相关《循环结构程序设计.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 计算机具有速度快、精度高的特点,特别适于进行重复性的工作,重复次数越多越能显示它的威力。所以,使用计算机时,应尽量把问应尽量把问题归纳为简单而有规则的重复运算和操作题归纳为简单而有规则的重复运算和操作,以充分发挥计算机的特长。第1页/共52页 程序结构清晰,可读性好,也易于查错和修改程序结构清晰,可读性好,也易于查错和修改 具有单入口,单出口的特点具有单入口,单出口的特点 (a)(b)(c)顺序结构顺序结构 选择结构选择结构 循环结构循环结构AB假假真真L E真真假假AB E结构化程序的基本结构结构化程序的基本结构第2页/共52页引例1+2+3+n和的过程可以描述如下:Sum=Sum+1Su
2、m=Sum+2Sum=Sum+3 重复执行Sum=Sum+i的过程 Sum=Sum+nSum=0For i=1 To n step 1 sum=sum+iNext i第3页/共52页实例4.1求1+2+3+n的和。窗体界面如图所示。第4页/共52页任务一 求正整数N的阶乘如:10!=1*2*3*4*10 第5页/共52页算法分析(1)1*2*3*+n和的过程可以描述如下:fac=fac*1fac=fac*2fac=fac*3 重复执行fac=fac*i的过程 fac=fac*nfac=1For i=1 to n fac=fac*iNext i第6页/共52页实例拓展1、求1n之间的奇数和的代码
3、段为:For i=1 to(n+1)2 Sum=Sum+2*i-1 Next i当然,也可以通过调整步长解决,代码段为:For i=1 to n Step 2 Sum=Sum+i Next i2、求1+1/2+1/3+1/n的代码段为:For i=1 to n Sum=Sum+1/i Next i补充作业:求n!第7页/共52页1、For 语句(一般用于循环次数已知)For 循环变量初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量循环体 0 初值终值 (=1 时,可省略)步长 终值 =0 死循环循环次数第8页/共52页 (1)为循环变量赋初值。(2)判断循
4、环变量值是否超过终值(步长值为正时,指大于终值;步长值为负时,指小于终值)。超过终值时,退出循环,执行Next之后的语句;没有超过,则执行循环体 (3)遇到Next语句时,修改循环变量值(即循环变量=循环变量+步长值),再转到(2)去判断循环条件。For.NextFor.Next语句的执行步骤语句的执行步骤第9页/共52页第10页/共52页 For t=1 To 3 If t=1 Then a=3 If t=2 Then a=2 If t 5000时结束操作。i=1fac=1While fac=5000 fac=fac*i i=i+1Wend第14页/共52页算法分析(1)1*2*3*+n和的
5、过程可以描述如下:fac=fac*1fac=fac*2fac=fac*3 重复执行fac=fac*i的过程 fac=fac*n(2)循环的次数未确定,所以用While循环。循环体为fac=fac*i,循环条件为累乘积fac=5000。i=1fac=1While fac 5000时结束操作。窗体界面如图所示。“计算”命令按钮代码用来计算累乘积;“手动计算”按钮代码是执行一次累乘积操作,主要目的是用于演示1*2*3*n的过程。第18页/共52页“手动计算”If j=0 Then fact=1If fact=5000 Then j=j+1 fact=fact*j txtcyc.Text=j txtf
6、ac.Text=factElse Cmdcalh.Enabled=FalseEnd If第19页/共52页任务三用wile wend结构实现5+10+15+100的操作。i=5S=0While i=0)Do While 或Until 条件 语句块 Exit Do 语句块Loop语句形式2(先执行后判定,执行次数=1)Do 语句块 Exit Do 语句块Loop While 或Until 条件语句说明:While条件:当条件成立时执行循环,条件不成立时结束循环。Until 条件:条件不成立时执行循环,直到条件成立时结束循环。Exit Do:从循环中间退出循环,执行do循环后的语句。第22页/共5
7、2页2.DoLoop循环语句(用于控制循环次数未知)形式1:(先测试后执行;执行次数=0)Do While|Until 语句块 Exit Do 语句块 Loop形式2:(先执行后测试;执行次数=1)Do 语句块 Exit Do 语句块Loop While|Until 第23页/共52页Do WhileDo While语句的执行步骤语句的执行步骤注:循环体由若干条语句构成,在循环体中至少包含一条不断修正逻辑表达式的语句,使得循环过程朝退出的方向发展。第24页/共52页实例4.3 产生m个1099之间的随机整数,求出其中的素数,并求出素数中的最大值、最小值和平均值。窗体设计界面和运行界面如图所示。
8、第25页/共52页算法分析(1)产生随机数:r=Int(Rnd*90)+10(2)判断r 是否素数。素数是只能被1和其本身整除的数。也就是说,要判断r是否为素数,只要依次用整数2,3,4,r-1去除r,只要有一个能整除r,则r不是素数,否则r是素数。(3)素数最大最小值。用变量max和min分别存放最大和最小值。如果随机素数r大于最大值max则r为最大值;如果r小于最小值min则r为最小值。(4)随机素数累加:sum=sum+r (5)重复步骤 m次产生m个随机数。最后求出m个数中的最大最小值和总和 For i=2 To r 1 If r Mod i=0 Then Exit For Next
9、i If r max Then max=rElse If r=r then r是素数End if第26页/共52页代码实现Dor=Int(Rnd*90)+10lblrnd.Caption=lblrnd.Caption+Str$(r)n=n+1 计随机数的个数For i=2 To r-1 判定r是否素数 If r Mod i=0 Then Exit ForNext iIf i r Then If r max Then max=r求最大最小值及总 If r min Then min=r sum=sum+r lblprime.Caption=lblprime.Caption+Str$(r)p=p+1
10、 计随机素数数的个数End IfLoop While n m第27页/共52页格式:格式:Exit For|Do功能:直接从功能:直接从For循环或循环或Do循环中退出循环中退出 当程序运行时遇到当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句循环语句(Next、Loop)的下面继续执行的下面继续执行Exit用于提前退出循环第28页/共52页 运行下面程序后,循环体执行了运行下面程序后,循环体执行了_次。次。i=0:n=1 Do While i 32 i=(i+1)*(i+1)n=n+1 Loop Prin
11、t n A.2 B.3 C.4 D.5 请回答问题想一想思考题C第29页/共52页 n=1:s=0 Do While n=100 s=s+n*n n=n+1 Loop Print s=;s 把 Do-While改成 For-Next想一想思考题 s=0 For n=1 To 100 s=s+n*n Next n Print s=;sDo While n=100 n=n+1Loopn=1:第30页/共52页 ForNext 前测型前测型 S=0 s=0:k=1 For k=1 to 8 Do While k=8 s=s+k s=s+k Next k k=k+1 Print s Loop Prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计
限制150内