国家计算机二级vf多模块程序设计

上传人:我** 文档编号:117868184 上传时间:2019-12-11 格式:PPT 页数:17 大小:68.50KB
返回 下载 相关 举报
国家计算机二级vf多模块程序设计_第1页
第1页 / 共17页
国家计算机二级vf多模块程序设计_第2页
第2页 / 共17页
国家计算机二级vf多模块程序设计_第3页
第3页 / 共17页
国家计算机二级vf多模块程序设计_第4页
第4页 / 共17页
国家计算机二级vf多模块程序设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《国家计算机二级vf多模块程序设计》由会员分享,可在线阅读,更多相关《国家计算机二级vf多模块程序设计(17页珍藏版)》请在金锄头文库上搜索。

1、多模块程序设计 授课教师:易学良 模块的定义和调用 n1模块的定义 u定义: l模块可以是命令文件,也可以是过程。 u过程定义的语法格式: lPROCEDURE | FUNCTION l lRETURN lENDPROC u打开过程文件的命令格式: lSET PROCEDURE TO, u关闭过程文件的命令格式: lRELEASE PROCEDURE TO, n模块调用 u格式1: lDO u格式: l() u说明: l如果模块是程序文件的代码,模块调用就用。 l如果模块不是程序文件的代码,模块调用就用。 l格式2的模块调用既可以作命令使用,也可以当作 函数出现在表达式中。 l格式2中的不能含

2、有扩展名。 例1:使用程序文件、过程、过程文件 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: CLEAR SET UDFPARMS TO VALUE STORE 500 TO X1,X2 DO P4 WITH X1,(X2) ?第一次:,x1,x2 STORE 500 TO x1,x2 P4(X

4、1,(X2) ?第二次:,x1,x2 SET UDFPARMS TO REFERENCE STORE 500 TO X1,X2 DO P4 WITH X1,(X2) ?第三次:,x1,x2 STORE 500 TO x1,x2 P4(X1,(X2) ?第四次:,x1,x2 *过程P4 PROCEDURE P4 PARAMETERS X1,X2 STORE X1+1 TO X1 STORE X2+1 TO X2 ENDPROC 例3:计算矩形面积 clear input 矩形长: to l input 矩形宽: to w s=0 do area with l,w,s ?矩形面积为:,s retu

5、rn procedure area parameters c,k,m m=c*k return 例4:求 C(m,n)=m!/(n!(m-n)!) clear input m= to m input n= to n c=fac(m)/ (fac(n)*fac(m-n) ?c return function fac para x p=1 for k=2 to x p=p*k next return p n例5:定义一个求3个数 中最大数的自定义函数 ,并利用该函数求5个数 中最大数。 input a= to a input b= to b input c= to c input d= to d

6、input e= to e max=getmax(a,b,c) max=getmax(max,d,e) ?max return function getmax para x,y,z if xy m=x else m=y endif if zm m=z endif return m 3 变量的作用域 n1变量的作用域 u定义: l指变量在什么范围内是有效的或者能够被访问的。 内存变量分类: u公共变量 l公共变量又称为全局变量,在任何程序或过程中都 可以使用的内存变量。 l如果某数据需要在程序中任何地方取用,为方便起 见,就可定义为公共变量。 l定义公共变量用PUBLIC命令。 u私有变量 l在

7、程序中直接使用(没有通过PUBLIC和LOCAL命 令事先声明)并且由系统自动隐含建立的变量称为 私有变量。 l私有变量通常用于过程中,其作用范围仅限于此过 程中与在此过程中的过程,外部的程序无法作用到 此类变量,而此类变量在进入此过程时才被定义, 离开此过程后即被释放。 l定义私有变量用PRIVATE命令。一旦建立它的模 块程序运行结束,这些私有变量将自动清除。 u局部变量 l局部变量只能在建立它的模块中使用,不能在上层 或下层模块中使用。 l当建立它的模块程序运行结束时,局部变量自动释 放。 l与全局变量一样,局部变量也要先建立后使用。 l局部变量用LOCAL命令定义。 n2变量的隐藏 l

8、开发应用程序时,主程序与子程序不一定是由同一 个人来设计的,子程序中用到的变量实际上在主程 序中已经建立,子程序的运行会无意间改变主程序 中变量的取值。 l为了解决这个问题,可以采用在子程序中使用 PRIVATE 或 LOCAL命令隐藏主程序中可能存在 的变量,使得这些变量在子程序中暂时无效。 u例6: SET TALK OFF V1=100 V2=150 DO P ?V1,V2 & 显示100 1000 PROCEDURE P PRIVATE V1 V1=500 V2=1000 ?V1,V2 & 显示500 1000 RETURN n例7: clear public x private y,k x=1 y=2 do sub6 ?x=,x,y=,y & 显示3 2 k=3 do sub7 ?y=,y,k=,k & 显示10 5 procedure sub6 local y y=3 x=x*y y=x+y return procedure sub7 k=k+y y=k*y return

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号