- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GRADS (Grid Analysis and Display System)
讲义(10)
GrADS 描述语言及编程
描述语言概述
描述语言是GrADS软件包中自带的高级语言,可以用于GrADS的高级操作,更方便地使用GrADS的功能。通过描述语言可以编写具有复杂功能的命令集(即gs文件)。
二、gs文件中的两类型语句
1)描述语句:不用引号,需要经过编译的。
2)指令性语句:GrADS命令,需用引号括起来。
通过描述语句来控制指令
描述语言用到指令性语句中要用引号,即,
i=1
‘set t ‘i’’(或者‘set t ’ i )
三、描述语言程序特点
1、程序通过GrADS的run命令来编译执行;
run file-name options
2、可以有变量、流程控制也可以执行GrADS的命令。
3、描述语言可以
1)编写函数子程序,
2)制作屏幕菜单,
3)可以显示动画图形,
4)可以使用从GrADS的query命令中得到的信息作注释等。
3、描述语言的所有变量都是字符串型的,描述变量可以进行计算。流程控制是通过if/else/endif和while/endwhile语句块实现。循环过程可以用continue或break命令改变。变量中包含的或者由表达式结果产生的字符串可以作为GrADS命令项使用。而由GrADS命令执行后产生的文字结果可以读入变量并在描述语言程序中使用。描述语言也支持函数子程序功能。
四、描述语言的组成
1、一个描述语言程序是由许多语句组成,每个语句之间由换行号或分号分隔。
2、下面是GrADS描述语言中语句的类型:
赋值语句
If / Else / Endif
while / endwhile
break / continue
function header / return
say / pull
3、描述表达式
描述表达式是由运算对象和运算符组成。
运算对象:描述变量、子程序函数或常数;
运算符:数学、逻辑或连结运算符。
下面分别介绍变量、运算符、表达式
4、描述语言变量
1)构成
变量名是由1至8个字符组成,以字母开头,仅可以包含字母和数字,变量名区分大小写。
2)变量内容性质
内容总是一个字符串,
在有些运算中,字符串将被解释为数字。
如果一个变量没有被赋值,那么它的值就是它的名字。
如果一个变量或字符串常数是一个具有正确格式的数字,可以进行某些数学运算,所得结果也是一个数字字符串。
在GrAD描述语言中,有两个变量名由其内部使用:result 和 rc。尽量避免使用这两个变量名。
3)复合描述变量
描述语言现在支持复合变量,利用它可以在描述语言程序中构造数组。复合变量名可以是一个由“·”分隔的多个变量名的复合体。例如:
varname.i.j
这时,当变量内容被调用时,如果i和j也是变量,那么i和j的内容将会被i和j的字符串值所替代。例如:
i = 10
j = 3
varname.i.j = 343
在这个例子中,赋值语句相当于:
varname.10.3 = 343
注意:i和j的字符串值可以是任何字符,但varname必须遵循描述变量名的规则,即:由字母和数字组成,须字母打头。因此复合变量名被替代后可以是任何字符串:
i = a#$xx
varname.i = 343
以上表示是允许的,但不能直接将变量名写为:
varname.a#$xx = 343
在i、j变量被替代前后,
**复合变量名的整个长度不能超过16个字符。
**在GrADS描述语言中不能设置过多的变量,因此,不能利用复合变量产生一个大的数组,例如:
i = 1
while (i10000)
var.i = i
i=i+1
endwhile
上面的循环将产生10000个不同的变量名。如果设置了以上这样较大数目的变量,将影响描述语言的执行。
5、运算
在GrADS描述语言中使用了下列运算符:
| 逻辑变量:或
逻辑变量:和
= 等于
!= 不等于
大于
= 大于等于
小于
= 小于等于
% 连结符
+ 加
- 减
* 乘
/ 除
!
文档评论(0)