资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,审计脚本语言,-ASL,培训,北京中软国际信息技术有限公司,审计脚本语言(,ASL,)介绍,语法规则,算术运算符,逻辑运算符,界符,系统基本字(保留字),系统标示符(自定义系统函数及过程),审计脚本语言实例,目录,审计脚本语言介绍,审计脚本语言,ASL,(,Audit scrip language,)是基于,PASCAL,语言的基础之上开发一门专为审计人员书写审计方法的编程语言。审计脚本语言主体是,PASCAL,语言的子集,在此基础之上进行了数据库操作、图表输出等一系列功能扩展,其编写简单,结构清晰,可读性强,具备了一般高级语言的必备部分(如:,read,,,write,,,while-do,,,if-then,,,call,,,begin-end,,数组,过程,函数,赋值语句等,),语法规则,约束,语法规则,参数作用域,约束,变量、标示符、函数及过程名称一律使用英文字母开头,名称中可以使用英文和数字。,变量、标示符、函数及过程名称大小写不敏感。,一段程序中变量、过程不能超过,100,个。,数字最大位数为,24,位。,过程嵌套不超过,3,层。,一行程序不超过,5000,个字符,语法规则,语法规则近似于,Pascal,语言。,任何一段超过,1,行以上的程序需要使用,beginend,语句进行约束,表明那里时开始,哪里是结束。,每行程序以分号作为结束符。,全程序以,end.,作为结束,变量定义要在主程序的,begin,之前。,赋值语句使用,:=,为运算符,参数作用域,过程可以引用自己定义的局部参数,也可以引用包围它的外过程定义的局部参数。,例如:在过程,p,中可以使用过程外部定义的常量,c,d,和变量,a,。,const,c=10,d=100;,var,a;,procedure,p;,begin,if,a10,then,write,(c,);,if,a10,then,write,(d,);,end,;,begin,read,(a,);,call,p;,end,.,程序举例(圆面积计算程序),const p=3.14159265;/,常量说明部分,var,s,r;/,变量说明部分,begin /,程序主体开始,read(r,);/,读取一个数值到变量,r,中,while r0 do /,循环,直到,r=0,的时候结束循环,begin /,循环开始,s:=p*r*r;/,计算以,r,为半径的圆面积,结果存储到,s,中,write(s,);/,输出,s,的值,也就是刚刚计算出的圆面积,read(r,);/,重新需要用户输入一个值到,r,中,end;/,循环结束,返回对应的,while,语句行,end./,主程序结束,算术运算符,+,加号,-,减号,*,乘号,/,除号,:=,等于号(赋值符、算术表达式),大于,、,#,不等于,=,大于等于,逻辑运算符,=,等于,and,与,or,或,not,非,界符,,,逗号,变量界符。用来分隔函数和过程的参数,以及声明变量时分隔变量,;,分号,语句界符。用来做为每一行程序段的结束标志,.,句号,程序界符。用来表示程序全部结束,一般使用在最后一个,end,后,(),小括号,函数和过程的参数界符。,中括号,数组下标的界符,定义数组时使用,一般中括号中间添入该数组的下标,单引号,字符串的界符,单引号中间一般为字符串。如果想单独输入一个单引号字符,则需要,/,注释符,注释符号,,/,后的本行文字不影响程序执行。,var,变量定义基本字,描述其后面的字符为定义的变量。,var,a,x,mymun,;,const,常量定义基本字,描述其后面的字符为定义的常量。,const,pi=3.14159265,;,array,数组定义基本字,描述其后面的字符为定义的数组。使用时数组下标从,1,开始。,array,a10,b10,;,procedure,过程定义基本字,描述其后面的字符为定义的程序过程。,var,a,;,procedure,sum,;,begin,a,:,=a+1,;,write,(a,),;,end;,begin,a,:,=1,;,call,sum,;,end.,call,调用过程基本字,调用定义的一个过程。,系统保留字,begin,程序开始基本字,一段程序的开始标志。,var,a,b,;,begin,a,:,=1,;,b,:,=2,;,if,a0,then,begin,b:=,b+a,;,write,(b,),;,end;,end.,end,程序结束基本字,一段程序的结束标志。程序段结束,end,后面紧跟分号,全程序结束,end,后面紧跟句号。如过在,if,语句有,else,,则在,else,前的,end,不用跟随分号。,if,if-then-else,判断基本字。,if,条件,then,begin,处理语句,;,处理语句,;,end,else,begin,处理语句,;,处理语句,;,end,;,if,a0,then,write,(a,是正数,),;,-,if,a0,then,write,(a,是正数,),else,write,(a,是不是正数,),;,-,if,a=0,then,begin,a,:,=a+1,;,write,(a,是正数,),;,end,else,write,(a,是负数,),;,then,else,repeat,repeat-until,循环基本字。,repeat-until,循环是直到,until,后的条件满足循环就停止,repeat,处理语句,;,处理语句,;,until,条件,;,var,a,i,;,begin,i:=0;,repeat,a:=i*i;,write(a,);,i:=i+1;,until,i5;,end.,until,while,while-do,循环基本字,while,条件,do,begin,处理语句,;,处理语句,;,end,;,var,a,b,;,begin,b:=1;,while,b6000 then,break,;,b:=b+1;,end;,write(b,);,end.,do,break,循环中止基本字,read,录入基本字。,var,a,;,begin,read,(a,),;,if,a0,then,write,(a,是正数,),else,write,(a,是不是正数,),;,end.,write,输出基本字。,NewRead,用户录入基本字,(,提示输入参数值时显示的提示信息由用户自定义,),var,a,;,begin,a:=,NewR,ead,(,请输入数值,),;,write,(a,是正数,),;,end.,Var,InputNumber,;,begin,Read,(InputNumber,);,if,InputNumber,0,then,begin,if,InputNumber,0,then,begin,ShowMsg,(,你输入的是正数,);,End,else,begin,ShowMsg,(,你输入的是负数,);,end,;,end,else,begin,ShowMsg,(,你输入的是零,);,end,;,end,.,判断语句,输入一个数判断输入的数字是否为正数,正数显示你输入的数为正数;负数显示你输入的数为负数;,Var,InputNumber,TotalNumber,;,Procedure,DoCycle,;,Begin,TotalNumber,:=0;,Read(,InputNumber,);/,输入一个数字,while,InputNumber,0 do,/,循环条件输入的数字是正数,Begin,TotalNumber,:=,TotalNumber+InputNumber,;/,累加输入的数字,Read(,InputNumber,);/,输入一个数字,End;,End;,Begin,/,主程序,Call,DoCycle,;,/,调用过程,ShowMsg(,TotalNumber,);/,显示累计结果,End.,(,2,),循环语句,用户输入一个数字,如果是负数停止循环否则将数字累加并在最后将结果显示,系统标示符(自定义系统函数及过程),审计脚本语言(,ASL,)实例,参照培训文档,谢谢!,
展开阅读全文