- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GRIP例题
GRIP例题
子程序及其调用
规定:1) 以PROC/语句开始
2)以RETURN语句结束
3)必须由主程序或其它子程序调用才起作用
例:$$ Subroutine name: sub1.grs
$$ Abstract:
PROC/ent, sp(3), ep(3)
ENTITY/ent
NUMBER/sp(3), ep(3)
sp = SPOINT (ent) $$起点的(x, y, z)坐标
ep = EPOINT (ent) $$终点的(x, y, z)坐标
RETURN
写主程序
$$主程序名:Proc1. grs
$$被调用的子程序sub1.grs
$$
ENTITY/net
NUMBER/a(3), b(3)
MASK/3
ld:
IDENT/’Pick line’, ent, resp
JUMP/ld:,trm, resp
CALL/’sub1’, ent, a, b $$调用子程序sub1
PRINT/a,b
MASK/all
trm:
HALT
子程序的一般格式:
PROC[/形式参数表]
变量申明语句
子程序主体
RETURN $$可以有多个RETURN
主程序的调用命令CALL/′子程序′〔,实际参数表〕 $$虚实结合传递数据
ⅰ.子程序的形式参数可以是ENTITY,STRING,NUMBER等变量名,也可以是一般变量。
ⅱ.子程序/主程序分开编译,通过GRIP的LINK链接。子程序调用数量最多不超过50个。
ⅲ.虚元和实元之间的类型一一对应(一般要求)个数相等。
例:sub2.grs
PROC/x, y, n, nf
NUMBER/x (3), y (3), n,nf (3)
IFTHEN/x (1) = 0 or y (1) =0
DO / Loop1:, i, 1, 3
nf (i) = x (i) + y (i)
Loop1:
RETURN
ENDIF
IFTHEN/ x (1) <y (1)
DO / Loop2:, i, 1, 3
nf (i ) = x (i ) + 1
Loop2:
RETURN
ELSE
DO / Loop3:, i, 1, 3
nf (i) = x (i) **n + y (i) **n
Loop3:
RETURN
ENDIF
HALT
实元的字符串变量的维数、大小应大于或等于虚元的字符串变量的维数和大小:
ENTITY / ln1,pt( 4 )
NUMBER / abc(3),cdf(3),num (5) $$实元说明
DATA / abc,10,15,21
DATA / cdf,25,30,10
DATA / num,1.5,2.0,2.5,3.0,3.5
nba=2.0
CALL/ ‘sub2’,abc, cdf, nba, num (1..3) $$调用子程序
HALT
虚实结合调用,简单变量可以不说明
5.3.3 GRIP交互式操作编程
见书 P118
‘Add layers’, ‘Remove layers’, $
‘Delete category’, ‘Enter/change CAT description’,$
‘ Remove category description’
DATA / catvar, 0, 0, 0, 0, 0
$$
l1:
MCHOOSE/‘SELECT CAT OPTIONS’,catstr, catvar, rsp
JUMP / l1:, hal:, , , rsp
PRINT / catvar
MESSG / TEMP, ‘ demos MCHOOSE statement’
hal:
HALT
运行结果:
例:给多个参数交互式赋值
DATA / hzds, 12.0, hzn, 6, vtds, 25.0, vtn, 5, dia, 2.4
l10:
PARAM / ‘RECT, HOLE DATA’, $
‘ARRAY HZDS’, hzds, $
‘ NO. HORIZ’ ,INT, hzn, $
文档评论(0)