欢迎来到天天文库
浏览记录
ID:41172666
大小:40.01 KB
页数:5页
时间:2019-08-18
《伪代码定义及实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、伪代码伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码,不用拘泥于具体实现。相比程序语言(例如Java,C++,C,Dephi等等)它更类似自然语言。它是半角式化、不标准的语言。可以将整个算法运行过程的结构用接近自然语言的形式(可以使用任何一种你熟悉的文字,关键是把程序的意思表达出来)描述出来。定义
2、 人们在用不同的编程语言实现同一个算法时意识到,他们的实现(注意:这里是实现,不是功能)很不同。尤其是对于那些熟练于不同编程语言的程序员要理解一个(用其他编程语言编写的程序的)功能时可能很难,因为程序语言的形式限制了程序员对程序关键部分的理解。这样伪代码就应运而生了。伪代码提供了更多的设计信息,每一个模块的描述都必须与设计结构图一起出现。伪代码是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。应用领域 当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。伪码中常被用于技术文档和科学出版物中来表示算法,也被用于在软件开发的实际
3、编码过程之前表达程序的逻辑。伪代码不是用户和分析师的工具,而是设计师和程序员的工具。计算机科学在教学中通常使用虚拟码,以使得所有的程序员都能理解。 综上,简单的说,让人便于理解的代码。不依赖于语言的,用来表示程序执行过程,而不一定能编译运行的代码。在数据结构讲算法的时候用的很多。伪代码用来表达程序员开始编码前的想法。语法规则 例如,类Pascal语言的伪代码的语法规则是:在伪代码中,每一条指令占一行(elseif,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用
4、于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进。伪代码实例 伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。 【简单示例】输入3个数,打印输出其中最大的数。可用如下的伪代码表示: Begin(算法开始) 输入A,B,C IFA>B则A→Max 否则B→Max IFC>Max则C→Max PrintMax End(算法结束) 伪代码只是像流
5、程图一样用在程序设计的初期,帮助写出程序流程。简单的程序一般都不用写流程、写思路,但是复杂的代码,最好还是把流程写下来,总体上去考虑整个功能如何实现。写完以后不仅可以用来作为以后测试,维护的基础,还可用来与他人交流。但是,如果把全部的东西写下来必定可能会让费很多时间,那么这个时候可以采用伪代码方式。比如: IF九点以前THEN do私人事务; ELSE9点到18点THEN 工作; ELSE 下班; ENDIF 这样不但可以达到文档的效果,同时可以节约时间.更重要的是,使结构比较清晰,表达方式更加直观. 下面介绍一种类Pasc
6、al语言的伪代码的语法规则。 在伪代码中,每一条指令占一行(elseif例外,),指令后不跟任何符号(Pascal和C中语句要以分号结尾); 书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进; 例如: line1 line2 subline1 subline2 subsubline1 subsubline2 sub
7、line3 line3 而在Pascal中这种关系用begin和end的嵌套来表示, line1 line2 begin subline1 subline2 begin subsubline1 subsubline2 end; subline3 end; line3 在C中这种关系用{和}的嵌套来表示, line1 line2 { subline1 subline2 { subsubline1 subsubline2 } subline3 } line3 在伪代码中,通常用连续的数字或字
8、母来标示同一即模块中的连续语句,有时也可省略标号。 例如: 1.line1 2.line2 a.subline1 b.subline2 1.subsub
此文档下载收益归作者所有