伪代码定义及实例

上传人:简****9 文档编号:95301126 上传时间:2019-08-16 格式:DOC 页数:5 大小:40KB
返回 下载 相关 举报
伪代码定义及实例_第1页
第1页 / 共5页
伪代码定义及实例_第2页
第2页 / 共5页
伪代码定义及实例_第3页
第3页 / 共5页
伪代码定义及实例_第4页
第4页 / 共5页
伪代码定义及实例_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《伪代码定义及实例》由会员分享,可在线阅读,更多相关《伪代码定义及实例(5页珍藏版)》请在金锄头文库上搜索。

1、伪代码伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码, 不用拘泥于具体实现。相比程序语言(例如Java, C+,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。可以将整个算法运行过程的结构用接近自然语言的形式(可以使用任何一种你熟悉的文字,关键是把程序的意思表达出来)描述出来。定义人们在用不同的编程语言实现同一个算法时意识到,

2、他们的实现(注意:这里是实现,不是功能)很不同。尤其是对于那些熟练于不同编程语言的程序员要理解一个(用其他编程语言编写的程序的)功能时可能很难,因为程序语言的形式限制了程序员对程序关键部分的理解。这样伪代码就应运而生了。伪代码提供了更多的设计信息,每一个模块的描述都必须与设计结构图一起出现。伪代码是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。 应用领域当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。伪码中常被用于技术文档和科学出版物中来表示算法,也被用于在软件开发的实际编码过程之前表达程序的逻辑。伪代码不是用户和分析师的工具,而是设计师和程序员的工具。计算机科学在教学中

3、通常使用虚拟码,以使得所有的程序员都能理解。 综上,简单的说,让人便于理解的代码。不依赖于语言的,用来表示程序执行过程,而不一定能编译运行的代码。在数据结构讲算法的时候用的很多。伪代码用来表达程序员开始编码前的想法。 语法规则例如,类Pascal语言的伪代码的语法规则是: 在伪代码中,每一条指令占一行(else if,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进

4、量,次一级模块的语句相对与其父级模块的语句缩进。 伪代码实例伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。 【简单示例】输入3个数,打印输出其中最大的数。可用如下的伪代码表示: Begin(算法开始) 输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 CMax Print Max End (算法结束) 伪代码只是像流程图一样用在程序设计的初期,帮助写出程序流程。简单的程序一般都不用写流程、写思路,但是复杂的代码,最好还是把流程写下来,总体上去考虑整个功能如何实现。写完以后不仅可以用来作为以后测试,维护的基础,还可用来与他人交流。但

5、是,如果把全部的东西写下来必定可能会让费很多时间,那么这个时候可以采用伪代码方式。比如: IF 九点以前 THEN do 私人事务; ELSE 9点到18点 THEN 工作; ELSE 下班; END IF 这样不但可以达到文档的效果,同时可以节约时间. 更重要的是,使结构比较清晰,表达方式更加直观. 下面介绍一种类Pascal语言的伪代码的语法规则。 在伪代码中,每一条指令占一行(else if 例外,),指令后不跟任何符号(Pascal和C中语句要以分号结尾); 书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的beg

6、in和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进; 例如: line 1 line 2 sub line 1 sub line 2 sub sub line 1 sub sub line 2 sub line 3 line 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中这种关系

7、用 和 的嵌套来表示, 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+

8、不同; 在伪代码中,变量不需声明,但变量局部于特定过程,不能不加显示的说明就使用全局变量; 赋值语句用符号表示,xexp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值ije是将表达式e的值赋给变量i和j,这种表示与je和ie等价。 例如: xy x20*(y+1) xy30 以上语句用Pascal分别表示为: x := y; x := 20*(y+1); x := 30; y := 30; 以上语句用C分别表示为: x = y; x = 20*(y+1); x = y = 30; 选择语句用if-then-else来表示,并

9、且这种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

10、) / 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 do begin 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+来描述是

11、: x = y = z = 0; while( z N ) x +; y += x; for( t = 0; t = 0 ); z = x * y; y /= 2; 数组元素的存取有数组名后跟“下标”表示。例如Aj指示数组A的第j个元素。符号“ ”用来指示数组中值的范围。 例如: A1j表示含元素A1, A2, , Aj的子数组; 复合数据用对象(Object)来表示,对象由属性(attribute)和域(field)构成。域的存取是由域名后接由方括号括住的对象名表示。 例如: 数组可被看作是一个对象,其属性有length,表示其中元素的个数,则lengthA就表示数组A中的元素的个数。在表示

12、数组元素和对象属性时都要用方括号,一般来说从上下文可以看出其含义。 用于表示一个数组或对象的变量被看作是指向表示数组或对象的数据的一个指针。对于某个对象x的所有域f,赋值yx就使fy=fx,更进一步,若有fx3,则不仅有fx=3,同时有fy=3,换言之,在赋值yx后,x和y指向同一个对象。 有时,一个指针不指向任何对象,这时我们赋给他nil。 函数和过程语法与Pascal类似。 函数值利用 “return (函数返回值)” 语句来返回,调用方法与Pascal类似;过程用 “call 过程名”语句来调用; 例如: 1. x t + 10 2. y sin(x) 3. call CalValue(

13、x,y) 参数用按值传递方式传给一个过程:被调用过程接受参数的一份副本,若他对某个参数赋值,则这种变化对发出调用的过程是不可见的。当传递一个对象时,只是拷贝指向该对象的指针,而不拷贝其各个域。富不贵只能是土豪,你可以一夜暴富,但是贵气却需要三代以上的培养。孔子说“富而不骄,莫若富而好礼。” 如今我们不缺土豪,但是我们缺少贵族。高贵是大庇天下寒士俱欢颜的豪气与悲悯之怀,高贵是位卑未敢忘忧国的壮志与担当之志 高贵是先天下之忧而忧的责任之心。精神的财富和高贵的内心最能养成性格的高贵,以贵为美,在不知不觉中营造出和气的氛围;以贵为高,在潜移默化中提升我们的素质。以贵为尊,在创造了大量物质财富的同时,精神也提升一个境界。一个心灵高贵的人举手投足间都会透露出优雅的品质,一个道德高贵的社会大街小巷都会留露出和谐的温馨,一个气节高贵的民族一定是让人尊崇膜拜的民族。别让富而不贵成为永久的痛。分享一段网上流传着改变内心的风水的方法,让我们的内心高贵起来:喜欢付出,福报就越来越多;喜欢感恩,顺利就越来越多;喜欢助人,贵人就越来越多;喜欢知足,快乐就越来越多;喜欢逃避,失败就越来越多;喜欢分享,朋友就越来越多。喜欢生气,疾病就越来越多;喜欢施财,富贵就越来越多;喜欢享福,痛苦就越来越多;喜欢学习,智慧就越来越多。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号