2017年高中数学 第一章 算法初步 1.2 基本算法语句(第3课时)课堂探究 新人教A版必修3.docVIP

2017年高中数学 第一章 算法初步 1.2 基本算法语句(第3课时)课堂探究 新人教A版必修3.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017年高中数学 第一章 算法初步 1.2 基本算法语句(第3课时)课堂探究 新人教A版必修3

高中数学 第一章 算法初步 1.2 基本算法语句(第3课时)课堂探究 新人教A版必修3 两种循环语句的区别 剖析:(1)直到型循环语句是先执行(循环体),后判断(条件),而当型循环是先判断(条件),后执行(循环体). (2)直到型循环语句是条件不满足时执行循环体,条件满足时结束循环;而当型循环是当条件满足时执行循环体,不满足时结束循环. (3)直到型循环结构至少执行一次循环体,而当型循环结构可能一次也不执行循环体. (4)在设计程序时,一般说来,这两种语句用哪一种都可以,但在某种限定条件下,有时用WHILE语句较好,有时用UNTIL语句较好. (5)从对应的程序框图来加以区分,它们对应的程序框图如图(1)和图(2)所示.DO 循环体LOOP UNTIL 条件 (1) 当型循环结构 WHILE 条件  循环体WEND (2) 题型一 理解循环语句 【例题1】下列程序执行后输出的结果是(  ) n=5 s=0 WHILE s<14  s=s+n  n=n-1 WEND PRINT n END A.-1 B.0 C.1 D.2 解析:该程序的运行过程是:n=5;s=0;s=0<14成立;s=0+5=5;n=5-1=4;s=5<14成立;s=5+4=9;n=4-1=3;s=9<14成立;s=9+3=12;n=3-1=2;s=12<14成立;s=12+2=14;n=2-1=1;s=14<14不成立,输出n=1. 答案:C 判断含有循环语句的程序的输出结果时,按所给的程序依次执行各语句,要注意循环语句的终止条件,WHILE语句终止循环时是条件不成立,而UNTIL语句终止循环时是条件成立.题型二 编写程序【例题2】设计一个算法,求1 000以内能被3整除的正整数的和,写出算法分析,画出程序框图,并编写程序. 分析:第1个能被3整除的正整数为3,以后每个数比前一个数大3,最后一个数要比1 000小,因此要用循环结构来设计算法. 解:算法分析: 第一步,令i=3,S=0. 第二步,若i<1 000,则执行第三步;否则,输出S. 第三步,S=S+i,i=i+3,返回第二步. 程序框图如图所示. 程序如下: i=3 S=0 WHILE i<1 000  S=S+i  i=i+3 WEND PRINT S END 反思 设计含有重复步骤的算法,常利用循环语句来编写程序,其步骤是:①设计算法分析,要注意累加(乘)变量和计数变量的初始值;②画出含有循环结构的程序框图;③用循环语句编写程序.当型循环语句和直到型循环语句一般可以相互转换,如本题也可用直到型循环语句来设计.题型三 易错辨析【例题3】对任意正整数n,设计一个程序求S=1+++…+的值. 错解:程序如下: INPUT n i=1 S=0 DO  i=i+1  S=S+1/i LOOP UNTIL i>=n PRINT S END 错因分析:第一次执行S=S+1/i时,i的初始值经i=i+1后,已经变为2,则S=0+,这样所求的S=++…+,而不是S=1+++…+,其原因是先执行i=i+1,后执行S=S+1/i,要把i的初始值变为0才行. 正解:程序如下: INPUT n i=0 S=0 DO  i=i+1  S=S+1/i LOOP UNTIL i>=n PRINT S END 4

您可能关注的文档

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档