- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 程序与程序文件;;;;;2.5程序的基本结构;;;二、循环结构
1、DO WHILE- ENDDO
DO WHILE 条件
命令序列
[LOOP] [EXIT]
ENDDO
1) 执行到Do while 时,计算条件表达式的值;
(2) 若条件表达式的值为假,则结束Do while语句,即跳过Do while与EndDo之间的命令,执行EndDo后面的命令;
(3) 若条件表达式的值为真,则执行Do while后面的命令,其执行的情况依下述条件而定:
若遇到EndDo短语,控制返回到Do while,继续执行下一次循环;
若遇到Loop短语,控制返回到Do while,继续执行下一次循环;
若遇到Exit短语,结束Do while循环,程序从Do while –EndDo循环中跳出,转到EndDo后面的命令继续执行。
;;;;;;;2.6 多模块程序设计;;;;;二、参数传递
模块程序可以接收调用程序传递出来的参数,并能够根据接收到的参数控制程序流程或对接收到的参数进行处理。若形参个数多于实参个数则,剩下的按逻辑假.F.处理。
接收参数的命令有:
Parameters 形参变量1[,形参变量2……]
声明的变量被看作是模块程序中的私有变量
Lparameters 形参变量1[,形参变量2……]
声明的变量被看作是模块程序中的局部变量
调用模块的格式:
1.Do 文件名|过程名 with 实参1[,实参2……]
如果实参是常量或表达式,自动为值传。如果是变量则是地址传,即形参和实参实际是同一个变量,只是名字不一样。
2.文件名|过程名(实参1[,实参2……])
默认情况下为值传递,也可使用命令来改变传递方式。
Set udfparams to value|reference
;例:Clear
Store 100 to x1,x2
Set udfparams to value
Do p4 with x1,(x2)
?”第一次:”,x1,x2
Store 100 to x1,x2
P4(x1,(x2))
?”第二次调用”,x1,x2
Set udfparams to reference
Do p4 with x1,(x2)
?”第三次调用”,x1,x2
Sore 100 to x1,x2
P4(x1,(x2))
?”第四次调用”,x1,x2
Procedure p4
Parameters x1,x2
store x1+1 to x1
store x2+1 to x2
End proc
;还可以在调用程序和被调用程序之间传递数组。当实参是数组元素时,总是采用按值传递的方式传送元素的值。当实参为数组名时,若是传递方式为按值传递,则传送的是第一个元素的值给虚参;若是传递方式为引用传递,那么传递的是整个数组。;例:传递整个数组
dimension s(10)
for i=1 to 10
s(i)=i
endfor
do p5 with s
?s(1),s(2),s(3),s(4),s(5),s(6),s(7),s(8),s(9),s(10)
return
procedure p5
parameters x
for i=1 to 5
t=x(i)
x(i)=x(11-i)
x(11-i)=t
endfor
return;三、变量的作用域
1.公共变量
PUBLIC 内存便来能够表
公共变量一旦建立就一直有效,即使程序运行结束返回命令窗口也不会消失。只有 当执行clear memory,release ,quit命令后,公共变量才被释放.
2.私有变量
在程序中直接使用(没有事先声明)而由系统自动隐含建立的变量都是私有变量。作用域是建立它的模块及其下属的各模块。一但建立它的模块程序运行结束,这些私有变量将自动清除。
3.局部变量
Local 变量名表
局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用 。当建立它的模块程序运行结束时,局部变量自动释放。;例:全局变量、私有变量、局部变量作用域示例
Public x1
Local x2
Store ‘F’ to x3
Do p6
?’主程序中……’
?’x1=’,x1
?’x2=’,x2
?’x3=’,x3
Return
Procedure p6
?’子程序中……’
?’x1=’,x1
?’x3=’,x3
return;;;Local 命令在建立局部变量的同时,也具有隐藏在上层模块中建立的同名变量的值的作用。但与private命令不同,local命令只在它所在的模块内隐藏这些同名变量,一旦到了下层模块,这些同名变量就会重新出现。;例:
Public x,y
X=10
Y=100
Do
原创力文档


文档评论(0)