资源描述:
《高中数学必修三1.2.3循环语句.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.2.3基本算法语句——循环语句算法中的循环结构是由循环语句来实现的.循环结构有两种-----当型与直到型.满足条件?循环体是否当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足)循环体是否满足条件?对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。(1)WHILE语句的一般格式是WHILE条件循环体WEND当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上
2、述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.满足条件?循环体是否当型循环结构WHILE——当……时候WEND——朝……方向行走(2)UNTIL语句的一般格式是:DO循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构DO——做什么LOOPUNTIL——绕环回线走,直到达到某种条件为止思考:参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?提问:通过对照,大家
3、觉得WHILE型语句与UNTIL型语句之间有什么区别呢?区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。WHILE语句的一般格式WHILE条件循环体WENDUNTIL语句的一般格式DO循环体LOOPUNTIL条件例1.编写程序,计算自然数1+2+3+…+99+100的和.分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。WHILE语句开始结束i=1S=0i=i+1S=S+i输出Si≤100?是否当型循环结构i=1S=0WHLIEi<=1
4、00S=S+ii=i+1WENDPRINTSENDUNTIL语句开始结束i=1S=0i=i+1S=S+i输出Si>100?否是直到型i=1S=0DOS=S+ii=i+1LOOPUNTILi>100PRINTSEND开始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
5、=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?例2:根据P7页图1.1-2,将程序框图转化为程序语句.分析:仔细观察,该程序框图中既有条件结构,又有循环结构。INPUT“n=”;ni=2DOr=nMODii=i+1LOOPUNTILi>=nORr=0IF
6、r=0THENPRINT“nisnotaprimenumber.”ELSEPRINT“nisaprimenumber.”ENDIFEND程序是是否f(a)f(m)>0?程序框图开始f(x)=x2-2输入误差ε和初值a,ba=m否b=m
7、a-b
8、<ε或f(m)=0?输出m结束返回程序框图程序a=1b=2e=0.005DOm=(a+b)/2f=m^2-2g=a^2-2IFg*f>0THENa=mELSEb=mENDIFLOOPUNTILABS(a-b)9、UTa1,b1,c1,a2,b2,c2IFa1<>0THENu=-a2/a1b=b2+b1*uc=c2+c1*uy=c/bx=(c2-b2*y)/a2ELSEy=c1/b1x=(c2-b2*y)/a2ENDIFPRINTx,yEND继续开始程序框图输入a1,b1,c1,a2,b2,c2a1≠0?是u=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2否y=c1/b1输出x,y结束返回