- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.2.1 子程序 例题: 例1:求三个数中的最大数。 ( 子程序例题1.PRG) 4.2.1 子程序 4.2.1 子程序 例2:求3~200间的素数。 ( 子程序例题2.PRG) 4.2.1 子程序 自然属性变量的特点 利用DO…WITH…传递参数 例1:引用方式传递参数。 利用DO…WITH…传递参数 例2传值方式传递参数。 利用DO…WITH…传递参数 参数引用方式与传值方式比较 自定义函数的定义及调用 完整的定义格式 自定义函数调用与参数传递 调用: 参数传递:默认为传值。 DEMO-例题 P175-例题4.27自定义函数判断是否是偶数? P176-例题4.28-4.29自定义函数求三角形面积 函数与过程的区别 分别用函数和过程求n! 内存变量四种作用域属性比较 2.利用DO…WITH…传递参数 优点:在不受变量名限制的情况下能达到传递参数的目的。 传递参数:DO 文件名 WITH 传递参数 接收参数:PARAMETERS 接受参数 注:上述两个命令必须配对使用,不能单独使用。 PARAMETERS命令中的变量列表必须以内存变量的形式出现,其中的个数和位置与对应的DO…WITH…命令中参数表达式列表中的参数个数和位置相一致,都用逗号分隔。 规则 传递参数命令在调用子程序处;接受参数命令在子程序第一行 传递方式: 引用:传递参数被隐含起来,但其值随着被调用程序中接受参数的变化而变化() 传值:表达式列表或单个内存变量用圆括号,参数传递为传值方式。即传递参数不被隐含,其值也不随着被调用程序中接受参数的变化而变化 传递参数 接受参数 对应位置 若P1中有变量A,B,则主程中A,B的值随P1中A,B的变化而变化 主程中A,B的值随X,Y的变化而变化,不受P1中A,B的影响 变量同名 DO P1 WITH A+9,(B) PARA X,Y DO P1 WITH A,B PARA X,Y 例 DO 文件名 WITH 表达式列表 DO 文件名 WITH 内存变量列表 格式 传值方式 引用方式 eg_26:用过程实现求N! 引用!!! 自定义函数 (1)定义:是一个子程序(.PRG),它可以返回一个值到调用程序。 (2)建立:与一般的命令文件的建立方法相同。 自定义函数在过程文件中的存在形式为: FUNCTION 自定义函数名 [语句序列] ENDFUNC (3)特点 在自定义函数程序中首条命令一般为(如果没有参数传送可略): PARAMETERS 变量表达式 在自定义函数程序中尾条命令必须为: RETURN 表达式 set talk off clea input n= to n ?jos(n) set talk on function jos para x if x%2=0 return .t. else return .f. endif endfunc function tarea para a,b,c if (a+b)c and (a+c)b and (b+c)a s=(a+b+c)/2 mj=sqrt(s*(s-a)*(s-b)*(s-c)) else mj=0 endif return mj 自定义函数必须返回一个值 上机练习题 通过调用子程序编程从(A,B,C),(D,E,F),(G,H,I)三组数中分别挑出最大数,然后相乘。 分别用变量作用域、过程、函数求下列表达式 求S=A!+B!+C!。其中A、B、C均由键盘输入。(用函数方式实现) 求S =K!+(K+1)!+…+M! ,其中K和M由键盘输入,且KM。(用参数传递和过程文件实现) 编程求 。nm (用函数实现) jmxy.zjgsu.edu.cn Company Logo 计算机教研室 数据库应用(VFP6.0) jmxy.zjgsu.edu.cn Jmxy.zjgsu.edu.cn Company Logo 第二节 子程序与参数传递 什么叫子程序、过程和函数? 为什么需要建立? 如何建立? 参数是怎么样传递? 利用参数的内存变量属性 在子程序、过程和函数之间传递 为什么建立子程序、过程、函数? 求M!+N! Jmxy.zjgsu.edu.cn Company Logo 求m!+n! S1=1 FOR I=1 TO M S1=S1*I ENDFOR S2=1 FOR J=1 TO N S2=S2*J ENDFOR ?S1+S2 太多重复代码!! 求m!+n! S1=F(M) S2=F(N) ?S1+S2 S=1 FOR I=1 TO X S=S*I ENDFOR 子程序、过程、函数! 主要内容 子程序
您可能关注的文档
- it项目管理案例考试及课堂作业(小组作业)-终版.ppt
- iyb培训课程介绍.ppt
- ka系统操作流程.ppt
- kpi绩效管理体系课件-44页.ppt
- kpi绩效指标设计思路和实施方案(ppt-84).ppt
- kpi-经典培训课件(针对性设计).pptx
- kpi考核业务指标.ppt
- kpmg-it规划方案教程.ppt
- kw物流有限公司发展战略规划任务书.ppt
- linux-第6章-图形界面应用程序开发.ppt
- 外研版英语五年级下册全册教学课件(2025年).ppt
- 北师大版数学三年级下册全册课件(2025年2月修订).ppt
- 2024年新人教版一年级上册数学教学课件 2.3.6 练一练.ppt
- 2024年新人教版一年级上册数学教学课件 6 11~20各数的认识 ★数学乐园.ppt
- 2024年新人教版一年级上册数学教学课件 9 总复习 练习二十五.ppt
- 苏教版数学三年级下册全册教学课件(2025年3月).ppt
- 统编版语文五年级下册全册教学课件(2025年3月).ppt
- 北师大版数学五年级下册全册课件(2025年).ppt
- 2025年春新鲁科版英语三年级下册全册课件.ppt
- 人教版数学六年级下册全册课件(2025年3月).ppt
原创力文档


文档评论(0)