- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 结构化程序设计基础
基础知识
1、程序
程序是能够完成某个任务的命令的有序集合。程序中的命令存入在程序文件中,Visual FoxPro的程序文件是一个文本文件,程序文件的默认扩展名是.PRG
2、程序的三种基本的程序结构:顺序结构、选择结构和循环结构。任意一个结构化程序都可以由这三种程序结构组成。
3、顺序结构是最基本的程序结构。顺序结构的程序按自上而下的顺序执行。
4、选择结构
选择结构的程序可以根据指定的条件,选择执行不同的程序段。选择结构可以分为单分支选择结构、双分支选择结构和多分支选择结构。单分支选择结构提供一种选择。只有满足指定的条件,才能执行该选择的语言。双分支选择结构提供两种选择。无论是否满足指定的条件,都能执行其中一种选择,并且只能执行一种选择。多分支选择结构可以提供多种选择,但最多执行其中一种选择。
(1)单分支选择结构IF…ENDIF
IF〈条件〉
〈语句组〉
ENDIF
程序流程:首先判断是否满足条件。如果“条件”的值为.T.,则先执行“语句组”,再执行ENDIF后面的语句。否则,不执行“语句组”,直接执行ENDIF后面的语句。
(2)双分支选择结构IF…ELSE…ENDIF
IF〈条件〉
〈语句组1〉
ELSE
〈语句组2〉
ENDIF
程序流程:首先判断是否满足条件。如果“条件”的值为.T.,则先执行“语句组1”,再执行ENDIF后面的语句。否则,先执行“语句组2”,再执行ENDIF后面的语句。
(3)多分支选择结构DO CASE…ENDCASE
DO CASE
CASE〈条件1〉
〈语句组1〉
CASE〈条件2〉
〈语句组2〉
……
CASE〈条件n〉
〈语句组n〉
[OTHERWISW
语句组]
ENDCASE
程序流程:首先判断第一个CASE后面的“条件1”是否满足。如果“条件”的值为.T.,则先执行“语句组1”,再执行ENDCASE后面的语句。否则,继续判断第二个CASE后面的“条件2”,如果满足条件,则先执行“语句2”,再执行ENDCASE后面的语句,如此进行下去。如果所有CASE后面的条件都不满足,当有OTHERWISE选项时,执行其下面的“语句组”,没有OTHERWISE选项时,执行ENDCASE后面的语句。
5、循环结构
循环结构的程序可以根据指定的条件,重复执行某个程序段。因此,循环结构也称为重复结构。在循环结构中,可以重复执行的程序段称为循环体。
Visual FoxPro提供了三种循环结构:指定条件循环、针对记录的循环和指定次数的循环。
(1)指定条件的循环DO WHILE…ENDDO
DO WHILE〈条件〉
〈语句组〉
ENDDO
程序流程:首先判断是否满足循环条件。如果“条件”的值为.F.,则不满足条件,程序将不执行循环体中的语句,直接执行ENDDO后面的语句。如果“条件”的值为.T.,则满足条件,执行循环体的语句后,返回DO WHILE处,再次判断是否满足条件。如此下去,直到不满足循环条件结束循环为止。
(2)针对记录的循环SCAN…ENDSCAN
SCAN[FOR条件]
〈语句组〉
ENDSCAN
程序流程:首先检查是否存在满足条件的记录。如果不存在,则不执行循环体中的语句后,记录指针自动移到下一条满足条件的记录,再执行循环体中的语句。如此下去,直到对所有满足条件的记录执行了循环体中的语句,才结束循环,执行ENDSCAN后面的语句。
(3)指定次数的循环FOR…ENDFOR
FOR〈变量〉=〈初值〉TO〈终值〉[STEP步长]
〈语句组〉
ENDFOR
程序流程:首先把“初值”赋给循环控制变量,然后判断是否循环条件。当循环控制变量的值小于或等于“终值”,且“步长”为正数,或循环控制变量的值大或等于“终值”,且“步长”为负数时,满足循环条件。先执行循环体的语句,再使循环控制变量按“步长”增值,并再次判断是否满足循环条件。如此继续下去,直到不满足循环条件时,才结束循环,执行ENDFOR后面的语句。
6、过程与自定义函数
过程与自定义函数都是为了实现某个功能编写的一段程序。用户可以使用创建子程序的方法创建过程和自定义函数,可以象调用子程序一样调用过程,可以象使用系统函数一样使用自定义函数。
过程可以存放在调用它的程序后面,也可以单独存放在过程文件中。过程文件的默认扩展名是.PRC.一个过程文件可以存放多个过程。
(1)定义过程的语句
PROCEDURE〈过程名〉
〈语句组〉
ENDPROC
(2)调用过程
调用过程仍然使用运行程序的DO命令。
文档评论(0)