教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

第6章 结构化程序设计(2)

来源:网络收集 时间:2026-10-02
导读: VFP资料 6.3.2 分支结构几种基本程序结构流程图:条件 A Y 语句序列 ENDIF N Y 条件 N 条件 Y A B 循环体 N B 顺序结构 单分支结构 双分支结构 循环结构 VFP资料 6.3.2 分支结构顺序、分支(选择)和循环结构是从现实世界中抽 象而来的。在日常生活中,有些事

VFP资料

6.3.2 分支结构几种基本程序结构流程图:条件 A Y 语句序列 ENDIF N Y 条件 N 条件 Y A B 循环体 N

B

顺序结构

单分支结构

双分支结构

循环结构

VFP资料

6.3.2 分支结构顺序、分支(选择)和循环结构是从现实世界中抽 象而来的。在日常生活中,有些事情是具有顺序性的, 有些是需要进行选择的,有些则是具有周期性的。要 完成任何事情,都可以利用这三种基本结构来表示。

分支结构程序能根据条件成立与否来决定程序的执 行流向。分支结构有单分支、双分支和多分支三种: 1. 单分支结构:IF...ENDIF 2. 双分支结构:IF...ELSE...ENDIF 3. 多分支结构:DO CASE...ENDCASE2

VFP资料

6.3.2 分支结构1. 单分支结构IF <条件表达式> <命令序列> ENDIF条件 Y 语句序列 ENDIF N

功能:若条件表达式的值为真,则顺 序执行命令序列,否则跳过命令序列, 单分支结构 直接执行ENDIF后面的语句。 说明:IF语句与ENDIF语句必须成对出现。3

VFP资料

6.3.2 分支结构例1:将键盘输入的两个数按从小到大的次序排序, 并依次显示。INPUT "请输入第1个数:" TO A INPUT "请输入第2个数:" TO B IF A>=B && 如果A比B大,则交换A和B的值 T=A && T为中间临时变量 A ② A=B B=T ENDIF ① T ? "这两个数的排序结果为:" ?A, B

B

③

VFP资料

6.3.2 分支结构例2:在学生表中查找并显示某学生的有关情况。(对上节课例1的程序进行改进,判断查找是否成功) *程序名称:CZ1.PRG SET TALK OFF CLEAR USE 学生 ACCEPT "请输入要查找的学生姓名:" TO XM LOCATE FOR 姓名=XM IF FOUND( ) && 判断是否找到该记录 DISP ENDIF 用另一方法: USE IF NOT EOF( ) SET TALK ON DISP RETURN ENDIF

VFP资料

6.3.2 分支结构例2:在学生表中查找并显示某学生的有关情况。(对上节课例1的程序进行改进,判断查找是否成功) *程序名称:CZ1.PRG SET TALK OFF CLEAR USE 学生 ACCEPT "请输入要查找的学生姓名:" TO XM LOCATE FOR 姓名=XM IF NOT EOF( ) && 判断是否尚未到达文件尾 DISP ENDIF 如果找不到记录呢? USE 因此,还要对该程序 SET TALK ON 进行改进 RETURN

VFP资料

6.3.2 分支结构2. 双分支结构IF <条件表达式> Y N 条件 <命令序列1> ELSE 语句序列1 语句序列2 <命令序列2> ENDIF ENDIF后面的语句 功能:若条件表达式的值为真, 双分支结构 则执行语句序列1,然后转去执 行ENDIF后面的语句;否则,执行语句序列2,再执 行ENDIF后面的语句。

VFP资料

6.3.2 分支结构2. 双分支结构IF <条件表达式> Y N 条件 <命令序列1> ELSE 语句序列1 语句序列2 <命令序列2> ENDIF ENDIF后面的语句 说明:(1)书写分支语句时 双分支结构 的难点是条件表达式。 (2)ELSE语句本身隐含的条件为所对应条 件表达式的补集。

VFP资料

6.3.2 分支结构2. 双分支结构IF <条件表达式> Y

N 条件 <命令序列1> ELSE 语句序列1 语句序列2 <命令序列2> ENDIF ENDIF后面的语句 说明:(3)语句序列本身也 双分支结构 可以作为一个分支结构,这样 就形成了分支语句的嵌套。在嵌套结构中一定要注意, 9 ELSE通常是和前面最近的未曾配对的IF配对。

VFP资料

6.3.2 分支结构例3:在学生表中查找并显示某学生的有关情况。如 果没找到,则显示提示信息。SET TALK OFF CLEAR USE 学生 ACCEPT "请输入要查找的学生姓名:" TO XM LOCATE FOR 姓名=XM IF NOT EOF( ) DISP ELSE ? "查无此人" ENDIF USE SET TALK ON RETURN

VFP资料

6.3.2 分支结构例4:输入两个数,求这两个数的最大者。SET TALK OFF CLEAR INPUT "请输入第一个数:" TO X INPUT "请输入第二个数:" TO Y IF X>=Y MAX=X ELSE MAX=Y ENDIF 还可以用IIF函数来做 ? "两者最大的数为:", MAX 教材P34 SET TALK ON RETURN

VFP资料

6.3.2 分支结构IIF( ) 判断选择函数(条件测试函数)格式:IIF(<条件表达式>, <表达式1>, <表达式2>) 功能:若<条件表达式>的值为真,函数返回<表达式 1>的值;若<条件表达式>的值为假,函数返回<表达 式2>的值。例:IIF(成绩>=60, "及格", "不及格") 当成绩>=60时,函数返回“及格” ,否则将返回 “不及格”字符串。12

VFP资料

6.3.2 分支结构例4:输入两个数,求这两个数的最大者。(用IIF函数来做) SET TALK OFF CLEAR INPUT "请输入第一个数:" TO X INPUT "请输入第二个数:" TO Y ? "两者最大的数为: ", IIF(X>=Y, X, Y) SET TALK ON RETURN

思考:本题也可以单分支结构来做13

VFP资料

6.3.2 分支结构例5:求分段函数的值。 x 0 5x 1 y x 0 0分析: 已知:X 处理:利用分支结构 计算Y的值 求:Y

SET TALK OFF CLEAR INPUT "请输入X:" TO X IF X>=0 Y=5*X+1 还可以用IIF函数来做 ELSE Y=0 ENDIF Y=IIF(X>=0, 5*X+1, 0) ? "Y=", Y SET TALK ON RETURN

VFP资料

6.3.2 分支结构例6:广州到武汉的邮路里程为1043KM,通过邮政 向武汉城区寄交“特快专递”邮件,应在24小时内到 达。计费标准每克为0.05元,但超过100克后。超出 数每克为0.02元。

分析:已知:重量WW 100 0.05*W 计算费用: JF 0.05*100 0.02* (W 100) W 100 求:费用JF15

VFP资料

6.3.2 分支结构方法一 SET TALK OFF CLEAR INPUT "请输入邮件重量W=" TO W IF W<=100 JF=0.05*W ELSE JF=0.05*100+0.02*(W-100) ENDIF ? "费用为: ", JF SET TALK ON RETURN 0.05*W JF 0.05*100 0.02* (W 100 ) :双分支 W 100 W 100

VFP资料

6.3.2 分支结构方法二 SET TALK OFF CLEAR INPUT "请输入邮件重量W=" TO W JF=IIF(W<=100, 0.05*W, ; 0.05*100+0.02*(W-100)) ? "重量为"+STR(W)+"的邮件"+"费用为:"+STR(JF,6,2) SET TALK ON RETURN17

0.05*W JF ) 0.05*100 0.02* (W 100 :IIF函数

W 100 W 100

VFP资料

6.3.2 分支结构方法三 SET TALK OFF CLEAR I

NPUT "请输入邮件重量W=" TO W JF=0.05*W IF W>100 JF= 0.05*100+0.02*(W-100) ENDIF ? "费用为: ", JF SET TALK ON RETURN 0.05*W JF 0.05*100 0.02* (W 100 ) :单分支 W 100 W 100

VFP资料

6.3.2 分支结构3. IF语句的嵌套IF<条件表达式1> <语句行序列1> ELSE IF<条件表达式2> <语句行序列2> ELSE IF<条件表达式3> <语句行序列3> ELSE ……… ENDIF ……… ENDIF ……… ENDIF

注意: (1)“IF、ELSE(可选)、 ENDIF”必须一一 对应、互相匹 配。 (2)允许简单判断和选择判断 语句自我嵌套或相互嵌套,但层 次必须清楚 …… 此处隐藏:1875字,全部文档内容请下载后查看。喜欢就下载吧 ……

第6章 结构化程序设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/122646.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)