- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环结构 循环结构能够使某些语句或程序段重复执行若干次。 如果某些语句或程序段需要在一个固定的位置上重复操作,使用循环是最好的选择。 常见的循环结构有: 条件循环 步长循环 扫描循环 1)DO WHILE循环(条件循环) 命令格式(P143页): DO WHILE 条件表达式 命令组 [EXIT] [LOOP] ENDDO 功能:当执行DO WHILE语句时,如果表达式的值为.T.,则执行语句序列,否则结束该循环,执行ENDDO之后的语句。 执行过程: 当给定的条件满足时,执行DO WHILE和ENDDO之间的命令组。命令组执行完毕后,程序自动返回到DO WHILE语句,再一次判断DO WHILE语句中的条件。如果条件仍然满足,则再执行一遍命令组,如果条件不满足,则结束循环,转去执行ENDDO之后的命令。 EXIT控制从循环体内跳出,转去执行ENDDO后的第一条命令,可把EXIT放在循环体的任何地方。因此EXIT被称为无条件结束循环命令,只能在循环结构中使用。 EXIT语句:强行跳出循环,接着执行ENDDO后的语句。 LOOP控制直接转回到DO WHILE语句,而不执行LOOP和ENDDO之间的命令。因此LOOP称为无条件循环命令,只能在循环结构中使用。 LOOP语句:强行返回到循环开始语句。 DO WHILE 条件 DO WHILE 条件 …… …… EXIT LOOP …… …… ENDDO ENDDO 说明:1、do while 和enddo必须各占一行,且它们必须成对出现;在enddo后面可以书写注释。 2、为使程序最终能退出循环,命令组中至少有一个命令对条件产生影响,否则程序退不出循环,将产生死循环。 3、如果第一次判断条件时,条件为假,则循环一次都不执行。 4、循环结构能自身嵌套(多重循环),还能与选择结构的各种形式嵌套。 第 1 步, 计算 0+1; 第 2 步, 计算 (0+1)+2; 第 3 步, 计算 (0+1+2)+3; ……… 第 i 步, 计算 (0+1+…+i-1)+i; ………. 第 100 步,计算 (0+1+…+99)+100; 递归算法 例:计算s=1+2+3+…+100 算法: 定义s存放累计的和 定义i存放循环次数 条件 i=100 s=s+i i=i+1 输出结果s 递推公式 i=100 s=s+i i=i+1 s=0, i=1 开始 结束 输出s Y N clea s=0 i=1 do while i=100 s=s+i i=i+1 enddo ?1+2+3+...+100=,s retu 循环体 改变条件取值的语句 2)FOR…ENDFOR计数循环(循环次数已知,步长循环) 格式(P145页): FOR 循环变量=初值 TO 终值 [STEP步长] 语句序列 ENDFOR|NEXT 功能:当FOR语句中循环变量的值在“初值”和“终值”之间时,执行FOR与ENDFOR之间的循环体,否则退出循环,如下图所示。 循环初值赋给循环变量 循环变量是否超过终值? 执行循环体中语句序列 循环体变量按步长变化 执行ENDFOR之后的语句 使用说明: ①FOR和ENDFOR(或NEXT)必须成对出现。 ②初值、终值、步长均可以为表达式形式,但它们的值在循环运行之初一次性算定,在循环中是不会改变的。如果循环可以通过计数来控制,则本循环比条件循环更为方便 ③步长值可以为负数。缺省步长值为1。 ④可以根据初值、终值和步长出计算循环次数为:INT((终值-初值)/ 步长)+1。 ⑤在循环中,循环变量的值是自动改变的,不要人为改变循环变量的值,否则会出错。 ⑥EXIT和LOOP可出现在循环体内。 例:计算s=1+2+3+…+100 clea s=0 for i=1 to 100 s=s+i enddo ?1+2+3+...+100=,s return 【例】求1到100中偶数的和 SET TALK OFF CLEAR S=0 FOR N=2 TO 100 STEP 2 S=S+N ENDFOR ?”S=”,S SET TALK ON RETURN 例:求n的阶乘 当循环
文档评论(0)