版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机教研室计算机教研室数据库应用(数据库应用(VFP6.0)J整理整理ppt第二节第二节 子程序与参数传递子程序与参数传递v什么叫子程序、过程和函数什么叫子程序、过程和函数?v为什么需要建立?为什么需要建立?v如何建立?如何建立?v参数是怎么样传递?参数是怎么样传递? 利用参数的内存变量属性利用参数的内存变量属性 在子程序、过程和函数之间传递在子程序、过程和函数之间传递J整理整理ppt为什么建立子程序、过程、函数?为什么建立子程序、过程、函数?v求M!+N!&求m!+n!S1=1FOR I=1 TO M S1=S1*IENDFORS2=1FOR J=1 TO N S2=S2*JEND
2、FOR?S1+S2太多重复代码!太多重复代码!&求m!+n!S1=F(M)S2=F(N)?S1+S2S=1FOR I=1 TO X S=S*IENDFOR子程序、过程、函数!子程序、过程、函数!整理整理ppt主要内容主要内容v子程序 定义 调用与返回v过程 定义 建立、调用v函数 定义 建立、调用v参数传递及作用域J整理整理ppt子程序的基本概念子程序的基本概念v定义 子程序是相对于主程序而言的一个独立的程序文件,其建立方法与建立程序文件的方法相同,扩展名为.PRG。v调用与返回 调用:DO WITH 返回:RETURN TO MASTER Notice:子程序执行时直到遇到以下情况时
3、,自动结束返回:RETURN、RETRY、CANCEL、QUIT和子程序的末尾J整理整理ppt主、子程序的调用关系主、子程序的调用关系递接调用关系递接调用关系跨接调用关系跨接调用关系*P1.PRGDO P2RETURN*P2.PRGDO P3RETURN*P3.PRGRETURN*P1.PRGDO P2RETURN*P2.PRGDO P3RETURN*P3.PRGRETURN整理整理pptDEMO-书书P163-图图4.16-4.17Return to master整理整理ppt4.2.1子程序子程序v例题:例题: 例例1:求三个数中的最大数。:求三个数中的最大数。 ( 子程序例题子程序例题1
4、. .PRG)分析:本题由主程序分析:本题由主程序子程序例题子程序例题1. .PRG 与子程序与子程序SUB1. .PRG 组成。组成。(1)子程序)子程序SUB1. .PRG X 功能:求两个数中较大者。功能:求两个数中较大者。X 入口条件:变量入口条件:变量N1与与N2中存放待比较的两个数。中存放待比较的两个数。X 出口状态:变量出口状态:变量R中存放比较结果(较大者)。中存放比较结果(较大者)。(2)主程序)主程序(子程序例题子程序例题1. .PRG) 从键盘输入任意三个数从键盘输入任意三个数X1、X2、X3;调用调用SUB1.PRG 求出求出X1、X2中较大者,第二次再调用中较大者,第
5、二次再调用SUB1. .PRG 将此将此结果与结果与X3比较,即取得最大数。比较,即取得最大数。整理整理ppt4.2.1子程序子程序主程序代码:主程序代码:*求三个数中的最大数求三个数中的最大数SET TALK OFFINPUT 请输入第一个数请输入第一个数: TO X1INPUT 请输入第二个数请输入第二个数: TO X2INPUT 请输入第三个数请输入第三个数: TO X3N1=X1N2=X2R=0DO SUB1N1=RN2=X3DO SUB1?最大数为最大数为:,RSET TALK ON子程序子程序SUB1. .PRG:*求两个数中的最大数求两个数中的最大数IF N1N2R=N1ELSE
6、R=N2ENDIFRETURN这里使用了自然属性变量实现,这里使用了自然属性变量实现,因此变量因此变量N1、N2、R必须在主程必须在主程序里定义并置初始值。序里定义并置初始值。整理整理ppt4.2.1子程序子程序 例例2:求:求3200间的素数。间的素数。 ( 子程序例题子程序例题2. .PRG)分析:分析:此题通过主子程序来实现,主程序通过循环逐一取此题通过主子程序来实现,主程序通过循环逐一取3200间的奇数存入变量间的奇数存入变量M,然后调用子程序然后调用子程序SUB2. .PRG,子程序子程序则判定主程序传送来的则判定主程序传送来的M值是否为素数,若是则将该素数显值是否为素数,若是则将该
7、素数显示出来,否则直接返回主程序。示出来,否则直接返回主程序。 整理整理ppt4.2.1子程序子程序主程序代码:主程序代码:*求求3200间的素数间的素数SET TALK OFFCLEARM=3DO WHILE M200I=2DO SUB2M=M+2ENDDOSET TALK ON子程序子程序SUB2. .PRG:*判判M是否素数是否素数DO WHILE I=M-1IF INT(M/I)=M/IRETURNENDIFI=I+1ENDDO?MRETURN这里使用了使用自然属性变量这里使用了使用自然属性变量实现,因此实现,因此I必须在主程序里定必须在主程序里定义并置初始值。义并置初始值。整理整理p
8、pt过程过程-定义定义v1.过程与过程文件的定义v过程是一个由PROCEDURE开头,ENDPROC结尾的子程序段。过程可以将实现相对独立功能的常用代码集中在一起,供应用程序在需要时调用。v过程文件:是由若干个过程构成的文件。 PROCEDURE ENDPROCv 注意:v(1)过程必须存放在一个过程文件中。v(2)不能把可执行的主程序代码放在过程之后。子程序存在的问题:子程序存在的问题:系统打开的文件个数太多;系统打开的文件个数太多;调用子程序读磁盘的查找速度慢。调用子程序读磁盘的查找速度慢。整理整理ppt过程的建立与调用过程的建立与调用v二、过程文件的建立 过程文件建立方法有两种: 与程序
9、文件的创建方法相同,将过程文件的内容一行一行地输入。 通过将分散的子程序加入项目管理器,再利用工具自动连编生成扩展名为APP或EXE的文件。v三、过程文件的调用 打开打开:SET PROCEDURE TO 关闭关闭:SET PROCEDURE TO 或 CLOSE PROCEDURE 调用调用:DO WITH 注意:调用过程文件之前必须要打开过程文件。调用结束后要关闭。整理整理pptDEMOvP164例题4.20set talk offclea?同学们!do p2?晚上好!set talk onproc p2?早上好!do p3?下午好!endprocproc p3?中午好!endprocJ整
10、理整理ppt参数传递与作用域参数传递与作用域内存变量作用域内存变量作用域参数传递参数传递DO WITH 主程序与子程序之间或过程与过程之间通过互相传递参数来主程序与子程序之间或过程与过程之间通过互相传递参数来完成整体上的操作(两种方式)完成整体上的操作(两种方式)1利用内存变量的作用域属性利用内存变量的作用域属性2利用利用DOWITH整理整理ppt1.利用内存变量属性传递参数利用内存变量属性传递参数v利用内存变量属性传递参数利用内存变量属性传递参数内存变量内存变量自然属性自然属性私有属性私有属性本地属性本地属性公用属性公用属性定义格式定义格式作用范围作用范围传递方向传递方向变量寿命变量寿命整理
11、整理ppt自然属性自然属性 v含义 是指在程序(.PRG)中出现的没有特别声明而只是通过赋值或数组定义的变量。 v特点 定义格式:STORE/=、DIMENSION、DECLARE、INPUT、SUM等。 作用范围:该程序及其调用的下属子程序。 传递方向:单向。 变量寿命:所在程序运行结束后,该变量被自动删除。整理整理ppt自然属性自然属性P165例题例题T4.21整理整理ppt自然属性变量变化说明自然属性变量变化说明整理整理ppt自然属性变量的特点自然属性变量的特点在一个程序段里不能显示(使用在一个程序段里不能显示(使用LIST命令)在子程序里命令)在子程序里定义的自然属性的变量,也就是说,
12、在子程序里定义的定义的自然属性的变量,也就是说,在子程序里定义的自然属性变量对父程序是不可见的。(这是因为自然属自然属性变量对父程序是不可见的。(这是因为自然属性变量当所在的程序运行完毕后,被自动删除了)性变量当所在的程序运行完毕后,被自动删除了)在子程序里可以修改父程序里定义的自然属性变量的类在子程序里可以修改父程序里定义的自然属性变量的类型和数值。型和数值。整理整理ppt公用属性公用属性 v含义 是指能在所有的程序中使用,并通过这种方式共享的内存变量。公用属性的内存变量必须先特别声明和定义后方能使用。v公用属性的内存变量特点 定义格式:PUBLIC 作用范围:整个系统的所有程序。 传递方向
13、:双向(主程序主程序子程序子程序) 变量寿命:程序运行结束后,内存中仍然保存该变量。整理整理ppt公有属性公有属性Public P167例题例题T4.22整理整理ppt公有属性公有属性Public变量变化变量变化DEMO整理整理ppt从程序的运行结果理解公用属性变量的特点:从程序的运行结果理解公用属性变量的特点:在在一个程序段里可以显示(使用在在一个程序段里可以显示(使用LIST命令)在命令)在子程序里定义的公用属性的变量,也就是说,在子程序里定义的公用属性的变量,也就是说,在子程序里定义的公用属性变量对父程序是可见的。子程序里定义的公用属性变量对父程序是可见的。在子程序里可以修改父程序里定义
14、的公用属性变在子程序里可以修改父程序里定义的公用属性变量的类型和数值,在父程序里也可以修改子程序量的类型和数值,在父程序里也可以修改子程序里定义的公用属性变量的类型和数值。里定义的公用属性变量的类型和数值。整理整理ppt私有属性私有属性 Privatev私有属性的内存变量含义:是指具有既类似自然属性又能屏蔽上级同名内存变量属性的内存变量。私有属性的内存变量也必须先特别声明后方能使用。v私有属性的内存变量特点 定义格式:PRIVATE /ALLLIKE/EXCEPT 作用范围:该程序及其调用的下属子程序。类似自然属性 传递方向:单向(主程序子程序)。类似自然属性 变量寿命:程序运行结束后,该变量
15、被自动删除。 特殊作用:可屏蔽(隐藏)上级(主)程序中与当前程序同名的变量,即对当前程序中变量的操作,不影响上级(主)程序中与当前程序同名的变量值。整理整理ppt私有属性私有属性Private P169例题例题T4.23整理整理ppt私有属性私有属性Private变量变化变量变化DEMO整理整理ppt本地属性本地属性Localv本地属性的内存变量含义:是指具有既类似私有属性又不影响下属子程序中同名内存变量属性的内存变量。本地属性的内存变量必须先特别定义后方能使用。v本地属性的内存变量特点 定义格式:LOCAL 作用范围:该程序本身。 传递方向:无。 变量寿命:程序运行结束后,该变量被自动删除。
16、 特殊作用:可屏蔽(隐藏)上级(主)程序中与当前程序同名的变量,即对当前程序中变量的操作,不影响上级(主)程序中与当前程序同名的变量值。同时也不受下属子程序中同名内存变量值的影响。整理整理ppt本地属性本地属性Local 例题例题P171 T4.24整理整理ppt本地属性本地属性Local变量变化范围变量变化范围整理整理ppt内存变量四种作用域属性比较内存变量四种作用域属性比较整理整理ppt2.利用利用DOWITH传递参数传递参数v 优点:在不受变量名限制的情况下能达到传递参数的目的。v 传递参数:DO WITH v 接收参数:PARAMETERS 注:上述两个命令必须配对使用,不能单独使用。
17、注:上述两个命令必须配对使用,不能单独使用。 PARAMETERS命令中的命令中的必须以内存变量的形式出现,其中必须以内存变量的形式出现,其中的个数和位置与对应的的个数和位置与对应的DOWITH命令中命令中中的参数中的参数个数和位置相一致,都用逗号分隔。个数和位置相一致,都用逗号分隔。v 规则 传递参数命令在调用子程序处;接受参数命令在子程序第一行 传递方式: 引用引用:传递参数传递参数被隐含起来,但其值随着被调用程序中接受参接受参数数的变化而变化() 传值传值:表达式列表或单个内存变量用圆括号,参数传递为传值方式。即传递参数传递参数不被隐含,其值也不随着被调用程序中接受接受参数参数的变化而变
18、化 传递参数传递参数接受参数接受参数对应位置对应位置整理整理ppt利用利用DOWITH传递参数传递参数 例例1:引用方式传递参数。引用方式传递参数。 整理整理ppt利用利用DOWITH传递参数传递参数 例例2传值方式传递参数。传值方式传递参数。整理整理ppt利用利用DOWITH传递参数传递参数 参数引用方式与传值方式比较参数引用方式与传值方式比较引用方式引用方式传值方式传值方式格式格式DO 文件名文件名 WITH 内存变量列内存变量列表表DO 文件名文件名 WITH 表达式列表达式列表表例例DO P1 WITH A,BPARA X,YDO P1 WITH A+9,(B)PARA X,Y变量同名
19、变量同名主程中主程中A,B的值随的值随X,Y的变化的变化而变化,不受而变化,不受P1中中A,B的影响的影响若若P1中有变量中有变量A,B,则主程中则主程中A,B的值随的值随P1中中A,B的变化而的变化而变化变化整理整理ppteg_26:用过程实现求用过程实现求N!引用!引用!整理整理ppt自定义函数自定义函数v(1)定义:是一个子程序(.PRG),它可以返回一个值到调用程序。v(2)建立:与一般的命令文件的建立方法相同。 自定义函数在过程文件中的存在形式为: FUNCTION 自定义函数名语句序列 ENDFUNCv(3)特点 在自定义函数程序中首条命令一般为(如果没有参数传送可略): PARAMETERS 在自定义函数程序中尾条命令必须为: RETURN 整理整理ppt自定义函数的定义及调用自定义函数的定义及调用v完整的定义格式v自定义函数调用与参数传递 调用: 参数传递:默认为传值。整理整理pptDEMO-例题例题vP175-例题4.27自定义函数判断是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车造型设计方法研究与微型轿车的创新设计开发-基于多维度融合视角
- 汽车用AA6016铝合金预处理工艺对组织性能影响的深度剖析
- 地铁车站安防运维技师考试试卷及答案
- 车载以太网协议调试技师考试试卷及答案
- 2025年会计档案管理办法考试真题及答案
- 联排小区卫生管理制度
- 2026年绿色产品认证考试真题及答案
- 学生校园网贷防范意识调查问卷
- 2026年德育特色学校创建方案
- 2025年北京市初二地理生物会考考试题库(附含答案)
- 软件工程-07软件测试课件
- 巴中市南江县2022-2023学年数学六年级第二学期期末学业水平测试模拟试题含解析
- 幼儿园小班健康《我会擦屁屁》擦屁股教案【幼儿教案】
- 2023学年完整公开课版圆导角
- 选必三 资源安全与国家安全大单元教学设计
- 郑锦标2020届毕业设计-年产2000吨干红葡萄酒厂设计
- 报考华南理工大学博士学位研究生登记表
- 1-《茶馆》(精品公开课)
- GB/T 90.3-2010紧固件质量保证体系
- 2023年无机化学试题库
- 应用地球化学:11地球化学数据库
评论
0/150
提交评论