VFP第11部分(循环辅助语句及多重循环)解析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《VFP第11部分(循环辅助语句及多重循环)解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 11 部分 循环 辅助 语句 多重 解析 课件
- 资源描述:
-
1、V i s u a l F o x p r o 6.0 程序设计基础重庆工商大学计3 3种循环结构种循环结构Do while.Do while.enddoenddofor.for.endforendforscan.scan.endscanendscan3 种循环结构D o w h i l e.e n d d o f o r.e n d f循环辅助语句循环辅助语句loop:loop:通常又称为中途复始语句或通常又称为中途复始语句或短路语句。短路语句。exitexit:通常又称为中途退出语句或:通常又称为中途退出语句或循环终止语句。循环终止语句。l o o p:通常又称为中途复始语句或短路语句。e
2、 x i t流程图流程图:条件条件语句序列语句序列LOOPEXITenddoenddo的下一条命令的下一条命令NY流程图:条件语句序列e n d d o 的下一条命令N Y【例例】将将1010到到2020中第一个能被中第一个能被3 3整除的数找出整除的数找出来。来。For n=10 to 20For n=10 to 20 if n%3=0 if n%3=0?n?n exit exit endifendifendforendfor结束当前循环,跳出结束当前循环,跳出exit所在的循环结构所在的循环结构【例】将1 0 到2 0 中第一个能被3 整除的数找出来。结束当【例例】求求300300以内能被
3、以内能被1717整除的最大的数。整除的最大的数。for x=300 to 1 step-1 if mod(x,17)=0?x exit endifendfor 找到满足条件的最找到满足条件的最大数,结束循环大数,结束循环从大数开始,第从大数开始,第一次找到的就一次找到的就是最大值是最大值【例】求3 0 0 以内能被1 7 整除的最大的数。找到满足条件的最【例例】将将1010到到2020中所有不能被中所有不能被3 3整除的数找出整除的数找出来。来。for n=10 to 20for n=10 to 20 if n/3=int(n/3)if n/3=int(n/3)loop loop endife
4、ndif?n?n endforendfor结束本次循环,结束本次循环,转入下一次循转入下一次循环条件的判断环条件的判断【例】将1 0 到2 0 中所有不能被3 整除的数找出来。结束本【例例】求求300300以内能被以内能被1717整除的所有整数。整除的所有整数。for x=1 to 300 if x%17!=0 loop else?x endifendfor【例】求3 0 0 以内能被1 7 整除的所有整数。f o r x=x=.t.x=.t.s=0s=0do do whilwhil x xs=s+1s=s+1if s/8=int(s/8)if s/8=int(s/8)?s?selseelse
5、looploopendiendiif s40if s40 x=.f.x=.f.endiendienddenddreturetu例:写出程序例:写出程序的结果的结果实验实验13 13 任务任务1 1(2 2)x=.t.结果为:8 例:写出程序的结果实验1 3 任务1(2例:计算例:计算100100以内的奇数以内的奇数和和s=0s=0i=0i=0do while.t.do while.t.i=i+1i=i+1if i100if i100exitexit endifendifif i%2=0if i%2=0 loop loop elseelses=s=s+is+iendifendifenddoend
6、do?100?100以内的奇数和为:以内的奇数和为:,s,scancelcancel永真永真循环循环还有哪些等价的表达式?mod(I,2)=0或int(i/2)=i/2例:计算1 0 0 以内的奇数和s=0 永真循环还有哪些等价的表达例:逐条显示例:逐条显示xsda.dbfxsda.dbf中女生的记录并统中女生的记录并统计人数。计人数。cleaclea use use xsdaxsda vsvs=0=0 do do whilwhil not not eofeof()()if if 性别性别=“=“男男”scanscan skip if skip if 性别性别=“=“男男”loop loop
7、looploopelse else elseelsedispdisp dispdispvsvs=vs+1 =vs+1 vsvs=vs+1=vs+1skip skip endiendiendiendi ends ends enddendd?”?”女生人数为:女生人数为:”,vsvs returetu例:逐条显示x s d a.d b f 中女生的记录并统计人数。例:以下程序段与例:以下程序段与VFPVFP命令:命令:DELETE WHILE DELETE WHILE 性别性别=男男.and.and.政治面貌政治面貌=群众群众 等效,请填空完成。等效,请填空完成。Go topGo topdo wh
8、ile.not.eof()do while.not.eof()if if 性别性别男男 endif endif if if 政治面貌政治面貌=群众群众 endif endif skip skipenddoenddoexitexitdeletedelete例:以下程序段与V F P 命令:e x i t例:下列程序判断一个自然数例:下列程序判断一个自然数n n是否为素是否为素数,其方法是用数,其方法是用2 2到到 之间的数逐个去之间的数逐个去除,若余数都不为除,若余数都不为0 0,则,则n n为素数,否则为素数,否则不是素数不是素数,请填空完成。请填空完成。n例:下列程序判断一个自然数n 是否为
9、素数,其方法是用2 到 INPUT INPUT 请输入一个大于请输入一个大于1 1的自然数的自然数:TO N:TO NY=1&Y=1Y=1&Y=1表示所输入的自然数是素数表示所输入的自然数是素数,为为0 0表示不是素数表示不是素数X=INT(SQRT(N)X=INT(SQRT(N)I=2I=2DO WHILE I=XDO WHILE I=X IF N%I_ IF N%I_ _ _ LOOP LOOP ELSE ELSE Y=0 Y=0 EXIT EXIT ENDIF ENDIFENDDOENDDOIF Y=1IF Y=1?_?_+_+是素数是素数 ELSEELSE?N,?N,不是素数不是素数
10、ENDIFENDIFRETURN RETURN 00i=i+1i=i+1str(nstr(n)I N P U T 请输入一个大于1 的自然数:T O N 0多重循环(掌握双重循环)多重循环(掌握双重循环)真真真真外循环初始条件外循环初始条件内循环初始条件内循环初始条件内循环体内循环体外循环条件外循环条件假假内循环条件内循环条件假假改变内循环循改变内循环循环条件环条件改变外循环改变外循环循环条件循环条件外循环结束外循环结束二重二重循环循环嵌套嵌套结构结构执行执行流程流程 内循环结束内循环结束真真外循环初始条件内循环初始条件内循环体外循环条件假内循环条例例:利用双重循环编程求利用双重循环编程求su
11、m=1+(1+2)+sum=1+(1+2)+(1+2+3)+(1+2+3+10)(1+2+3)+(1+2+3+10)之值。之值。11+21+2+31+2+3+41+2+3+4+5+6+7+8+9+10所有累加所有累加项可以看项可以看成右图成右图例:利用双重循环编程求s u m=1+(1+2)+1 所有累加项可方法一:方法一:clearclearsum=0sum=0t=0t=0for i=1 to 10for i=1 to 10 t=t=t+it+i sum=sum=sum+tsum+tendforendfor?sum=,sum?sum=,sumreturnreturn方法一:方法二:方法二:c
12、learclearsum=0sum=0for i=1 to 10for i=1 to 10t=0t=0for j=1 to ifor j=1 to it=t=t+jt+jendforendforsum=sum=sum+tsum+tendforendfor?1+?1+(1+21+2)+(1+2+31+2+3)+(1+2+3+101+2+3+10)=,sum=,sumreturnreturn累加思考:思考:P29P29实验实验12 12 任务任务2 2(3 3)计算)计算e e的近似值。用的近似值。用双重循环怎么做?双重循环怎么做?方法二:累加思考:P 2 9 实验1 2 任务2(3)计算e 的近
13、似值例:编写输出乘法口诀表的程序,要求口例:编写输出乘法口诀表的程序,要求口诀表呈三角形格式输出。诀表呈三角形格式输出。1 1*1=11=12 2*1=2 21=2 2*2=42=43 3*1=3 31=3 3*2=6 32=6 3*3=93=94 4*1=4 41=4 4*2=8 42=8 4*3=12 43=12 4*4=164=165 5*1=5 51=5 5*2=10 52=10 5*3=15 53=15 5*4=20 54=20 5*5=255=25.9 9*1=9 91=9 9*2=18 92=18 9*3=27 93=27 9*4=36 94=36 9*5=45 95=45 9*
14、9=819=81例:编写输出乘法口诀表的程序,要求口诀表呈三角形格式输出。1cleacleafor x=1 to 9 for x=1 to 9&控制行控制行for y=1 to x for y=1 to x&控制列控制列s=xs=x*y y?allt(str(xallt(str(x)+)+*+allt(str(yallt(str(y)+;)+;=+=+allt(str(sallt(str(s)+)+endfendf?endfendfreturetu什么意思,可以省略吗?c l e a 什么意思,可以省略吗?例:编程打印如下图形:例:编程打印如下图形:*例:编程打印如下图形:clearclear
展开阅读全文