新编Visual FoxPro 程序设计实用教程ppt vfp第11周讲稿
2006-3-20,教学目的与要求,掌握循环嵌套(两层),2006-3-20,循环嵌套,在一个循环的循环体内又包含了一个循环结构,称为循环嵌套。,DO WHILE 结构嵌套,格式: DO WHILE DO WHILE ENDDO ENDDO,FOR结构嵌套流程,格式: FOR I=A TO B FOR J=C TO D ENDFOR ENDFOR,外层循环转一圈,内层循环转多圈。外层循环变量增大一个步长,内层循环变量从初值变化到终值。,循环嵌套例题,读程,写出结果,?space(8),'i',space(8),'j' for i=1 to 2 step 1 for j=1 to 2 step 1 ?i,j 内循环体 外循环体语句序列 endf endf,循环嵌套例题,读程,写出结果,for i=1 to 5 &&i控制行1-5行 for j=1 to 5 &&j控制列1-5列 ? '*' &&输出每行的5个* endf &&内循环控制输出每行的* ? &&内循环之后使光标换行 endf 提问:如何输出平行四边形?,循环嵌套例题,clea for i=1 to 5 ?space(i) &&换行、输出每行的前导空格,每行多1个空格 for j=1 to 5 ? '*' endf endf 提问:?space(20-i)显示结果?,循环嵌套例题,正等腰三角形 倒等腰三角形 正直角三角形 倒直角三角形 菱形 沙漏形,用两层循环画下列图形,图形画法总结,两层循环:外层I控制行,内层J输出每行的星号”*” 内层循环变量J终值可以是常数或者外循环变量I或者2*I-1 每行前导空格不是多一个?SPACE(I)就是少一个?SAPCE(行数-I)。 正等腰三角形外循环变量I=1 TO 行数,倒等腰三角形外循环变量I=行数 TO 1 STEP -1,其余完全相同,循环嵌套例题,两层循环求1!+2!+N!,S=0 INPUT'请输入一个整数:' TO N FOR I=1 TO N F=1 FOR J=1 TO I F=F*J 内循环体求I!,存于F中 ENDF S=S+F ENDF ?S,此处加STEP 2可求1!+3!+N!,循环嵌套例题,打印九九表(矩形),for i=1 to 9 for j=1 to 9 ?' '+str(i,1)+'×'+str(j,1)+'='+str(i*j,2)+' ' endf ? endf,数值、字符相连接用到STR函数。 提问:直角三角形输出,改哪?,循环嵌套例题,打印九九表(直角三角形),for i=1 to 9 for j=1 to i ?' '+str(i,1)+'×'+str(j,1)+'='+str(i*j,2)+' ' endf ? endf,循环嵌套例题,输出100-200之间所有素数,10个一行。,c=0 for n=101 to 200 step 2 for i=2 to n-1 if n%i=0 exit endi endf if in-1 ?n c=c+1 if c%10=0 &&需嵌套在IF语句中,在是素数的前提下,再判断是否达到5个。 ? endi endif endf,循环嵌套例题,在表单运行后分别在两个文本框中输入查找范围,当单击查找命令按钮时,将计算的结果在编辑框中输出。,循环嵌套例题,三层循环解水仙花数问题,FOR B=1 TO 9 FOR S=0 TO 9 FOR G=0 TO 9 N=B*100+S*10+G IF N=B3+S3+G3 ?N ENDIF ENDFOR ENDFOR ENDFOR,作业,实验十一,