2023学年完整公开课版循环语句_第1页
2023学年完整公开课版循环语句_第2页
2023学年完整公开课版循环语句_第3页
2023学年完整公开课版循环语句_第4页
2023学年完整公开课版循环语句_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

循环语句算法中的循环结构是由循环语句来实现的.循环结构有两种-----当型与直到型.满足条件?循环体是否当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足)循环体是否满足条件?

对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。(1)UNTIL语句的一般格式是:DO

循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构DO——做什么LOOPUNTIL——绕环回线走,直到达到某种条件为止思考:参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?即WHILE语句和UNTIL语句。(1)UNTIL语句的一般格式是:DO

循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.(2)WHILE语句的一般格式是:WHILE

条件循环体WEND

其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。WHILE——当……

时候WEND——朝……方向行走(2)WHILE语句的一般格式是WHILE

条件循环体WEND

当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.满足条件?循环体是否当型循环结构提问:通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。WHILE语句的一般格式WHILE

条件循环体WENDUNTIL语句的一般格式DO

循环体LOOPUNTIL条件练习1.编写程序,计算自然数1+2+3+…+99+100的和.

分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。UNTIL语句开始结束i=1S=0i=i+1S=S+i输出Si>100?否是直到型i=1S=0DOS=S+ii=i+1LOOPUNTILi>100PRINTSENDWHILE语句开始结束i=1S=0i=i+1S=S+i输出Si≤100?是否当型循环结构i=1S=0WHLIEi<=100S=S+ii=i+1WENDPRINTSEND开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构变式训练(1):编写程序求:n!=1×2×3×4×5×……×n的值.如何修改?输入nWHILE语句i=1S=0WHLIEi<=100S=S+ii=i+1WENDPRINTSENDINPUT“n=”;nS=1S=S*ii≤n?S=1nS=S*i变式训练(2):编写程序求:1×3×5×7×……×101的值.如何修改?UNITL语句i=1S=0DOS=S+ii=i+1LOOPUNTILi>100PRINTSENDS=1101S=S*ii=i+2是开始结束i=1S=0i=i+1S=S+i输出Si>100?否直到型S=1S=S*ii=i+2i>101?变式3:函数y=x^2-3x+5,从x=1开始连续输入19个自然数进行取值,输出相应的函数值,用程序语言进行编程n=1DOy=x^2-3*x+5LOOPUNTILn>20PRINT“x=”;x,“y=”;yENDn=n+1程序直到型当型n=1WHILEn<=20y=x^2-3*x+5WENDPRINT“x=”;x,“y=”;yENDn=n+1程序开始输入ni=2求n除以i的余数ri的值增加1,仍用i表示i>n-1或r=0?r=0?N不是质数N是质数结束是否是否结束否开始求n除以i的余数ri的值增加1,仍用i表示i>n-1或r=0?是r=0?N不是质数N是质数是否输入ni=2练习2:将程序框图转化为程序语句.分析:仔细观察,该程序框图中既有条件结构,又有循环结构。INPUT

“n=”;ni=2DOr=nMODii=i+1LOOPUNTILi>=nORr=0IFr=0THENPRINT“nisnotaprimenumber.”ELSEPRINT“nisaprimenumber.”ENDIFEND程序练习3.转化成程序语言程序框图程序INPUT“a,b,d=”;a,b,dDOm=(a+b)/2f=m^2-2g=a^2-2IFg*f<0THENb=mELSEa=mENDIFLOOPUNTILABS(a-b)<dORf=0PRINTmEND继续是是否f(a)f(m)<0?程序框图开始f(x)=x2-2输入误差d和初值a,bb=m否a=m|a-b|<d或f(m)=0?输出m结束返回练习4,求S=1+1/2+1/3……+1/n,编写程序程序INPUT“n=”;ni=1S=0WHILEi<=nS=S+1/ii=i+1WENDPRINT“S=”;SEND练习5.程序INPUT“n=”;ni=1S=0WHILEi<=nS=S+(i+1)/ii=i+1WENDPRINT“S=”;SEND练习6程序INPUT“a=”;aINPUT“n=”;ntn=0sn=0i=1WHILEi<=ntn=tn+asn=sn+tna=a*10i=i+1WENDPRINTsnEND编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)t=1i=1INPUT"请输入n的值:";nDOt=t*ii=i+1LOOPUNTILi>nPRINT"这个数的阶乘为:";tEND练习8(1)、设计一个算法框图:逐个输出12,22,32,……,n2,并写出相应的QBASIC程序。INPUTni=0WHILEi<ni=i+1t=i^2PRINTtWENDENDINPUTni=0DOi=i+1t=i^2PRINTtLOOPUNTILi>=nEND结束i=0开始i=i+1:t=i^2i>=n?否是PRINTtINPUTn(2)、设计一个算法框图:求满足1+2+3+…+n>10000的最小正整数n,并写出相应的QBASIC程序。结束输出ii=0,Sum=1开始i=i+1Sum=Sum*iSum>10000?否是i=0sum=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论