




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多模块程序设计多模块程序设计授课教师:易学良模块的定义和调用n1模块的定义模块的定义u定义:l模块可以是命令文件,也可以是过程。u过程定义的语法格式:lPROCEDURE | FUNCTIONllRETURNlENDPROCu打开过程文件的命令格式:lSET PROCEDURE TO, u关闭过程文件的命令格式:lRELEASE PROCEDURE TO,n模块调用模块调用u格式1:lDO u格式:l()u说明:l如果模块是程序文件的代码,模块调用就用。l如果模块不是程序文件的代码,模块调用就用。l格式2的模块调用既可以作命令使用,也可以当作函数出现在表达式中。l格式2中的不能含有扩展名。例1
2、:使用程序文件、过程、过程文件2 参数传递n1PARAMETERS和和LPARMETERS语句语句传递参数传递参数u格式:lPARMETERS,lLPARMETERS 1,n2调用模块程序调用模块程序u格式1:DO WITH ,u格式2: ( , )n3参数传递方式参数传递方式u按“引用”传递TO REFERENCE:按引用传递。u按“值”传递TO VALUE:按值传递。采用1调用模块程序时,如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋给相应的形参变量,称为按值传递。如果实参是变量,则传递的将不是变量的值,而是变量的地址。采用2调用模块程序时,默认情况下是以按“值”方式传
3、递参数。如果实参是变量,可以利用SET UDFPARMS命令重新设置参数传递的方式。如果给实参变量加上(),则强制使用值传递。还可以在程序之间传递数组。当实参是数组元素时,总是采用按值方式传递元素值。当实参是数组名是,如果按“值”方式传递数组元素值时,则传递数组的第一个元素值给形参变量。如果按“引用”方式传递数组元素值时,则传递的将是整个数组。n例2:CLEARSET UDFPARMS TO VALUESTORE 500 TO X1,X2DO P4 WITH X1,(X2)?第一次:,x1,x2STORE 500 TO x1,x2P4(X1,(X2)?第二次:,x1,x2SET UDFPARM
4、S TO REFERENCESTORE 500 TO X1,X2DO P4 WITH X1,(X2)?第三次:,x1,x2STORE 500 TO x1,x2P4(X1,(X2)?第四次:,x1,x2*过程P4PROCEDURE P4PARAMETERS X1,X2STORE X1+1 TO X1STORE X2+1 TO X2ENDPROC例3:计算矩形面积clearinput 矩形长: to linput 矩形宽: to ws=0do area with l,w,s?矩形面积为:,sreturnprocedure areaparameters c,k,mm=c*kreturn例4:求C(m
5、,n)=m!/(n!(m-n)!)clearinput m= to minput n= to nc=fac(m)/(fac(n)*fac(m-n)?creturnfunction facpara xp=1for k=2 to xp=p*knextreturn pn例5:定义一个求3个数中最大数的自定义函数,并利用该函数求5个数中最大数。input a= to ainput b= to binput c= to cinput d= to dinput e= to emax=getmax(a,b,c)max=getmax(max,d,e)?maxreturnfunction getmaxpara
6、x,y,zif xy m=xelse m=yendifif zm m=zendifreturn m3 变量的作用域n1变量的作用域变量的作用域u定义:l指变量在什么范围内是有效的或者能够被访问的。内存变量分类:u公共变量l公共变量又称为全局变量,在任何程序或过程中都可以使用的内存变量。l如果某数据需要在程序中任何地方取用,为方便起见,就可定义为公共变量。l定义公共变量用PUBLIC命令。u私有变量l在程序中直接使用(没有通过PUBLIC和LOCAL命令事先声明)并且由系统自动隐含建立的变量称为私有变量。l私有变量通常用于过程中,其作用范围仅限于此过程中与在此过程中的过程,外部的程序无法作用到此
7、类变量,而此类变量在进入此过程时才被定义,离开此过程后即被释放。l定义私有变量用PRIVATE命令。一旦建立它的模块程序运行结束,这些私有变量将自动清除。u局部变量l局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。l当建立它的模块程序运行结束时,局部变量自动释放。l与全局变量一样,局部变量也要先建立后使用。l局部变量用LOCAL命令定义。n2变量的隐藏变量的隐藏l开发应用程序时,主程序与子程序不一定是由同一个人来设计的,子程序中用到的变量实际上在主程序中已经建立,子程序的运行会无意间改变主程序中变量的取值。l为了解决这个问题,可以采用在子程序中使用PRIVATE 或 LOCAL命令隐藏主程序中可能存在的变量,使得这些变量在子程序中暂时无效。u例6:SET TALK OFFV1=100 V2=150DO P?V1,V2 & 显示100 1000PROCEDURE PPRIVATE V1V1=500V2=1000?V1,V2 & 显示500 1000RETURNn例7:clearpublic xprivate y,kx=1y=2do sub6?x=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车司机聘用合同3篇
- 土地承包权终止的决定通知3篇
- 供应商设备采购协议3篇
- 休假期间忠诚保证书3篇
- 全新液化气站合伙经营合同3篇
- 公交司机工作责任承诺格式3篇
- 全球医疗科技创新的驱动因素和挑战考核试卷
- 太阳能器具在边防哨所的应用考核试卷
- 碱金属在纳米材料合成中的研究考核试卷
- 建筑装饰施工中的质量改进案例分析考核试卷
- 医院浅层地热能评估报告
- GB/T 14975-2012结构用不锈钢无缝钢管
- DB21-T3683-2022医疗卫生机构医疗废物卫生管理规范
- GB 17957-2021凿岩机械与气动工具安全要求
- 部编版六年级语文下册期末专项复习:修辞手法
- 中药学-七版教材
- 红军五次反围剿课件
- ISO9001注册审核员专业划分小类
- 五年级道德与法治上册课件 -保家卫国 独立自主 部编版 (共48张PPT)
- 安徽省历年中考数学试卷,2014-2021年安徽中考数学近八年真题汇总(含答案解析)
- 利益冲突申报表
评论
0/150
提交评论