- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14大节第9章3第13周1
第9章结构化程序设计 输出1次ok ? 输出20次ok ? 9.4循环结构程序设计 什么时候要用到循环? 当一条或者一段命令需要被重复执行很多次时,我们考虑用循环解决。 循环结构是一种重要的程序结构。Visual FoxPro提供了DO WHILE、FOR、SCAN等3种循环语句。 DO WHILE循环 DO WHILE条件〈命令组〉 [EXIT] [LOOP] ENDDO 循环中loop语句与exit语句的作用 LOOP控制直接转回到DO WHILE语句,而不执行LOOP和ENDDO之间的命令。因此LOOP称为无条件循环命令,只能在循环结构中使用。 EXIT控制从循环体内跳出,转去执行ENDDO后的第一条命令,可把EXIT放在循环体的任何地方。因此EXIT被称为无条件结束循环命令,只能在循环结构中使用。 DO WHILE循环举例 计算1+2+3+4+5的和: 分析:这道题目非常简单,关键的是我们要从简单的问题中找出解决一定规律,进而解决其它问题. 这道题目我们考虑用循环来解决他,因为这里面的加法运算我们重复执行了很多次。 DO WHILE循环举例 思考: 刚才完成的是1+2+3+4+5,假设题目的要求是1*2*3*4*5呢? DO WHILE循环思考: LOOP语句与EXIT语句的使用 FOR循环 FOR循环变量=初值TO终值[STEP步长值] 〈命令组〉 [EXIT] [LOOP] ENDFOR|NEXT 语句执行时,首先计算初值、终值和步长值,并将初值赋给循环变量,再将循环变量的值与终值比较,如果循环变量的值在初值与终值范围内,则执行FOR与ENDFOR之间的命令,然后循环变量按步长值增加或减小,再重新比较,直到循环变量的值不在初值与终值范围内,结束循环,转去执行ENDFOR后面的第一条命令。 FOR循环 使用注意: (1) FOR,ENDFOR|NEXT必须各占一行,且它们必须成对出现。 (2) 循环变量可以是一个内存变量或数组元素。如果在FOR…ENDFOR之间改变循环变量的值,将影响循环执行的次数。 (3)初值、终值和步长值均为数值型表达式。如果省略STEP子句,则默认步长值是1。 (4) 退出循环后,循环变量的值等于最后一次循环时的值为加上步长值。 (5) LOOP语句和EXIT语句的功能与前面的DO WHILE循环语句相同。 FOR循环示例: 计算1+2+3+……+100的和: FOR循环的应用 有时候我们利用循环结构将所有的可能的情况全部列出来,一一测试,判断是否满足条件,从而求出满足条件的数,这种方法称为穷举法。穷举对于计算机来说是很容易实现的。 例如,找出所有的水仙花数: 例9.8所谓水仙花数是指一个三位整数,其各位数字的立方和等于该数本身(如153=1^3+5^3+3^3)。求所有的水仙花数。 FOR循环的应用 分析:这道题目要求我们找出所有水仙花数,该从哪里入手呢? 水仙花数肯定都是三位的正整数,那么,我们利用循环把所有的三位正整数全部列出来,一个个去找。 首先,三位正整数肯定在100到999之间,先利用FOR循环实现M从100到999之间变化。 For m=100 to 999 接下来,关键求出M所对应的个位十位以及百位数。 a=INT(m/100)百位数字 b=INT(MOD(m,100)/10) 十位数字 c=m%10 个位数字 FOR循环的应用 SCAN循环 SCAN[范围][FOR条件][WHILE条件] 〈命令组〉 [EXIT] [LOOP] ENDSCAN 循环的嵌套 用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为60枚,问共有多少种换法?(注:在兑换中,一分、两分或五分的硬币数可以为0枚) 求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。 * 执行过程: 当给定的条件满足时,执行DO WHILE和ENDDO之间的命令组。命令组执行完毕后,程序自动返回到DO WHILE语句,再一次判断DO WHILE语句中的〈条件〉。如果〈条件〉仍然满足,则再执行一遍命令组,如果〈条件〉不满足,则结束循环,转去执行ENDDO之后的命令。 DO WHILE语句使用注意: (1) DO WHILE和ENDDO必须各占一行,且它们必须成对出现。 (2) 为使程序最终能退出循环,命令组中至少有一个命令 对条件产生影响,否则程序将退不出循环,这种情况称作 无限循环或死循环。在程序中要避免出现无限循环。 Set talk off S=0 I=1 Do while I=5 S=S+I I=I+1 Enddo ? S 循环体 I=5? S=
文档评论(0)