- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Visual_Foxpro_VF程序设计教程第二版_刘卫国第九章.ppt
9.1.2 程序的控制结构 任何复杂的程序都由3种基本控制结构组成。它们是顺序结构、选择结构和循环结构。 9.1.3 结构化程序设计方法 结构化程序设计采用自顶向下、逐步求精和模块化的分析方法。 自顶向下是指对设计的系统要有一个全面的理解,从问题的全局入手,把一个复杂问题分解成若干个相互独立的子问题 。逐步求精是指程序设计的过程是一个渐进的过程,先把一个子问题用一个程序模块来描述,再把每个模块的功能逐步分解细化为一系列的具体步骤 。模块化是结构化程序的重要原则。所谓模块化就是把大程序按照功能分为较小的程序。 9.2 顺序结构程序 顺序结构是最简单、最基本的一种程序结构。在顺序结构程序中,各命令按照各自出现的先后顺序,依次执行。 例 求[1,100]内所有能被3或被5整除的数的个数。 9.5 程序的模块化 9.5.1 子程序、过程和函数 1.子程序 (1).子程序的结构 子程序与其他程序文件的惟一区别是其末尾或返回处必须有返回语句。 命令格式:RETURN.[TO.MASTER|TO.〈程序文件名〉|〈表达式〉] (2).子程序的调用 子程序调用命令与主程序执行命令相同,其格式都是:DO〈程序文件名〉|〈过程名〉[WITH.〈参数表〉] (3).子程序的嵌套调用 主程序可以调用子程序,子程序还可以调用另外的子程序,这就是子程序的嵌套调用。实际上,子程序和主程序都是相对的,任何一个程序可以调用其他程序,也可以被其他程序调用。每个被调用程序的末尾或返回处都要加上RETURN命令。 2.自定义函数 (1).自定义函数的结构 [FUNCTION.〈函数名〉] [PARAMETERS.〈参数表〉] 〈命令组〉 RETURN.[〈表达式〉] (2).自定义函数的调用 调用格式是: 〈函数名〉(〈自变量表〉) 3.过程与过程文件 (1).过程的结构 过程的一般格式是: PROCEDURE〈过程名〉 [PARAMETERS〈参数表〉] 〈命令组〉 RETURN (2).过程文件 一个过程可以以文件形式单独存在,也可以将多个过程合并到一个文件中,这个文件称为过程文件。在过程文件中,每个过程仍然是独立的,可以单独调用。 (3).过程文件的打开与关闭 打开过程文件命令格式是: SET.PROCEDURE.TO.[〈过程文件名〉] 关闭过程文件命令格式是: SET.PROCEDURE.TO或者 CLOSE.PROCEDURE 9.5.2 内存变量的作用域 1.全局内存变量 定义全局变量的命令格式: 命令格式1: PUBLIC〈内存变量表〉|ALL|ALL LINK〈通配符〉|ALL EXCEPT〈通配符〉 命令格式2: PUBLIC.[ARRAY]〈数组名〉(〈下标上界1〉[,〈下标上界2〉])[,〈数组名〉(〈下标上界1〉[,〈下标上界2〉]),…] 功能:定义全局内存变量或数组。 2.局部内存变量 局部内存变量只能在定义它的程序及其下级程序中使用,一旦定义它的程序运行结束,它便自动被清除。也就是说,在某一级程序中定义的局部变量,不能进入其上级程序使用,但可以到其下级程序中使用,而且当在下级程序中改变了该变量的值时,在返回本级程序时被改变的值仍然保存,本级程序可以继续使用改变后的变量值。 3.隐藏内存变量 如果某级程序中使用的局部变量与上级程序中的局部变量或全局变量同名,就容易造成混淆。为了避免这种情况,可使用PRIVATE命令在该程序中将全局变量或上级程序定义的一些变量隐藏起来,这时就像这些内存变量不存在一样,可以再定义同名的内存变量。 命令格式 :PRIVATE.〈内存变量表〉|ALL|ALL.LIKE.〈通配符〉|ALL.EXCEPT.〈通配符〉 9.5.3 调用子程序时的数据传递 调用子程序时的数据传递可以通过两种方式来解决。 1.利用变量的作用域实现数据传递:合理地利用前面介绍的内存变量作用域特性,可以实现调用子程序时的数据传递。 2.利用参数实现数据传递 。 命令格式是: PARAMETERS.〈内存变量表〉 功能:该命令指定子程序中的局部变量名,并由这些局部变量接收上级程序中用DO…WITH传递来的参数。 9.6 程序调试 9.6.1 程序调试概述 程序调试就是确定程序出错的位置,然后加以改正,一直到满足预定的设计要求为止。程序调试往往是先分模块调试,当各模块都调试通过以后,再联合起来进行调试,通过联调后,便可试运行,试运行无误即可投入正常使用。 程序的错误有两类:语法错误和逻辑错误。 9.6.2调试器窗口 选择“工具”菜单中的“调试器”命令或在命令窗口输入DEBUG命令,
文档评论(0)