数学3课堂探究:基本算法语句(第3课时).docxVIP

数学3课堂探究:基本算法语句(第3课时).docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多

学必求其心得,业必贵于专精

学必求其心得,业必贵于专精

学必求其心得,业必贵于专精

课堂探究

两种循环语句的区别

剖析:(1)直到型循环语句是先执行(循环体),后判断(条件),而当型循环是先判断(条件),后执行(循环体).

(2)直到型循环语句是条件不满足时执行循环体,条件满足时结束循环;而当型循环是当条件满足时执行循环体,不满足时结束循环.

(3)直到型循环结构至少执行一次循环体,而当型循环结构可能一次也不执行循环体.

(4)在设计程序时,一般说来,这两种语句用哪一种都可以,但在某种限定条件下,有时用WHILE语句较好,有时用UNTIL语句较好.

(5)从对应的程序框图来加以区分,它们对应的程序框图如图(1)和图(2)所示.

直到型循环结构

DO

循环体

LOOPUNTIL条件

(1)

当型循环结构

WHILE条件

循环体

WEND

(2)

题型一理解循环语句

【例题1】下列程序执行后输出的结果是()

n=5

s=0

WHILEs<14

s=s+n

n=n-1

WEND

PRINTn

END

A.-1B.0C.1D.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】设计一个算法,求1000以内能被3整除的正整数的和,写出算法分析,画出程序框图,并编写程序.

分析:第1个能被3整除的正整数为3,以后每个数比前一个数大3,最后一个数要比1000小,因此要用循环结构来设计算法.

解:算法分析:

第一步,令i=3,S=0.

第二步,若i<1000,则执行第三步;否则,输出S.

第三步,S=S+i,i=i+3,返回第二步.

程序框图如图所示.

程序如下:

i=3

S=0

WHILEi<1000

S=S+i

i=i+3

WEND

PRINTS

END

反思设计含有重复步骤的算法,常利用循环语句来编写程序,其步骤是:①设计算法分析,要注意累加(乘)变量和计数变量的初始值;②画出含有循环结构的程序框图;③用循环语句编写程序.当型循环语句和直到型循环语句一般可以相互转换,如本题也可用直到型循环语句来设计.

题型三易错辨析

【例题3】对任意正整数n,设计一个程序求S=1+eq\f(1,2)+eq\f(1,3)+…+eq\f(1,n)的值.

错解:程序如下:

INPUTn

i=1

S=0

DO

i=i+1

S=S+1/i

LOOPUNTILi>=n

PRINTS

END

错因分析:第一次执行S=S+1/i时,i的初始值经i=i+1后,已经变为2,则S=0+eq\f(1,2),这样所求的S=eq\f(1,2)+eq\f(1,3)+…+eq\f(1,n),而不是S=1+eq\f(1,2)+eq\f(1,3)+…+eq\f(1,n),其原因是先执行i=i+1,后执行S=S+1/i,要把i的初始值变为0才行.

正解:程序如下:

INPUTn

i=0

S=0

DO

i=i+1

S=S+1/i

LOOPUNTILi>=n

PRINTS

END

文档评论(0)

育人读书 + 关注
实名认证
文档贡献者

从事教育工作10年,

1亿VIP精品文档

相关文档