伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(C,Java,Pascal)实现。因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。
伪代码的优点
算法中出现的数组、变量可以是以下类型:整数、实数、字符、字符串或指针。定义变量的语句不用写出来,但必须在注释中给出。
2.指令的表示
在算法中的某些指令或子任务可以用文字来叙述,例如,”设x是A中的最大项”,这里A是一个数组;或者”将x插入L中”,这里L是一个链表。这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。
3.表达式
算术表达式可以使用通常的算术运算符(+,-,*,/,以及表示幂的^)。逻辑表达式可以使用关系运算符=、≠、<、>、≤和≥,以及逻辑运算符与(and)、或(or)、非(not)。
4.赋值语句
赋值语句是如下形式的语句:a←b。这里a是变量、数组项,b是算术表达式、逻辑表达式或指针表达式。语句的含义是将b的值赋给a。
变量交换:若a和b都是变量、数组项,那么记号a<->b表示a和b的内容进行交换。
5.goto语句
goto语句具有形式:
gotolabel(goto标号)它将导致转向具有指定标号的语句。
6.分支结构
条件语句:
ifi=10thenxxxxelsexxxx//else和then要对齐//或者ifi=10thenxxxx//if后面必定跟上then,else后面不用跟thenelseifi=9//elseif要连在一起写thenxxxxyyyyelsexxxx//else跟在elseif的then对齐7.循环结构
有两种循环指令:while和for。
while语句的形式是:
whiletime<10doxxxxx//while后面必定要紧跟缩进的doxxxxxendfor语句的形式是:
forvarinittolimitbyincr dosend这里var是变量,init、limit和incr都是算术表达式,而s是由一个或多个语句组成的语句串。初始时,var被赋予init的值。假若incr≥0,则只要var≤limit,就执行s并且将incr加到var上。(假若incr<0,则只要var≥limit,就执行s并且将incr加到var上)。incr的符号不能由s来该改变。
8.程序的结束
exit语句可以在通常的结束条件满足之前,被用来结束while循环或者for循环的执行。exit导致转向到紧接在包含exit的(最内层)while或者for循环后面的一个语句。
return用来指出一个算法执行的终点;如果算法在最后一条指令之后结束,它通常是被省略的;它被用得最多的场合是检测到不合需要的条件时。return的后面可以紧接被括在引号的信息。
9.注释风格
算法中的注释被括在/**/之中。
10.函数的编写
函数的伪代码格式例子为:search(A,name),参数类型可以不给出,但必须在注释中说明。
伪代码:
x←0y←0z←0whilex x=y=z=0;while(z