算法(人教版)老师版2.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 9 第7课时 基本算法语句(循环语句) 【教法建议】 循环语句的教学也应通过实例,结合循环结构的程序框图进行。 教材中介绍了DO语句和WHILE语句两种循环语句,前者是在循环次数已知时使用 的循环,后者是前测试的当型循环.教学过程中要通过程序框图将两者区别讲清。具体处理时,要通过实例的对比加以说明。 【问题情境】   用算法求3+6+9+……+99时,可以按逐个相加的方式进行,但这样的算法程序太长,操作不方便。按怎样的算法结构可以简单算法过程呢?如何表示这种算法程序? 解 借助循环语句。   I=3   SUM=0   WHILE I100    SUM=SUM+I    I=I+3   WEND   PRINT SUM   END 【范例解读】 例1.将5名学生的一门功课的成绩依次输入并计算输出平均成绩。 解 i=1   SUM=0   DO    INPUT “请输入成绩:”;ai    SUM=SUM+ai i=i+1 LOOP UNTIL i5 A=SUM/5 PRINT A END  例2.1990年我国人口为11亿。如果每年的人口增长率为1.5%,多少年后人口达到或超过15亿?  设计一个算法解决上面的问题。画出程序框图,写出算法程序。 解 根据题意,n年后人口为11(1+1.5%)n,现在就是找使11(1+1.5%)n>15的最小正整数n的值。为此可考虑用循环语句,从n=1开始检验。 此算法的程序框图是 n n←1 11(1+1.5%)n15 输出n Y n←n+1 N 此算法程序为 M=11 N=1 WHILE M15 M=M?(1+0.015)^n n=n+1 WEND PRINT n END 【归纳点拔】 1.对含有循环结构的算法,在表示这个算法程序时用循环语句; 2.本书介绍了两种类型的循环语句:DO语句和WHILE语句,这两种循环语句分别对应于直到型循环结构和当型循环结构的算法结构,即DO语句在执行过程中先操作,后判断,WHILE语句在执行过程中先判断后操作 3.循环语句也可以嵌套,嵌套的形式类似于条件语句。如UNTIL语句的嵌套可表示为 I=1 DO    A J=1    DO     B J=J+1    LOOP UNTIL Jm I=I+1  LOOP UNTIL In  END 其中A和B是两个循环操作的步骤。 【测试反馈】 1.下列程序运行次数是A、B、C、D中的哪一种?……………………………… (D)  I=7 DO    PRINT I I=I+5  LOOP UNTIL I90  END  A 14        B 15        C 16        D 17 提示:I从7开始,每操作一次后加5,接着再操作一次,直至I90为止,而7+5×1790,故操作了17次。 2.下面的程序运行后输出的结果是 ……………………………………………… (C)  I=1  WHILE I8 I=I+2 S=2*I+3 WEND PRINT S END A 17        B 19        C 21       D 23 提示:对S来说,只有最后一次操作是有效的,而根据程序,I最后一次操作时的先取7,加2后取9,故S=2×9+3=21,应选C。 3.要使以下UNTIL循环执行20次,循环变量的初值应当是 (初始值是14)  K= DO K=K-1 LOOP UNTIL K-5 END 提示:根据程序知,每循环操作一次,K值减小1,而最后一次操作时K的值为-5,注意到先操作后判断的特点,要循环操作20次,初始的K值应为14。 4.下列程序的功能为输出如下的图形,请将程序补充完整 ******** ******** ******** ******** I=1 DO    PRINT TAB(10+I) J=1    DO     PRINT “*”; J=J+1    LOOP UNTIL J        (8) I=I+1  LOOP UNTIL I4  END (说明:其中的“TAB(n)”的功能是行前空n个字符) 提示:每行打印8个*,故应填8。 5.已知函数f(x)= eq \f(x,1+x) ,实数a1=f(1),a2=f(a1),an+1=f(an)。试写出用循环语句表示的求a8的算法,画出程序

文档评论(0)

586334000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档