当前位置:文档之家› grads-第九章

grads-第九章


内部函数
6、close (name) 、
关闭文件名为’name’的文件。如果 你想从一个刚写的文件中读取记录,那 么首先要调用’close’函数关闭该文件。 返还码是: 0 - 正常 1 - 文件没有打开
IF语句块 语句块
程序执行流程可以通过if/else/endif语句控 语句控 程序执行流程可以通过 形式为: 制,形式为:
IF 脚本语言语句 … else 脚本语言语句 … endif (表达式) 表达式)
(可不用) 可不用)
(必须使用) 必须使用)
IF语句块 语句块
必须写三个语句: 必须写三个语句: if (i=10) j = 20 endif 也可以在同一行上写这三个语句: 也可以在同一行上写这三个语句: if(i=10);j=20;endif; if语句块的执行依赖于表达式的结果,如果表 语句块的执行依赖于表达式的结果, 语句块的执行依赖于表达式的结果 达式的结果是一个0字符 结果为假), 字符( 达式的结果是一个 字符(结果为假), 部分就被执行, 则’else’部分就被执行,如果表达式的结果 部分就被执行 是 不为0的其它字符,则执行’if’部分。 不为 的其它字符,则执行’ 部分。 的其它字符 部分
脚本语言的组成
如果一个变量或字符串常数是一个具有 正确格式的数字,可以进行某些数学运 算,所得结果也是一个数字字符串。 在GrADS脚本语言中,有两个变量名由 其内部使用:'result' 和 'rc'。避免使用这 两个变量名。
运算
脚本语言中使用了下列运算符: 在GrADS脚本语言中使用了下列运算符: 脚本语言中使用了下列运算符
在脚本语言程序中执行GrADS命令 命令 在脚本语言程序中执行
♦ 可以在脚本语言环境中执行任何GrADS
命令,包括run命令。 ♦ 由执行run命令而产生的结果字符串将通 run 过’return’命令从“低层”的脚本语言程 序传递回“高一层”的程序中。 ♦ 可以一层一层地调用多个脚本语言程序, 但要能控制不出现死循环而返还主调程 序。
内部函数
4、read (name) 、
读函数,可以读取文件’name’中的一个记录(一 行),重复调用同一文件的’read’函数,将依次读 取 文件中的下一个记录。所得结果有两行,第一行是 返还码,第二行是所读记录。每个记录的长度不能 超过80个字符,可以使用'sublin'函数分离结果。 当第一次调用’read’函数读取一个指定文件时,这 个 文件就被打开,当描述语言程序执行终结时文件被 关闭。而在文件被多次调用过程中,始终保持打开 状态。
在脚本语言程序中执行GrADS命令 命令 在脚本语言程序中执行
2)脚本变量’rc’中则是 )脚本变量’ 中则是 中则是GrADS命令的返 命令的返 命令的 还 码。 变量中, ’result’变量中,可能包含几行 变量中 GrADS 结果字符串,这可以利用’ 结果字符串,这可以利用’sublin’函 函 数 分离。 分离。
赋值语句
赋值语句的格式为: 赋值语句的格式为: 变量名=表达式 变量名 表达式 表达式进行运算后,将结果赋予所指定的 表达式进行运算后, 变量。 变量。
人机对话语句
'say'语句的语法为: 语句的语法为: 语句的语法为 say 表达式 表达式的结果写在屏幕上 语句的语法为: ‘pull’语句的语法为: 语句的语法为 pull 变量名 程序运行到pull语句时,执行暂停等待用 语句时, 程序运行到 语句时 户键盘输入,按回车后, 户键盘输入,按回车后,输入的内容就赋 值给所指定的变量。 值给所指定的变量。
表达式
脚本语言的表达式包含运算对象、 脚本语言的表达式包含运算对象、运算符和括 运算对象 在运算过程中各种运算符的先后顺序 先后顺序为 号,在运算过程中各种运算符的先后顺序为: -, ! /, * +, % =, !=, >, >=, <, <= & |
表达式
如果运算符在同一优先级上,则从左向右计算。 如果运算符在同一优先级上,则从左向右计算。 运算对象可以是变量、 运算对象可以是变量、字符串常数或子程序函数 调用。 调用。 注意: )字符型常数用单或双引号括起来。 注意:1)字符型常数用单或双引号括起来。 而数值型常数可以不用引号括起来, 而数值型常数可以不用引号括起来,但GrADS 仍 字符串常数。 然认为是字符串常数 然认为是字符串常数。 下面是一个字符串常数的例子: 下面是一个字符串常数的例子: 'This is a string'
| & = != > >= < <= % + * / ! 逻辑变量: 逻辑变量:或 逻辑变量: 逻辑变量:和 等于 不等于 大于 大于等于 小于 小于等于 连结符 加 减 乘 除 一元否 一元负
运算
注意: 注意:
1)如果是数值运算对象,下列运算符可以用于 )如果是数值运算对象, 数值运算对象 数值运算: 数值运算: =, !=, >, >=, <, <=, +, -, *, / 2)如果是非数值运算对象,下列运算符在运算 非数值运算对象, )如果是非数值运算对象 时将出错: 时将出错: +, -, *, / 3)算术运算是以浮点形式进行的,如果结果是 )算术运算是以浮点形式进行的, 整数,那么结果字符串也是整数。 整数,那么结果字符串也是整数。 在逻辑运算中,如果结果为真, 在逻辑运算中,如果结果为真,给出一个字 符1,如果为假,给出一个字符 。 ,如果为假,给出一个字符0。
脚本语言的组成
1、一个脚本语言程序是由许多语句组成, 每个语句之间由换行号或分号分隔。 2 2、下面是GrADS脚本语言中语句的类型: GrADS 赋值语句 If / Else / Endif while / endwhile break / continue function header / return say / pull
表达式
2)有些情况下,连结运算符是隐含的, )有些情况下,连结运算符是隐含的 隐含 当两个运算对象并列靠在一起, 当两个运算对象并列靠在一起,中间 没有任何运算符时( 没有任何运算符时(中间可以有空 ),隐含着中间是一个连结符 隐含着中间是一个连结符。 格),隐含着中间是一个连结符。例 下列两个表达式是等价的。 如:下列两个表达式是等价的。 var1%var2%'String' var1 var2'String' 3)括号可以改变运算的先后顺序。 )括号可以改变运算的先后顺序。
脚本语言的组成
3、脚本表达式
脚本表达式是由运算对象和运算符 组成。 运算对象:脚本变量、子程序函数 或常数; 运算符:数学、逻辑或连结运算符。
脚本语言的组成
4、脚本语言变量 、
1)构成 变量名是由1至8个字符组成,以字母开头, 仅可以包含字母和数字,变量名区分大小写。 2)变量内容性质 内容总是一个字符串,在有些运算中,字符 串将被解释为数字。 如果一个变量没有被赋值,那么它的值就是 它的名字。
GrADS绘图与编程 绘图与编程
秦育婧
南京信息工程大学 大气科学学院
第九章 脚本语言及编程
学习目标 学会使用脚本语言编程
第九章 脚本语言及编程
学习要求 掌握流程控制、内部函数等
脚本语言概述
脚本语言( script language )是GrADS 软件包中自带的高级语言,可以用于 GrADS的高级操作,更 方便地使用 GrADS的功能。 通过脚本语言可以编写具有复杂功能的 命令集(即gs文件)。
WHILE 语句块
while语句块的格式为: 语句块的格式为: 语句块的格式为 while (表达式) 表达式) 描述语言语句 … endwhile 当表达式结果为真, 是一个不为0的字 当表达式结果为真,即:是一个不为 的字 循环就继续执行。 符,循环就继个脚本语言命令可以改变循环的执行, 另外两个脚本语言命令可以改变循环的执行, break可以立即中断循环,continue可以立即跳 可以立即中断循环, 可以立即中断循环 可以立即跳 到循环体的开头,并重新计算表达式的结果。 到循环体的开头,并重新计算表达式的结果。 例如: 例如: t=1 while (t<10) 'set t 't 'd z' if (rc!=0); break; endif; t=t+1 endwhile
在脚本语言程序中执行GrADS命令 命令 在脚本语言程序中执行
若指令语句仅仅包含一个表达式 则首先运算表达式, 则首先运算表达式,然后将结果字符串作 为命令提交给GrADS。 为命令提交给 。 注意:1)当语句被执行后,GrADS命令 注意: )当语句被执行后, 命令 的结果将输入到脚本变量’ 的结果将输入到脚本变量’result’(这 ( 的字符串是GrADS命令执行 时,’result’的字符串是 的字符串是 命令执行 后 显示在屏幕上的内容)。 显示在屏幕上的内容)。
函数及函数子程序
用户可以自己编制函数子程序, 用户可以自己编制函数子程序,也可 函数子程序 以使用脚本语言的内部函数 内部函数。 以使用脚本语言的内部函数。 在一般情况下, 在一般情况下,函数作为脚本语言的 表达式运算对象被调用。 表达式运算对象被调用。脚本语言函 数子程序总是得到一个单一的字符串 结果, 结果,但可以有一个或多个字符串自变 它的调用格式为: 量,它的调用格式为: name(arg,arg,arg...)
gs文件中的两类型语句 文件中的两类型语句
1)脚本语句:不用引号,需要经过编译的。 2)指令性语句:GrADS命令 命令,需用单引 命令 单引 号括起来。 脚本语言用到指令性语句中要用引号 i=1 ‘set t ‘i’’ (或者‘set t ’i )
脚本语言程序特点
相关主题