第四章 程序设础(二).docVIP

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

第四章 程序设计基础(二) 教学目标与要求: 了解if语句的嵌套使用 熟练掌握多分支语句编程 熟练掌握使用条件循环语句编程 熟练掌握步长循环和扫描循环的使用 教学重点与难点: 应用条件循环语句编程。 条件循环语句的使用 教学内容:   (提问)使用if语句的嵌套使用什么书写格式? 答:缩进制。 2.多分支语句 (提问)多分支语句的开始和结束的保留字? 答:DO CASE……ENDCASE。     DO WHILE 条件表达式 ??? 语句组1 ???? [LOOP] ??? 语句组2???????(循环体)????????????????? ???? [EXIT] ??? 语句组3 ENDDO ?? 条件循环的执行过程是:先判断条件表达式是否成立,若成立则执行循环体,当执行到ENDDO时,则返回到条件表达式处继续判断,若当条件不成立,退出循环结构,转而执行ENDDO后面的语句。 以上,我们以计算5!的程序为例,说明循环语句工作过程,注意以下几点: (1)如果第一次判断条件时,条件即为“假”,则循环体一次都不执行。 (2)必须知道循环次数或者结束循环条件,本例中循环次数为5。 (3) 必须知道重复执行操作,本例中重复执行的操作是C=C*I,I=I+1,它们是循环体。 (4) 在循环体内至少存在一条命令(语句)来修改循环入口条件,使其逐步逼近为“假”,保证循环正常进行与结束,本例中I称为循环变量,I=I+1起到了修改循环入口的判断条件。 (5) 循环变量的初值,以及实际问题中的累加、累乘、计数等的初值,必须置于循环之前。本例中循环变量的初值为1,以及累乘变量C的初值为1,均应放在循环之前。 (6) 循环结构不仅可以自身嵌套,还能与选择结构的各种形式嵌套。 结束循环循环格式中看到,语句中两条特殊命令—LOOP和EXIT。 ①当程序执行到LOOP时,则不执行循环体中接下来的语句,转到DO WHILE处重新判断条件。 ②当程序执行到EXIT时,则立即结束循环,转到执行ENDDO后面的语句。 ③LOOP和EXIT在循环体中,一般与分支语句配套使用。 1.? 【例1】 求1+2+…+100之和。 ?? 分析:此题是求累加之和。其循环操作是做99次加运算,设其和为s,每次累加的数为i,则每次操作的步骤都是把i加到s上,且每次i自身要加1,如此循环99次,最终保存在s中的即为结果。 程序代码如下: SET TALK OFF CLEAR STORE 0 TO i,s DO WHILE i=100??????????????????? ????????????????????????? ?????? s=s+i ?????? i=i+1????????????????????????????????????? ENDDO ? “1到100累加之和为”,s SET TALK ON RETURN 说明:(1)对于条件循环,最重要的在于循环条件的建立,特别是对于循环变量临界值的确定,一旦临界值确定的不恰当,哪怕是一个“=”的差别,也会使得程序的结果离题万里。 (2)循环变量要赋初值。 (3)循环体内要有能使得循环条件逐渐趋近于假的语句,否则会造成死循环。 (4)另外循环内部语句的顺序在很多时候都是有序的语句序列。 【例2】已知表达式s=1+1/2+1/3+…+1/n,直到s5为止,求此时n的值。 算法分析:(1)此题为一个多项式累加求结果。但是显然具体多项式有多少项并不清楚所以不知循环次数。 (2)采用循环结构,循环体中每次是对s累加前一项式的值,而且多项式之间存在着每次分母都比上一次增加1规律。 (3)由题目给出条件得知,只有当s小于5时循环才能继续。因此得出循环的条件应该为s=5。 程序代码如下: CLEAR SET TALK OFF s=0 n=1 DO WHILE s=5 ?? s=s+1/n ?? n=n+1 ENDDO ? “n的值应该为”+n SET TALK ON RETURN 【例3】求100到200之间所有奇数之和。 ???? 分析:(1)此题要求判断100到200之间的所有数。那么是一个循环判断的过程。 (2)设一个变量i初值为100。循环条件为i=200。 ?????(3)循环体中,对每次的i先利用MOD函数判断奇偶性。若i为奇数则累加到变量s中,否则,通过LOOP语句退出本次循环,进入下一次循环判断。 程序代码如下: ????? SET TALK OFF ????? CLEAR ????? s=0 ????? i=100 ????? DO WHILE i=200 ???????? IF MOD(i,2)=0 ??????????? LOOP????? 若i被2除后余数为0,则i为偶数,否则退出本次

文档评论(0)

ufh031 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档