财务程序设计第五章(06版).ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
财务程序设计第五章(06版).ppt

第五章 过 程 第一节 (外部)过程 第二节 (内部)过程文件 第三节 自定义函数 第四节 过程中的变量类型 第五节 过程调用的参数传递 第一节 (外部)过程 一、过程的概念及其调用 1.过程的概念:能够完成一定功能的可供其他程序使用的独立程序段叫过程。过程也叫子程序,调用子程序的程序叫主程序。 2.过程的形式: 一段可执行的程序 RETURN〔TO MASTER〕 3.过程的实质:以磁盘文件形式单独存放在磁盘上,所以也称为外部过程。 4、过程的建立 格式:MODI COMM 过程名[.PRG] (在VFP中,过程与主程序基本上相同,用同样的方法建立,以同样的文件格式存放在磁盘上,具有同样的后缀,唯一不同的是,在过程的最后必须放上一条返回语句。) 5、过程的调用 格式:DO (文件名) 功能:在主程序中,执行DO (文件名),即转到过程文件去执行,当执行到最后一条RETURN时,返回到DO (文件名)的下一语句继续执行。 例2:采用过程调用的方法,求CNm=M!/N!/(M-N)! 分析:先求X!的过程。 MODI COMM SUB.PRG *求X!的过程 P=1 FOR I=1 TO X P=P*I ENDF X=P RETU 再编主程序: MODI COMM MAIN.PRG INPUT 输入M的值 TO M INPUT 输入N的值 TO N X=M DO SUB C=X X=N DO SUB C=C/X X=M-N DO SUB C=C/X ?C RETU 例3:用过程的方法编写程序,给RS表的全体记录加工资,1970年以后出生的讲师加300元,1970年以前出生的讲师加500元,其他人员加200元。 MODI COMM MAIN.PRG *MAIN.PRG USE RS DO WHILE .NOT.EOF() DO SUB SKIP ENDDO MODI COMM SUB.PRG DO CASE CASE 职称=讲师.AND.YEAR(出生日期1970 REPL 工资 WITH 工资+300 CASE 职称= 讲师 REPL 工资 WITH 工资+500 OTHER REPL 工资 WITH 工资+200 ENDCASE RETU 说明: 1、RETURN:在执行完被调用的过程后,返回到调用语句的下一个语句。 2、如果在主程序的末尾加上RETURN,则执行到此语句时,系统将返回到命令窗口,并且关闭此文件。 3、如有可选项[TO MASTER],那么在程序嵌套时,将会从嵌套较深的过程直接返回到主程序。 (例如:若过程A调用过程B,过程B又调用过程C,如果过程C中包括RETURN TO MASTER语句,则执行到该语句时,系统不是返回到过程B,而是直接返回到过程A。) 4、过程嵌套的层数要受限制。 例1:使用过程文件的方法,重编CNm的问题 *MAIN.PRG SET TALK OFF SET PROC TO SUB INPUT 输入M的值 TO M INPUT 输入N的值 TO N X=M DO COMP C=X X=N DO COMP C=C/X X=M-N DO COMP C=C/X ?C SET PROC TO RETU *SUB.PRG PROC COMP P=1 FOR I=1 TO X P=P*I END X=P RETU 五、范例 例1:计算半径分别为3,5,7的园面积之和。 首先建立一个计算园面积的自定义函数如下: MODI COMM YMJ.PRG *YMJ.PRG FUNCTION YMJ PARAMETERS R SET TALK OFF S=R*R*3.1415926 RETURN S 强调:如何调用自定义函数? ?ymj(3)+ymj(5) 而不是DO YMJ 例2:定义一函数,可以根据输入的年,月,计算出本月的最后一天的日期。 方法一: *RQ1.PRG FUNCTION RQ1 PARAMETERS Y,M SET TALK OFF D=31 Y=VAL(Y) M=VAL(M) DO CASE CASE M=4.OR.M=6.OR.M=9.OR.M=11 D=30 CASE M=2 IF INT(Y/4)=Y/4 .AND. (INT(Y/100)#Y/100 .OR. INT(Y/400)=Y/400) D=29

文档评论(0)

rewfdgd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档