chap2 Algorithm.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap2 Algorithm

第二章 主要内容( Contents ) 2.1 什么是算法 2.2 简单的算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 本章要点( Targets ) 算法的特性 算法的表示 结构化程序设计方法 2.1 什么是算法 2.1 什么是算法 算法的特性 2.4 怎样表示一个算法 (1)、用传统流程图表示算法 小结: 流程图是表示算法的较好的工具。一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 (3)、用N-S流程图表示算法 N-S图表示算法的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。 用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。 (4)、用伪代码表示算法 (5)、用计算机语言表示算法(实现算法) 2.5 结构化程序设计方法 ●三种基本结构 (1) 顺序结构 A B (2)、改进的流程图表示算法 ●三种基本结构 (2) 选择结构 A B Y p N A Y p N ●三种基本结构 (3) 循环结构 ① 当型循环结构 A Y p1 N Y x5 N 0?x 输出x的值 x+1?x 输出0,1,2,3,4 ●三种基本结构 (3) 循环结构 ② 直到型循环结构 A Y p2 N Y x≥5 N 0?x 输出x的值 x+1?x 输出1,2,3,4,5 总结: ●以上三种基本结构,都有以下共同特点 (1) 只有一个入口。 (2) 只有一个出口。 一个判断框有两个出口 一个选择结构只有一个出口 (3) 结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它。 (4) 结构内不存在“死循环”。 ●由三种基本结构派生出来的结构: A N p2 Y B 根据表达式p 的值进行选择 A B p=p1 p=p2 … M N p=pm p=pn 总结: ●以上几种结构是表示良好算法的基本单元,只要具有基本结构上述4个特点的流程图都属于改进的流程图,它们都属于“结构化”的算法。 分析: 例10的流程图不是由三种基本结构组成的,因为循环有两个出口,不符合基本结构的特点,要做变换。 例11:对一个大于或等于3的正整数,判断它是不是一个素数。 (改进的流程图表示算法 ) N Y 开始 输入n 0?w 2?i n%i?r r=0 i+1?i i≤ 和w=0 Y N 1?w ① 输出n 是素数 结束 w=0 ① 输出n 不是素数 Y N 1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N--S结构化流程图。 N-S流程图用以下的流程图符号: (1)顺序结构 (2)选择结构 (3)循环结构 用三种N-S流程图中的基本框,可以组成复杂的N-S流程图。图中的A框或B框,可以是一个简单的操作,也可以是三个基本结构之一。 A框可以是一个选择结构 B框可以是一个循环结构 例12:请用N-S流程图算法表示输出a和b中大数。 输入a和b ab max?a max?b 输出max Y N 概念:伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。 特点:它如同一篇文章一样 ,自上而下地写下来。它不用图形符号,因此书写方便 、格式紧凑,也比较好懂,也便于向计算机语言算法(即程序)过渡。 用处:适用于设计过程中需要反复修改时的流程描述。 BEGIN{算法开始} 1 ? t 2 ? i while i≤5 {t×i ? t  i+1 ? i} printf t END{算法结束} 例13:用伪代码算法表示求5!。 begin 1 ? sum 2 ? deno 1 ? sign while deno ≤ 100 { (-1)*sign ? sign sign*1/deno ? term sum+term ? sum deno+1 ? deno } print sum end 例14:伪代码算法表示求 概念:用计算机实现算法。计算机是无法识别流程图和伪代码的。只有用计算机语言编写的程序才能被计算机执行。 特点:用计算机语言表示算法必须严格遵循所用的语言的语法规则,这是和伪

文档评论(0)

dreamzhangning + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档