Visual FoxPro 程序设计:过程函数的调用.ppt

Visual FoxPro 程序设计:过程函数的调用.ppt

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

子程序 自定义函数 过程与过程文件 例: (2) 过程文件 (3) 过程文件的打开与关闭 例: 数组参数传递 递归调用 例:用递归调用法求n! 程序如下: 内存变量的作用域 * FoxPro * 本次课的教学内容: 过程、函数、综合例题 本次课的教学目的与要求: 1、过程函数的定义、使用 2、编程的技巧方法 本次课的教学重点与难点: 重点:过程函数的调用 难点:参数的传递、变量的作用域 讲授课时:2学时 (1) 子程序的结构 在VFP程序文件中,可以通过DO命令调用另一个程序文件,此时,被调用的程序文件就称为子程序。子程序的结构与一般的程序文件一样,而且也可以用MODIFY COMMAND命令来建立、修改和存盘,扩展名也默认为.PRG。 子程序和其他程序文件的唯一区别是其末尾或返回处必须有返回语句。 命令格式: RETURN [TO MASTER|TO 程序文件名|表达式] 命令功能: 中止一个程序、过程或用户定义函数的执行,返回到上一级调用程序、最高级调用程序、另外一个程序或者命令窗口。 (2) 子程序的调用 子程序调用命令与主程序执行命令相同,其格式都为: DO 程序文件名|过程名 [WITH 参数表] (3) 子程序的嵌套调用 主程序可以调用子程序,子程序还可以调用另外的子程序,这就是子程序的嵌套调用。 (1) 自定义函数的结构 自定义函数的格式: [FUNCTION 函数名] [PARAMETERS 参数表] 命令组 RETURN [表达式] (2) 自定义函数的调用 自定义函数的调用形式是: 函数名(自变量表) 其中,自变量可以是任何合法的表达式,自变量的个数必须与自定义函数中PARAMETERS语句里的变量个数相等,自变量的数据类型也应符合自定义函数的要求。 例定义一个判断n是否素数的函数,然后调用该函数求2~1000内的素数。 *prime.prg判断n是否素数的函数 PARAMETERS n flag=.T. j=2 DO WHILE j=n-1 .AND. flag IF MOD(n,j)=0 flag=.F. ENDIF j=j+1 ENDDO RETURN flag *main.prg调用该函数求2~1000内的全部素数 FOR m=2 TO 1000 IF prime(m) ? m ENDIF ENDFOR RETURN (1) 过程的结构 过程的一般格式是: PROCEDURE 过程名 [PARAMETERS 参数表] 命令组 RETURN endproc 例 使用带传递参数的过程调用方式计算三角形面积。 SET TALK OFF area=0 STORE .T. TO flag DO WHILE flag CLEAR INPUT 请输入第一边大小: TO x INPUT 请输入第二边大小: TO y INPUT 请输入第三边大小: TO z IF x=0.OR.y=0.OR.z=0.OR.x+y=z.OR.y+z=x.OR.x+z=y ? 不能够成一个三角形,请重新输入! LOOP ENDIF flag=.F. ENDDO DO sub WITH x,y,z,area ? Area=+STR(area,6,2) RETURN PROCEDURE sub PARAMETER a,b,c,s p=(a+b+c)/2 s=SQRT(p*(p-a)*(p-b)*(p-c)) RETURN *主程序 Clear ?”111111111111111111111” Do sub1 ?”222222222222222222222” Do sub2 ?”333333333333333333333” Do sub3 Return *过程sub1 Procedure sub1 ?”This is sub1.” endproc *续左边 *过程sub2 Procedure sub2 ?”This is sub2.” Endproc *过程sub3 Proce

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档