x<0 的情况 或者
&;&; x<0 的情况
Y= -1 ENDIF ENDIF ?“Y=”,Y ,
5.2 结构化程序设计
4、 DO CASE … ENDCASE 语句
CASE语句格式 语句格式: DO CASE语句格式: DO CASE 条件1 CASE 〈条件1〉 〈语句序列1〉 语句序列1 CASE 〈条件2〉 条件2
〈语句系列2〉 语句系列2 …… 条件N CASE 〈条件N〉 〈语句序列N〉 语句序列N [OTHERWISE] 〈其他语句系列〉 其他语句系列〉 ENDCASE
条件1 条件1
DO CASE .F.
条件2 条件2
.F.
条件N 条件N
.T.
语句系列1 语句系列1
.T.
语句系列2 语句系列2
.T.
语句系列N 其他语句系列 语句系列N
ENDCASE
注意: 与第一个CASE之间 注意:DO CASE 与第一个 之间 不能有任何语句。 不能有任何语句。
5.2 结构化程序设计
例5.7:用DO...CASE语句实现符号函数。 DO...CASE语句实现符号函数。 ...CASE语句实现符号函数
请任意输入一个数: INPUT “请任意输入一个数:”TO X DO CASE DO CASE CASE X> 0 Y=1 .F. X>0 CASE X=0 .T. Y=0 CASE X<0 Y=1 Y=Y=-1 ENDCASE ?“Y=”, ?“Y=”,Y ENDCASE
X=0
.F.
X<0
.T.
Y=0
.T.
Y=Y=-1
5.2 结构化程序设计
5.2.4
循环结构
循环结构用于控制一组语句重复执行若干次, 循环结构用于控制一组语句重复执行若干次,可预先指 定要循环的次数,也可根据某个条件控制循环。 定要循环的次数,也可根据某个条件控制循环。 VFP实现的三种语句: VFP实现的三种语句: 实现的三种语句 FOR…ENDFOR语句 FOR…ENDFOR语句 WHILE…ENDDO语句 DO WHILE…ENDDO语句 SCAN…ENDSCAN语句 SCAN…ENDSCAN语句
5.2 结构化程序设计
1、 FOR …ENDFOR 语句
语句格式: 语句格式: FOR〈变量〉 初值〉 终值〉 步长〉 FOR〈 变量〉=〈 初值 〉TO 〈 终值 〉[STEP 〈 步长〉] 〈语句组〉 语句组〉 ENDFOR / NEXT 功能: 功能:
循环变量是否超过终值
循环变量赋初值
.T.
主要用于执行已知次数的循环, 主要用于执行已知次数的循环, 已知次数的循环 只要〈变量〉的值不超过终值, 只要〈变量〉的值不超过终值, 程序将重复执行循环体中的语句。 程序将重复执行循环体中的语句。 当步长为1 步长>]可缺省。 >]可缺省 当步长为1时,[STEP <步长>]可缺省。
.F.
执行循环体
循环变量加步长
ENDFOR后面的语句 后面的语句
5.2 结构化程序设计
例5.8:求1+3+5……+99的和。 5.8: 1+3+5……+99的和。 的和
S=0 FOR I=1 TO 99 STEP 2 S=S+I ENDFOR ?“前1~100之间的奇数和为:”, 前 之间的奇数和为: 之间的奇数和为 S
I是否超过 是否超过99 是否超过
I=1
.T.
.F.
S=S+I
循环变量加步长
ENDFOR后面的语句 后面的语句
5.2 结构化程序设计
例5.9:求100的阶乘。 5.9: 100的阶乘。 的阶乘
P=1 FOR I=1 TO 100 P=P*I ENDFOR ?“100的阶乘为:”,P 的阶乘为: 的阶乘为
I是否超过 是否超过100 是否超过
I=1