算法描述语言ADL

用算法描述语言ADL书写算法的格式及规定如下:

算法<算法名>(变量i1,···,变量in.变量j,···,变量jn)
      // <算法的概括说明>或者/* <算法的概括说明> */
   <步骤名>.[<本步骤的概括说明>]
            <操作1>//<操作1的解释>或者/*<操作1的解释>*/
                   或者(操作1的解释)或者<无解释>
             ···
             <操作J1> // <操作J1的解释>或者/* <操作J1的解释> */
                      或者(操作J1的解释)或者<无解释>
     ···
   <步骤名>.[<本步骤的概括说明>]
             <操作1> //<操作1的解释>或者/*<操作1的解释>*/
                     或者(操作1的解释)或者<无解释>
             ···
		     <操作Jk> // <操作Jk的解释>或者/* <操作Jk的解释> */
                      或者(操作Jk的解释)或者<无解释>▎
下面是对上述书写格式给出具体解释:

(1)关于“<算法名>(变量i1,···,变量in.变量j,···,变量jn)”的解释

 <算法名>是由字母和数字组成的有限字符串,并且字符串中的第一个符号必须是字母。
 在变量表中,变量ik为输入变量.1≤k≤m,m≥0,当m=O时.表示无输入变量;变量jk为输出变量,1≤k≤n,n≥1。

(2)关于<算法的概括说明>的解释

   在算法的变量表后对整个算法进行概括说明,说明中应包含算法的主要思想,对算法功能和其变量的解释等。

(3)关于算法步骤的解释

 算法的每一步骤都要有步骤名,步骤名由<算法名或算法名缩写><数字>组成。
 步骤名后面的方括号内是对该步骤所执行操作的高度概括。
 方括号后是本步骤的一系列操作,每个操作由ADL语句给出,若某操作难于理解则需在其后对其做出解释。

(4)关于符号“ ▎”的解释

 每个算法都需要用符号“ ▎”表示其被书写完毕,也就是说,符号“ ▎”作为对应算法被书写完毕的结束符。
 注意算法不一定在符号“I”处运行结束。

(5) 可使用的算术运算符

 +、-、*、x、/、DIV、MOD、L」(取地板运算,如Lx」的值是小于等于x的最大整数)、
 「](取天棚运算,如「x]的值是大于等于x的最小整数).....

(6)关系、逻辑运算符、逻辑常量、集合运算符

 可用的关系运算符(=、≠、<、>、≥、≤)逻辑运算符(AND OR NOT),逻排常量(true,false).集合运算符(∩、U、一(差)...)。

(7)结束符

 通常每条语句(或每个操作)都用".”作为结束符,但在能判断语句结束的位置可略去“.”。

(8)关于注释语句

注释语句有以下3种形式:
 1.较短的注释语句(注释内容不超过一行)用符号“//”开头,后面是具体注释的内容。
 2.较长的注释语句用符号“/*”开头,中间是具体注释的内容,用符号“*/”结尾。
 3.注释语句用左小括号“("开头,中间是具体的注释或说明内容,用右小括号“)”结尾。

(9)关于赋值语句

 形如a←b,其中a是变量,b是表达式或变量;
 a↔b表示交换变量a和变量b的内容;
 a←b←c,表示既将c的值赋给变量a,又将其值赋给变量b。

(10)关于条件语句

1.IF(或如果,或若)<逻辑表达式> THEN(或“,则”)(语句...语句m).
2.IF(或如果,或若)<逻辑表达式>
	THEN(或“,则")(语句...语句m).
	ELSE(或“;否则”)(语句...语句n).
其中m,n≥1。
3.CASE DO
		(<逻辑表达式 1>:(语句1...语句n).
		       ···
		<逻辑表达式m>:(语句...语句nm )).
其中,n≥1,m≥1,1≤i≤m。

(11)关于循环语句

	1.WHILE<逻辑表达式>DO(语句1. ..语句n).
其中,n≥1。
	2.FOR<变量>=<算术表达式1> T0<算术表达式2>STEP<算术表达式3>
				DO(语句1. ... 语句n).
其中,n≥1。若<算术表达式3>=1,则“STEP<算术表达式3>"可略去。
	3.FOR V<变量>∈<集合> DO (语句...语句n).路
其中,n≥1。

(12)关于转移语句

	GOTO<步骤名>.

(13)关于EXIT语句

		可用在通常的结束条件满足之前,用来结束WHILE或FOR循环的执行。
		EXIT语句使得程序转移到紧接在包含EXIT的(最内层的)WHILE或者FOR循环后面的第一个语句。

(14)关于RETURN语句

RETURN语句有两种表达形式:
	RETURN
或
	RETURN<表达式>
第一种表达形式表示没有返回值,直接返回;第二种表达形式表示返回表达式的值,并返回。
若算法在紧邻符号“ ▎”的操作处结束,RETURN语句通常被省略。

(15)关于圆括号

当且仅当圆括号中只有1条语句时,圆括号可以省略。

(16)关于输人、输出语句

输人语句为
	READ(x)
表示读取输人值赋给变量x。
输出语句为
	PRINT( <表达式>)
或
	PRINT<字符串常量>
  • 24
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值