• 首页>范文 > 范文
  • 伪代码怎么写

    1.伪代码怎么写

    伪代码(Pseudocode)是一种算法描述语言。

    使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。

    介于自然语言与编程语言之间。 它以编程语言的书写形式指明算法的职能。

    相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。

    我们可以将整个算法运行过程的结构用接近自然语言的形式(这里,你可以使用任何一种你熟悉的文字,中文,英文 等等,关键是你把你程序的意思表达出来)描述出来. 使用伪代码, 可以帮助我们更好的表述算法, 不用拘泥于具体的实现. 人们在用不同的编程语言实现同一个算法时意识到,他们的实现(注意:这里是实现,不是功能)很不同。尤其是对于那些熟练于不同编程语言的程序员要理解一个(用其他编程语言编写的程序的)功能时可能很难,因为程序语言的形式限制了程序员对程序关键部分的理解。

    这样伪代码就应运而生了。 当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。

    计算机科学在教学中通常使用虚拟码,以使得所有的程序员都能理解。 综上,简单的说,让人便于理解的代码。

    不依赖于语言的,用来表示程序执行过程,而不一定能编译运行的代码。在数据结构讲算法的时候用的很多。

    2.伪代码的写法

    类Pascal语言的伪代码的语法规则是: 在伪代码中,每一条指令占一行(else if,例外)。

    指令后不跟任何符号(Pascal和C中语句要以分号结尾)。 伪代码实例如下: IF 九点以前 THEN do 私人事务; ELSE 9点到18点 THEN 工作; ELSE 下班; END IF 这样不但可以达到文档的效果,同时可以节约时间。

    更重要的是,使结构比较清晰,表达方式更加直观。 伪代码(Pseudocode)是一种算法描述语言。

    使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。

    介于自然语言与编程语言之间。 它以编程语言的书写形式指明算法的职能。

    相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。

    我们可以将整个算法运行过程的结构用接近自然语言的形式(这里,你可以使用任何一种你熟悉的文字,中文,英文 等等,关键是你把你程序的意思表达出来)描述出来。使用伪代码, 可以帮助我们更好的表述算法,不用拘泥于具体的实现。

    3.伪代码的写法

    类Pascal语言的伪代码的语法规则是: 在伪代码中,每一条指令占一行(else if,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。

    伪代码实例如下:

    IF 九点以前 THEN

    do 私人事务;

    ELSE 9点到18点 THEN

    工作;

    ELSE

    下班;

    END IF

    这样不但可以达到文档的效果,同时可以节约时间。更重要的是,使结构比较清晰,表达方式更加直观。

    伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。

    它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。

    我们可以将整个算法运行过程的结构用接近自然语言的形式(这里,你可以使用任何一种你熟悉的文字,中文,英文 等等,关键是你把你程序的意思表达出来)描述出来。使用伪代码, 可以帮助我们更好的表述算法,不用拘泥于具体的实现。

    4.伪代码的写法

    伪代码的语法规则在伪代码中,每一条指令占一行(else if 例外,),指令后不跟任何符号(Pascal和C中语句要以分号结尾);书写上的“缩进”表示程序中的分支程序结构。

    这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进;例如:line 1line 2sub line 1sub line 2 sub sub line 1 sub sub line 2sub line 3line 3而在Pascal中这种关系用begin和end的嵌套来表示, line 1 line 2 begin sub line 1 sub line 2 begin sub sub line 1 sub sub line 2 end; sub line 3 end; line 3在C中这种关系用{ 和 } 的嵌套来表示, line 1 line 2 { sub line 1 sub line 2 { sub sub line 1 sub sub line 2 } sub line 3 } line 3 在伪代码中,通常用连续的数字或字母来标示同一即模块中的连续语句,有时也可省略标号。

    例如: 1. line 1 2. line 2 a. sub line 1 b. sub line 2 1. sub sub line 1 2. sub sub line 2 c. sub line 3 3. line 3符号△后的内容表示注释;在伪代码中,变量名和保留字不区分大小写,这一点和Pascal相同,与C或C++不同;在伪代码中,变量不需声明,但变量局部于特定过程,不能不加显示的说明就使用全局变量;赋值语句用符号←表示,x←exp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值i←j←e是将表达式e的值赋给变量i和j,这种表示与j←e和i←e等价。例如:x←yx←20*(y+1)x←y←30以上语句用Pascal分别表示为: x := y; x := 20*(y+1); x := 30; y := 30;以上语句用C分别表示为: x = y; x = 20*(y+1); x = y = 30;选择语句用if-then-else来表示,并且这种if-then-else可以嵌套,与Pascal中的if-then-else没有什么区别。

    例如: if (Condition1) then [ Block 1 ] else if (Condition2) then [ Block 2 ] else [ Block 3 ] 循环语句有三种:while循环、repeat-until循环和for循环,其语法均与Pascal类似,只是用缩进代替begin - end;例如: 1. x ← 0 2. y ← 0 3. z ← 0 4. while x < N 1. do x ← x + 1 2. y ← x + y 3. for t ← 0 to 10 1. do z ← ( z + x * y ) / 100 2. repeat 1. y ← y + 1 2. z ← z - y 3. until z < 0 4. z ← x * y 5. y ← y / 2上述语句用Pascal来描述是:x := 0;y := 0;z := 0;while x < N dobegin x := x + 1; y := x + y; for t := 0 to 10 do begin z := ( z + x * y ) / 100; repeat y := y + 1; z := z - y; until z < 0; end; z := x * y;end;y := y / 2;上述语句用C或C++来描述是: x = y = z = 0; while( z < N ) { x ++; y += x; for( t = 0; t < 10; t++ ) { z = ( z + x * y ) / 100; do { y ++; z -= y; } while( z >= 0 ); } z = x * y; } y /= 2; 数组元素的存取有数组名后跟“[下标]”表示。例如A[j]指示数组A的第j个元素。

    符号“ …”用来指示数组中值的范围。例如:A[1…j]表示含元素A[1], A[2], … , A[j]的子数组;复合数据用对象(Object)来表示,对象由属性(attribute)和域(field)构成。

    域的存取是由域名后接由方括号括住的对象名表示。例如:数组可被看作是一个对象,其属性有length,表示其中元素的个数,则length[A]就表示数组A中的元素的个数。

    在表示数组元素和对象属性时都要用方括号,一般来说从上下文可以看出其含义。用于表示一个数组或对象的变量被看作是指向表示数组或对象的数据的一个指针。

    对于某个对象x的所有域f,赋值y←x就使f[y]=f[x],更进一步,若有f[x]←3,则不仅有f[x]=3,同时有f[y]=3,换言之,在赋值y←x后,x和y指向同一个对象。有时,一个指针不指向任何对象,这时我们赋给他nil。

    函数和过程语法与Pascal类似。函数值利用 “return (函数返回值)” 语句来返回,调用方法与Pascal类似;过程用 “call 过程名”语句来调用;例如:1. x ← t + 102. y ← sin(x)3. call CalValue(x,y)参数用按值传递方式传给一个过程:被调用过程接受参数的一份副本,若他对某个参数赋值,则这种变化对发出调用的过程是不可见的。

    当传递一个对象时,只是拷贝指向该对象的指针,而不拷贝其各个域。a) 伪代码表示的算法用传统的流程图和N-S图表示算法直观易懂,但画起来比较费事,在设计一个算法时,可能要反复修改,而修改流程图是比较麻烦的。

    因此,流程图适宜于表示一个算法,但在设计算法过程中使用不是很理想的(尤其是当算法比较复杂、需要反复修改时)。为了设计算法时方便,常用一种称为伪代码的工具。

    伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章一样,自上而下地写下来。

    每一行(或几行)表示一个基本操作。它不用图形符号,因此书写方便、格式紧凑,易懂也便于向计算机语言算法(即程序)过渡。

    可以用英文、汉字、中英文混合表示算法,以便于书写和阅读为原则。用伪代码写算法并无固定的、严格的语法规则,只要把意思表达清楚,并且书写的格式要写成清晰易读的形式。

    5.用C语言描述的伪代码怎么看,怎么写

    应该是一个单向链表的节点结构体信息。

    elementType 字面翻译成元素类型,理解为数据域就OK了

    Position 是位置的意思。理解为指针域就OK了

    伪码,字面意思就是假的代码,看起很像实际上不是,只是一种描述性质的语言,帮助做代码设计的。你就当做是一般的技术文档看就行了。只是伪码翻译为代码明显比纯文字描述的技术文档更方便直接。

    伪码怎么写,根据个人的习惯不同,每个人肯定都有自己的风格。伪码只是帮助你描述程序的,和注释没什么差别,你如果有些注释的习惯,你的注释,就是很好的伪码。

    发表评论

    登录后才能评论