资源描述:
《要求分析和规格说明.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途一、要求分析和规格说明1、PL语言分析相对于PASCAL和PS语言而言,PL语言是一种定义非常狭窄的小的程序设计语言,它的简单类型仅有整型(integer)和布尔型(Boolean),过程定义不能有参数,a)符号:保留字:BooleanProcarraybegincallconstdoendfalsefiifintegerodreadskiptruewrite专有符号:->*:=,/=>[(<-~|+)];&[]数字数字是十进制整数,范围从—32767到32767。标识符
2、由字母开头的,后跟0个或多个字母或数字组成.b)数据类型:PL具有有两种基本数据类型,整型integer和布尔类型Boolean.结构类型只有数组,不可以定义自己新的数据类型。c)程序结构:得到一个PL程序是〈分程序〉后跟有一个句号(圆点)的程序.分程序有定义部分DP和语句部分SP组成:beginDPSPend;分程序描述了在命名对象上的操作。对象是一个常量、变量或过程(类型由保留字表示).每个对象有定义说明。不存在标准对象。作用域规则与PS相同.分程序内每个操作产生其内定义的变量的一个新实例。分
3、程序的定义部分是后跟有分号的定义的序列:D1;D2;…Dn;例如:beginconsta=1;$常量部分integerb;$变量定义b:=10;$数值输出end。d)常量定义一般形式:const<常量名>=〈常量>常量定义说明常量的名字:constn=100e)变量定义一般形式:<类型符〉〈变量表>个人收集整理勿做商业用途或:<类型符〉array<变量表〉[常量]前者是定义一般变量,后者是定义数组变量。数组的常量必须是自然数1,2,……,n。它代表要定义的数组的元素个数,而数组的下标是从1开始的。
4、例:integera,b,c;integerA[10];$定义有10个元素的数组变量APL遵循变量先定义后使用的规则,而且在同一个作用域范围内不允许有相同的变量名。但不同作用域变量名可以相同。也不能用PL的保留字做变量名。a)过程定义说明一般形式:Proc<过程名〉<分程序>PL的过程遵循先定义后使用的规则,而且在同一个作用域范围内不允许有相同的过程名。但不同作用域过程名可以相同。也不能用PL的保留字做过程名。Procwrite$错误,这是PL的标准过程,不能重定义b)PL的语句空语句:一般形式:
5、skip;它表示什么也不做。读语句一般形式:read〈变量访问表〉;其中变量访问表:〈变量访问〉{,<变量访问>}它是PL的标准过程,也是唯一的一条输入语句。表示输入一个或多个整数并赋值给相应变量。例:reada,b,c;写语句一般形式:write<表达式表〉;其中表达式表:<表达式>{,<表达式表〉}它是PL的标准过程,也是唯一的一条输出语句。表示输出一个或多个由表达式定义的整数.例:writea,b,c*d,100;赋值语句一般形式:<变量访问表>:=〈表达式表>;PL的赋值语句具有并行赋值的
6、特点.例:a,b:=1,x+y;它表示依次把右边的表达式的值分别赋给左边对应的变量.上例就是把1赋给变量a,把x+y的值赋给变量b。过程语句一般形式:call〈过程名>;它表示调用用户自己定义过程,PL规定过程必须是先定义后使用的。个人收集整理勿做商业用途if语句一般形式:if〈警戒命令表〉fi;其中警戒命令表:〈警戒命令>{[]〈警戒命令>}警戒命令:<表达式〉-><语句部分>PL依次检测各警戒命令,如果表达式的值为true则执行相应的语句部分,然后忽略其余警戒命令,执行if后面的语句。如果所有
7、表达式的值均为false这发出“if语句逻辑错误”的提示并终止程序的执行.例:ifa>b—〉t:=a;[]a〈b->t:=b;fi;do语句一般形式:do<警戒命令表>do;其中警戒命令表:<警戒命令>{[]〈警戒命令〉}警戒命令:<表达式〉->〈语句部分>PL依次检测各警戒命令,如果表达式的值为true则执行相应的语句部分,然后重新检测各警戒命令,直到所有表达式的值均为false才继续执行do后面的语句。例:doi〉100—〉readi;od文档为个人收集整理,来源于网络a)程序注释PL的注释以
8、“$"字符开头,直到本行末为止。例如:beginI:=90;$这里也是程序的注释end.b)运算PL有下列四种运算与或运算:&:与运算,只有当两个布尔值均为true结果才为true|:或运算,只要其中一个布尔值为true结果就为true关系运算:PL的关系运算和关系运算符有<=>运算的结果为布尔值加减运算加减运算+—参加运算的两个操作数和结果均为整数。乘除运算乘除运算*/参加运算的两个操作数和结果均为整数。 *:两个数相乘 /