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