1.2.3循环语句说课稿公开课一等奖课件省赛课获奖课件.pptx

1.2.3循环语句说课稿公开课一等奖课件省赛课获奖课件.pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.2.3循环语句

算法中的循环构造是由循环语句来实现的.循环构造有两种-----当型与直到型.满足条件?循环体是否当型循环构造(当条件满足时重复执行循环体)直到型循环构造(重复执行循环体直到条件满足)循环体是否满足条件? 对应于程序框图中的两种循环构造,普通程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句构造。

(1)WHILE语句的普通格式是WHILE条件循环体WEND当计算机碰到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程重复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.满足条件?循环体是否当型循环结构WHILE——当……时候WEND——朝……方向行走

(2)UNTIL语句的普通格式是:DO循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构DO——做什么LOOPUNTIL——绕环回线走,直达成到某种条件为止思考:参考其直到型循环构造对应的程序框图,说说计算机是按如何的次序执行UNTIL语句的?

提问:通过对照,大家觉得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=100S=S+ii=i+1WENDPRINTSEND

UNTIL语句开始结束i=1S=0i=i+1S=S+i输出Si100?否是直到型i=1S=0DOS=S+ii=i+1LOOPUNTILi100PRINTSEND

开始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+1LOOPUNTILi100PRINTSENDS=1101S=S*ii=i+2是开始结束i=1S=0i=i+1S=S+i输出Si100?否直到型S=1S=S*ii=i+2i101?

例2:根据P7页图1.1-2,将程序框图转化为程序语句. 分析:认真观察,该程序框图中现有条件构造,又有循环构造。INPUT“n=”;ni=2DOr=nMODii=i+1LOOPUNTILi=nORr=0IFr=0THENPRINT“nisnotaprimenumber.”ELSEPRINT“nisaprimenumber.”ENDIFEND程序

是是否f(a)f(m)0?程序框图开始f(x)=x2-2输入误差ε和初值a,ba=m否b=m|a-b|ε或f(m)=0?输出m结束返回

程序框图程序a=1b=2e=0.005DOm=(a+b)/2f=m^2-2g=a^2-2IFg*f0THENa=mELSEb=mENDIFLOOPUNTILABS(a-b)eORf=0PRINTmEND继续

P33页B组题1程序框图程序INPUTa1,b1,c1,a2,b2,c2IFa10THENu=-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结束返回

文档评论(0)

158****4121 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档