- 0
- 0
- 约9.86千字
- 约 53页
- 2019-09-06 发布于广东
- 举报
IF a2=0 RETU ENDIF DO sub1 ? ′矩形面积计算是: ′,A1,′*′,A2,′=′,mj ENDDO RETU PROC sub1 内部过程入口语句 mj=a1*a2 RETU 主调程序所定义的内存变量, 虽然没有说明为全局变量, 仍然可以在其被调用的一系列子程序中使用。而子程序中定义的内存变量, 在其主调程序中不能引用。因为变量MJ是在子程序sub1中定义的, 并没有说明它是全局变量,所以当返回到主调程序输出变量MJ时,出现了“变量找不到”的错误信息。 为了改正程序中出现的这个错误,有两个办法: (1) 在主调程序用PUBLIC语句说明的变量中, 说明变量MJ也是全局变量。 (2) 在主调程序中用赋值语句将变量MJ初始化为 0 (MJ=0)。因为在主调程序定义的变量, 虽然未说明为全局变量, 但是可以在被调程序中使用。 2. 局部变量的说明语句 PRIVATE 〈局部内存变量名表〉 或 PRIVATE ALL [LIKE|EXCEPT 〈通配文件名〉] 如果在一个过程中把一些变量定义为局部变量, 则被定义的局部变量只能在本过程内部有效, 程序执行流程离开本过程, 则局部变量被清除。 由于未定义作用域的变量,也能在被调用的过程中引用, 有时为了避免这种共享变量造成的混乱,可以把只能在本过程中使用的变量说明为局部变量。 注意: (1) 凡是已定义为全局变量的变量,不能再定义为局部变量。 (2) 语句中使用 ALL LIKE 〈通配文件名〉是指:凡是用通配符配上的那些内存变量都被说明为局部变量;而 ALL EXCEPT 〈通配文件名〉 是指通配不上的那些内存变量都是局部变量。 9.2.2 过程的带参数调用 ? 如前所述, 在一个程序中,不论是外部过程还是内部过程, 都要使用过程调用语句调用。实际上,调用过程又分为无参(数)调用和有参(数)调用两类,也可称为不带参数调用和带参数调用。 1. 无参调用过程 (1) 无参调用语句: DO 〈被调用过程名〉 (2) 说明: 主调程序是无参调用过程时,主调程序和被调过程之间,仅靠全局内存变量或在主调程序定义的内存变量中传递数据的。 2. 有参调用过程 (1) 有参调用语句: DO 〈被调用过程名〉 WITH 〈实参表〉 (2) 说明: 主调程序是有参调用过程时,主调程序和被调程序之间, 使用 WITH 指定的实参进行数据传递的。与主调程序中的 WITH 实参相对应, 被调程序中的第一条可执行语句必须是形参说明语句: PARAMETERS 〈形参表〉 如果被调程序是内部过程, 则PROEDUREC语句之后的语句必须是PARAMETERS语句;如果被调程序是外部过程, 则第一条语句必须是PARAMETERS语句。 过程调用语句中的参数是实参数,〈实参表〉可以由若干个常量、 变量或其它表达式组成, 实参中出现的变量必须是已经被说明或被定义过的。 而〈形参表〉中的各个形式参数必须是内存变量。当执行有参调用语句时,各个实参数据将依次传送给被调过程中用PARAMETERS指定的形式参数;当从被调过程返回时,形参的数据再依次传送给实参表中对应的变量。 由于任何主调程序都可以用一个〈实参表〉去调用同一个过程, 即被调过程中的〈形参表〉仅用于和主调程序建立数据传递的对应关系。 所以, 主调程序中的实参和被调过程中的形参,只要求两者的数量、 类型一致, 并不要求两者的名称相同。这就是把被调过程中的参数叫做形式参数的原因。 3. 有参调用过程举例 例 9.5编写一个程序文件, 要求: 每当从主调程序输入一个矩形的长、宽数据后,以矩形的长、宽作为实参调用计算矩形面积的内部过程,而矩形面积在主调程序输出; 当输入的矩形长、宽数据有一个为 0 时, 停止计算,返回FoxPro。其程序如下: CLEAR mj=0 DO WHIL .T.
您可能关注的文档
- 王老师--三级劳动关系管理(2011.5).ppt
- 现代文学(10章)茅盾.ppt
- 1轮复习42交流电.ppt
- 2012届浙江湘教版学海导航新课标高中总复习(第1轮)地理:模块1必修1第3章第4课常见的热力环流及其成因2.ppt
- 编译原理及其习题解答(武汉大学出版社)课件chap2.ppt
- 第4节+矩阵的分块(9.27).ppt
- 第四章 工程项目组织策划.ppt
- 汇金技术分析篇之K线及K线组合.ppt
- 君子之风用件.ppt
- 找到未来的超级大黑马.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)