算法描述
对设计出的算法,用一种方式进行详细的描述
算法描述(Algorithm Description )是指对设计出的算法,用一种方式进行详细的描述,以便与人交流。算法可采用多种描述语言来描述,各种描述语言在对问题的描述能力方面存在一定的差异,可以使用自然语言、伪代码,也可使用程序流程图,但描述的结果必须满足算法的五个特征。
简介
算法可采用多种描述语言来描述,例如,自然语言、计算机语言或某些伪语言。各种描述语言在对问题的描述能力方面存在一定的差异。例如,自然语言较为灵活,但不够严谨。而计算机语言虽然严谨,但由于语法方面的限制,使得灵活性不足。因此,许多教材中采用的是以一种计算机语言为基础,适当添加某些功能或放宽某些限制而得到的一种类语言。这些类语言既具有计算机语言的严谨性,又具有灵活性,同时也容易上机实现,因而被广泛接受。目前,许多“数据结构”教材采用类PASCAL语言、类C++或类C语言作为算法描述语言。
算法的特征
功能
输入和输出语句
(1)输入:cin>>X;
其功能是读入从键盘输入的一个数,并赋给相同类型的变量X。其中变量X的类型可以是整型浮点型、字符型等不同类型。
该语句可用下面的形式同时输入多个不同类型的变量
cin>>x1>>x2>>x3>>x4>>x5;
(2)输出:cout<
其功能是将表达式exp的值输出到屏幕上。其中表达式exp的类型可以是整型、浮点型、字符型等不同类型。
该语句可用下面的形式同时输出多个不同类型的表达式的值。
cout<
最小值和最大值函数min和max
(1)最小值函数:datatype min(datatype expl,datatype exp2,…,datatype expn);
返回表达式expi(i=1,2,…,n)中的最小的值。其中元素类型datatype可以是各种类型。
(2)最大值函数:datatype max(datatype expl,datatype exp2,…,dalatype expn);
返回表达式expi(i=1,2,…,n)中的最大的值。
交换变量的值
x1<= =>x2;交换变量x1和x2的值。
注释
在双斜线“//”后面的内容就是注释的内容。例如,下面语句的右面就是一个注释。
A[i]=i*i; //此处为注释内容
程序错误输出提示
error(”exp”);
语句形式
语法形式
算法描述语言的语法不是十分严格,它主要由符号与表达式赋值语句、控制转移语句、循环语句、其他语句构成。符号命名、数学及逻辑表达式一般与程序书写一致。赋值用箭头表示。语句可有标识,标识可以是数字,也可以是具有实际意义的单词。例如,循环累加可表示为:
loop:n=n+1;
控制转移语句
无条件转移语句用“GOTO语句标识”表示。条件转移语句用“IF C THEN S1 ELSE S2”表示,其中C、S1和s2可以是一个逻辑表达式,也可以是用“{”与“}”括起来的语句组。如果C为“真”,则S1被执行;如果C为“假”,则执行S2。
循环语句
循环语句有两种形式:WHILE语句的形式为“WHILE C DO S”,其中C和S意义同上。如果C为“真”,则执行S,且在每次执行S之后都要重新检查C;如果C为“假”,控制就转到紧跟在WHILE后面的语句。FOR语句的形式为“FOR i=init TO limit BY step DO S”,其中i是循环控制变量,init、limit和step都是算术表达式,而S意义同上。每当S被执行一次时,i从初值加步长,直到i>limit为止。
其他语句
在算法描述中,还可能要用到其他一些语句,因为它们都是用最简明的形式给出的,故很容易知道它们的含义。例如,EXIT语句、RETURN语句、READ(或INPUT)语句和OUTPUT(或PRINT、或WRITE)语句等。
参考资料
最新修订时间:2022-08-25 14:39
目录
概述
简介
算法的特征
参考资料