- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流程图描述算法的不足之处? ▲随意地使用箭头控制算法的执行流程,从而造成算法的层次结构混乱。 ▲降低了程序的可读性和可维护性。 ▲不适于自顶向下、逐步求精的程序开发方式。 使用程序流程图描述算法,具有简捷、直观、使用方便的特点。 流程图特点: 1.5.3 盒图(N-S图)方式 出于要有一种不允许违背结构化程序设计思想的图形工具的考虑,1973年美国学者Nassi和Shneiderman提出了一种新的流程图形式,称为盒图(box diagram),又称为N-S图。 在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框。 N-S图十分适合描述结构化程序或算法的结构化实现,能够较好地反映算法和程序的层次结构,可读性好,具有自顶向下逐步求精的特征。 N-S 图基本符号以及控制结构的描述方法 例1.5 求 图 1.7 N-S图描述 的N-S图表示。 例1.6 将N个正整数数列按照从小到大的顺序排列的N-S图描述 1.5.4 PAD图方式 PAD图是问题分析图(problem analysis diagram)的英文缩写,1973年由日本日立公司的二才 良彦等提出,是另一种可以用于算法和程序描述的图形工具。 PAD图用二维树型结构的图来表示程序的控制流,即可以用于表示程序中操作的逻辑顺序,也可用于表示数据结构,是一种结构化程序设计描述工具,适用于自顶向下、逐步求精的程序开发方法。 PAD图的符号及控制结构如图1.9和表1.1所示。 表1.1 PAD图的图形符号 图形符号 功 能 说 明 ? 输入框 框内标明待输入变量名 输出框 框内标明待输出变量名 处理框 框内标明操作、处理或功能名 重复框 框内标明循环条件 选择框 框内为选择条件,可多路选择 例1.7求 的PAD图描述算法 例1.8 将N个正整数数列按照从小到大的顺序排列。 图1.11 PAD图描述 1.5.5 伪代码方式 伪代码(pseudo code)就是程序设计语言的控制结构和其他一些元素的速记符号。一般来说,伪代码的语法规则分为“外层语法”和“内层语法”。 外层语法类似于一般编程语言控制结构的关键字,比较严格。 内层语法则是灵活自由的,可以用自然语言,也可用程序设计语言,或使用自然语言与程序设计语言的混合体,以便使用于不同工程项目的需要。 伪代码不用图形符号,因此书写方便、格式紧凑,也比较好懂,便于转换成计算机高级语言(即程序)。 1) 层次 算法的书写应该具有层次,下面的一层采用缩进方式,同层次的缩进相同,例如: X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 本书伪代码构成元素和书写规则如下: 2) 注释 其形式是由()括起来的中文或英文字符串。 3) 3种控制结构 (1) 顺序结构 书写格式如下: …… 操作l 操作2 操作3 …… (2) 分支结构 有以下两种书写格式: 格式1: if(条件1) then 操作1 else 操作2 格式2: if(条件2) then 操作 多重选择的格式如下: 条件1,执行语句1 条件2,执行语句2 …… 条件n,执行语句n (3)循环结构 有以下三种书写格式: 格式l:do 操作 while(循环条件) 格式2:while(循环条件) do 操作 格式3:for 表达式1 to 表达式2 步长 表达式3 操作 4) 调用算法 书写方式如下: 调用算法名(调用参数表) 5) 需要标明算法的“BEGIN(开始)”和“END(结束)”点。 例1.9 求 BEGIN sign=1(sign代表数值的符号) sum=1(sum代表累加和变量) deno=2(deno代表分母变量) while deno≤20 { sign=(-1)*sign(求级数中各项的符号,它的值为l或-1) term=sign*1/deno(term代表级数中的某一项) sum=sum+term deno=deno+1 } print sum(
原创力文档


文档评论(0)