资源描述:
《第7章 GrADS 描述语言及编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章GrADS描述语言及编程描述语言是GrADS软件包中自带的高级语言。通过描述语言,如if/else/endif和while/endwhile语句块,可以进行流程控制,实现较为复杂的绘图控制功能。7.1描述语言概述*.gs文件中可以包括两种类型的语句:描述语句:不用引号,需要经过编译。(类似其他高级语言)指令性语句:GrADS命令,需用引号括起来。注意:描述语言用到指令性语句中要用引号。例如:i=1赋值语句‘sett‘i’’(或者‘sett’i空格)7.2描述语言的构成表达式:变量、常量和函数;语句:赋值
2、语句、选择控制语句、循环语句。1.变量变量名:由1至8个字符组成,以字母开头,仅包含字母和数字,变量名区分大小写。注意:在GrAD描述语言中,有两个变量名由其内部使用:'result'和'rc'。尽量避免使用这两个变量名。变量名=数值/字符串/变量名n(描述语言的变量内容都是字符串型的)复合描述变量:可以在描述语言程序中构造数组。复合变量名可以是一个由“·”分隔的多个变量名的复合体。例如:varname.i.j如果i和j也是变量,那么i和j的内容将会被i和j的字符串值所替代。例如:i=10j=3varname
3、.i.j=343在这个例子中,赋值语句相当于:varname.10.3=3432.运算符
4、逻辑变量:或&逻辑变量:和=等于!=不等于>大于>=大于等于<小于<=小于等于%连结符+加-减*乘/除!一元否-一元负3.表达式表达式包含运算对象、运算符和括号。在运算过程中各种运算符的先后顺序为:-,!/,*+,-%=,!=,>,>=,<,<=&
5、4.函数name(arg,arg,arg...)函数名:遵循变量名的命名规则,参数arg可以是表达式。如果函数子程序没有自变量,仍然需要写上一对括号:name()通过函数子程
6、序的定义语句在你的描述语言程序中构造自己的函数:functionname(variable,variable,...)要回到调用处,使用return语句:return表达式5.语句赋值语句赋值语句的格式为:变量名=表达式表达式进行运算后,将结果赋予所指定的变量。if语句IF(表达式)描述语言语句描述语言语句……else(可不用)描述语言语句描述语言语句……endif(必须使用)注意:下列语句是错误的:if(i=10)j=20必须写三个语句:if(i=10)j=20endif也可以在同一行上写这三个语句:if(
7、i=10);j=20;endif;while语句while(表达式)描述语言语句描述语言语句……endwhile当表达式结果为真,即:是一个不为0的字符,循环就继续执行。6.内部函数substr(string,start,length)功能:在字符串’string’中从位置’start’开始截取长度为’length’的子字符串。如果字符串’string’太短,结果字符串就短于’length’或得到一个空字符串。注意:这里,'start'和'length'必须是整的字符数目。subwrd(string,word
8、)功能:从字符串’string’中截取第’word’个词(词与词之间由空格分隔),如果字符串’string’太短,结果是一个空字符串。'word'必须是整数。sublin(string,line)功能:这个函数可以从字符串’string’中截取第’line’行的字符串,如果字符串’string’行数太少,结果是一个空字符串。'line'必须是整数。7.3程序举例循环输出5天高度场的图,并存于文件中'opene:grads1.ctl''setlat090''setlon-1800''setlev500''e
9、nableprinte:htry.gmf'i=1while(i<=5)'sett'i'dz''print''c'i=i+1endwhile'disableprint'画出500hPa第一天高度场图(在低压中心位置,标注字符D)'opene:grads1.ctl''setlat090''setlon-1800''setlev500''sett1''dz''qw2xy-8473'x1=subwrd(result,3)y1=subwrd(result,6)'setstring7c80''setstrsiz0.
10、2''drawstring'x1''y1'D';