grads第7章 描述语言与编程

上传人:101****457 文档编号:107878052 上传时间:2019-10-21 格式:PPT 页数:32 大小:1.44MB
返回 下载 相关 举报
grads第7章 描述语言与编程_第1页
第1页 / 共32页
grads第7章 描述语言与编程_第2页
第2页 / 共32页
grads第7章 描述语言与编程_第3页
第3页 / 共32页
grads第7章 描述语言与编程_第4页
第4页 / 共32页
grads第7章 描述语言与编程_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《grads第7章 描述语言与编程》由会员分享,可在线阅读,更多相关《grads第7章 描述语言与编程(32页珍藏版)》请在金锄头文库上搜索。

1、第7章 GrADS 描述语言及编程,描述语言是GrADS软件包中自带的高级语言。通过描述语言,如if/else/endif和while/endwhile语句块,可以进行流程控制,实现较为复杂的绘图控制功能。 编写具有复杂功能的gs命令集(即“*.gs”文件),由“run”命令来编译执行。,描述语言是GrADS软件包中自带的高级语言。通过描述语言,如if/else/endif和while/endwhile语句块,可以进行流程控制,实现较为复杂的绘图控制功能。 编写具有复杂功能的gs命令集(即“*.gs”文件),由“run”命令来编译执行。 新建一个文本文档,编写程序后将其保存为draw.uv.g

2、s ga- run d:draw.uv.gs ga- d:draw.uv.gs,7.1 描述语言概述,*.gs文件中可以包括两种类型的语句: 描述语句:不用引号,需要经过编译。 指令性语句:GrADS命令,需用引号括 起来。,注意:描述语言用到指令性语句中要用引号。 例如: i=1 赋值语句(描述语句) set t i(或者set t i 空格) (命令语句) 注释行:以*号开始,不用引号括起来,7.2 描述语言的构成,表达式:变量、常量和函数; 语句:赋值语句、选择控制语句、循环语句。,1. 变量,变量名:由1至8个字符组成,以字母开头,仅包含字母和数字,变量名区分大小写。 注意:在GrAD

3、S描述语言中,有两个变量名由其内部使用:result 和 rc。不要使用这两个变量名。 变量名=数值/字符串/变量名 (描述语言的变量内容都是字符串型的) 如果一个变量没有被赋值,那么它的值就是它的名字。,例如: iyear=1948 imo=jan ta=26 tb=31 set z 1 d ave(v,time=taimoiyear,time=tbimoiyear) 在有些运算中,如果一个变量或字符串常数是一个具有正确格式的数字,则其将被解释为数字,可以进行某些数学运算,所得结果也是一个数字字符串。,复合描述变量: 可以在描述语言程序中构造数组。复合变量名可以是一个由“”分隔的多个变量名的

4、复合体。例如: varname.i.j 如果i和j也是变量,那么i和j的内容将会被i和j的字符串值所替代。 i = 10 j = 3 varname.i.j = 343 在这个例子中,赋值语句相当于: varname.10.3 = 343,在i、j变量被替代前后,复合变量名的整个长度不能超过16个字符。 在GrADS描述语言中不能设置过多的变量,因此,不能利用复合变量产生一个较大的数组,例如:,i = 1 while (i=10000) var.i = i i=i+1 endwhile,显示1-3月的图和标题,t.1=Jan;t.2=feb;t.3=mar i=1 while(i=3) set

5、 lev 850 set t i set lon 70 140 set lat 10 60 set gxout vector d v;v.2 draw title uv for t.i print c i=i+1 endwhile,2. 运算符,| 逻辑变量:或 & 逻辑变量:和 = 等于 != 不等于 大于 = 大于等于 小于 = 小于等于 % 连结符 + 加 - 减 * 乘 / 除 ! 一元否 - 一元负,下面的运算符可用于数字对象的数字运算: =,!=,=,=,+,-,*,/ 算术运算以浮点进行,如果结果为整型数,则结果字符串是整型的。 下面运算符处理非数字对象操作,结果为错 :+,-,

6、*,/ 逻辑运算符取字符 0 表示结果为假(false) ,字符 1 表示结果为真(true) 。,3. 表达式,表达式包含运算对象、运算符和括号。,在运算过程中各种运算符的先后顺序为:,-, ! /, * +, - % =, !=, , =, , = & |,同优先级的运算,顺序从左到右。,字符串常数用单或双引号括起来,例如“This is a string”即是一个字符串常数。 数字常数不用引号,但认为是字符串常数。,h=1 while(h=5) ta=1+5*(h-1) tb=5+5*(h-1) h=h+1 endwhile,4.函数name(arg,arg,arg.),函数名:遵循变量

7、名的命名规则,参数arg可以是表达式。 描述语言函数总是得到一个单一的字符串结果,但可以有一个或多个字符串自变量。 它的调用格式为: name (arg, arg, arg, ) 如果函数没有参数,仍必须写出一对空括号,例如:name()。,通过函数子程序的定义语句在你的描述语言程序中构造自己的函数: function name(variable, variable, .) 要回到调用处,使用return语句: return(expression) 函数的结果用 return 命令的 expression 表达式给出的结果。,GrADS一些常用的自带脚本:run *.gs 参数,当一个函数被调

8、用时,首先计算实参(函数被调用时的参数)的数值,然后执行函数子程序,将实参的数值传输给函数定义中形参变量(函数被定义时的参数)作为其初始值。 如果实参个数少于形参,则其余的形参初始没有值;如果实参个数多于形参,则多余的实参被舍弃。 函数中的变量一般是局部变量,其值不带出函数,只有用全局变量(下划线“_”打头的变量)可将其值带出函数之外供全局使用。,_global = 1,5. 语句,赋值语句 赋值语句的格式为: 变量名=表达式 表达式进行运算后,将结果赋予所指定的变量。 h=2 ta=1+5*(h-1),人机对话语句,“say”语句的格式为: say 表达式 表示将表达式的结果写到终端屏幕上。

9、 “pull”语句的格式为: pull 变量名 当程序运行到pull语句时,执行暂停等待用户从键盘输入字符串(直到回车为止),输入的内容将赋值给所指定的变量。 pull dummy 等待打回车,回车后进行其后命令,if语句,IF (表达式) 描述语言语句 描述语言语句 else (可不用) 描述语言语句 描述语言语句 endif (必须使用),注意: 下列语句是错误的: if (i=10) j=20 必须写三个语句: if (i=10) j = 20 endif 也可以在同一行上写这三个语句: if(i=10);j=20;endif;,while语句,while (表达式) 描述语言语句 描述

10、语言语句 endwhile 当表达式结果为真,即:是一个不为0的字符,循环就继续执行。,lon1=0 lon2=357.5 lat1=-90 lat2=90 iyear=1948 while(iyear=2002) say iyear pull dummy m=1 while(m=12),if(m=1) imo=jan h=1 while(h=5) ta=1+5*(h-1) tb=5+5*(h-1) z=1 set z z set lat lat1 lat2 set lon lon1 lon2 d ave(v,time=taimoiyear,time=tbimoiyear) h=h+1 end

11、while endif,m=m+1 endwhile iyear=iyear+1 endwhile,另外两个描述语言命令可以改变循环的执行: break可立即终止循环,跳出循环体; continue立即回到循环体的开头,并重新计算表达式的结果。 例如:,t = 1 while (t10) set t t display z if (rc=0); break; endif; t = t + 1 endwhile,变量“rc”被赋予 GrADS 命令执行的返回码(总是一个整型数值),open e:grads1.ctl set lat 0 90 set lon -180 0 set lev 500

12、enable print e:htry.gmf i=1 while(i=5) set t i d z print c i=i+1 endwhile disable print,6.内部函数,substr (string, start, length) 功能:在字符串string中从位置start开始 截取长度为length的子字符串。如果 字符串string太短,结果字符串就短 于length或得到一个空字符串。 注意:这里,start 和length必须是整的字 符数目。,例如: x=substr(how are you,4,7) draw string 5.0 5.0 x 结果在页面指定位置处就会显示所截取的字符串“are you”。,subwrd (string, word) 功能:从字符串string中截取第word个词(词与 词之间由空格分隔)。 如果字符串string太短,结果是一个空字符串。 word必须是整数。 例如: x=subwrd(how are you,3) 结果是将字符串“how are you”中的第3个单词“you”作为新的字符串赋值给变量x。,sublin (string, line) 功能:这个函数可以从字符串string中截取第line 行的字符串。 如果字符串string行数太少,结果是一个空字符串。 line必须是整数。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号