VFP第6部分(循环结构).ppt
文本预览下载声明
循环结构则能够使某些语句或程序段重复执行若干次。如果某些语句或程序段需要在一个固定的位置上重复操作,使用循环是最好的选择。 * 循环结构 常见的循环结构有: 条件循环 步长循环 扫描循环 1)条件循环(do while循环) 格式: 流程图: 条件 语句序列 enddo的下一条命令 N Y 循环体 第一步, 计算 0+1; 第二步, 计算 (0+1)+2; 第三步, 计算 (0+1+2)+3; ……… 第 i 步, 计算 (0+1+…+i-1)+i; ………. 第100步,计算 (0+1+…+99)+100; 递归算法 例1:计算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 循环体 改变条件取值的语句 说明: ①循环结构从do while开始,到enddo结束,两者必须成对出现;在enddo后面可以书写注释。 ②循环是否继续取决于条件的当前取值,一般情况下循环体中应含有改变条件取值的命令或语句,否则将造成死循环。 ③循环结构能自身嵌套(多重循环),还能与选择结构的各种形式嵌套。 2)步长循环(for…endfor计数循环) 格式: 例2:求n的阶乘 例3:计算s=1+2+3+…+100 clea s=0 for i=1 to 100 s=s+i enddo ?1+2+3+...+100=,s return 说明: ①步长可正可负,缺省为1。 ②循环体中不应包含改变循环变量值的命令,否则循环次数将随之改变。 ③如果循环可以通过计数来控制,则本循环比条件循环更为方便。 当循环 步长循环 inpu “请输入终值:” to n inpu “请输入步长:” to k i=1 for i=1 to n step k do whil i=n 命令序列 命令序列 endf|next i=i+k endd clear a=“ABCDEFG” for k=1 to 8 step 2 ?subs(a,9-k,1) next retu 例4:写出本程序的执行结果 clear a= “ABCDEFG” k=1 do while k9 ?subs(a,9-k,1) k=k+2 endd retu 结果: F D B 让程序在大脑中运行 clea s=0 for i=0 to 1000 step 2 s=s+i next ?”s=”,s return 例5:求0~1000的偶数和 clear store 0 to i,s do while i=1000 s=s+i i=i+2 enddo ?”s=”,s return 奇数和怎 么求呢? 循环辅助语句 loop: 通常又称为中途复始语句或短路语句。 exit:通常又称为中途退出语句或循环终止语句。
显示全部