二. 选择结构(p98)
1) 二分支选择命令: if – else - endif
格式: if <条件(逻辑表达式)> &&若表达式值为.t. ,即满足条件
[语句序列1] &&则执行语句1
else &&否则…(即条件不成立),else可以缺省
[ 语句序列2] && 则执行语句2
endif && 结束选择结构
系统必须且只能选择执行一个分支。然后执行endif后面的语句。
例1: 根据分数(x值) ,输出结果 input ―输入分数:‖ to x
if x >= 60 &&条件必须是逻辑值
? ‖通过 ― &&若满足条件则
显示‖及格―
else &&否则,即条件不成立 ? ―没通过―
endif && 结束if结构 ? ‖结束‖ return
(不检查逻辑错误)
《例2》输入任意一个名字,若在xsk.dbf 中查找到,则显示该记录,否
则显示‖ 查无此人!‖ clear use xsk
accept ―请输入名字:‖ to a locate for 姓名 = a (字段变量) (内存变量) if found( ) disp
else &&else后面不能写语句
?‖ 查无此人!‖ endif use
〈练习1〉 输入一个字符,若是大写字母,则输出,否则显示:不是大写字母。
wait ―t=‖ to t &&或写accept | input ______
? t else
?‖不是大写字母‖ ______
<练习2>
计算计程车费,收费标准为:3公里以内7圆,超过3公里部分,每0.6公里增加1圆 clear
input ―请输入公里数:‖ to s if ____
if t>= 65 .and. t< = 90endif
s<=3
p=7 else
p=___ endif
?‖车费是:‖ , p
IF 语句练习: 辅导教材P.39-15、P.53例2-43、P.88例3-19、P130例4-52 、例4-91、P.172-39 、P305-3、
7+(s-3)/0.6*1
2) 多分支选择结构: do case 语句
格式: do case &&do case后不要写语句
case <条件1> [语句序列1] case <条件2>
[语句序列2] ……
case <条件n> [语句序列n] [ othewise ]
[语句序列n+1]
endcase && endcase后不要写语句
功能: do case 结构适用于处理 多分支选择问题, (而if _else语句处理多分支选择时,需要复杂的嵌套结构) 执行过程是:
根据情况,依次判断条件(逻辑值)是否满足,当遇到第一个条件为真的情况(case),就执行相应的命令序列,对余下的条件不再判断,也不执行其中语句,若所有的条件都不满足,则执行othwise后面的命令序列,然后执行endcase后面的语句,注意各个条件应该互斥,且只能选择执行其中一个分支。
《例1》
输入一个任意的百分制分数,转换为优,良…
input ―输入一个百分制分数:‖ to s
do case
case s>=90 &&若输入90,