网站大量收购闲置独家精品文档,联系QQ:2885784924

第2算法.pptVIP

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

第1章 C语言概述 第2章 程序的灵魂--算法 主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 算法的表示 2.5 结构化程序设计方法 2.1 算法的概念 (1)著名计算机科学家沃斯(Nikiklaus Wirth)提出了一个公式: 数据结构 + 算法 = 程序 (2)设计程序时,还要考虑采用好的设计方法---结构化程序设计方法。因此有: 程序 = 数据结构 + 算法 +程序设计方法+语言工具和环境 2.1 算法的概念 3.算法的概念 广义地说,为解决一个问题而采取的方法和步骤,就称为算法。(用计算机解决问题的步骤,即计算机算法。) 计算机算法可分为两大类: 数值算法 求方程的根 求函数的定积分 非数值算法 图书检索 人事管理 2.2 简单算法举例 例2.1:求1×2×3×4×5 最原始的方法: 步骤1: 求1×2, 得结果2。 步骤2: 将第1步得到的结果再乘以3, 得结果6。 步骤3: 将第2步得到的结果再乘以4, 得结果24。 步骤4: 将第3步得到的结果再乘以5, 得120。 改进的方法(或通用的方法): 先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直接放入被乘数变量p中。用循环算法求结果。 步骤1:令p=1 步骤2:令i=2 步骤3:使p×i,并将乘积放入p中。通常表示为p×i=p 步骤4:使 i 的值加1,表示为 i+1=i 步骤5:如果i 不大于5,返回到步骤3继续向下执行;否则算法结束。p中的值即最后结果。 例2.2:有两个数a,b,按从大到小的顺序打印它们。 步骤1: 输入a,b的值; 步骤2: 如果a≥b,则先打印a,再打印b; 否则,先打 印b,再 打印a;算法结束。 详细例题见课本16-18页。 算法的5个特性: 有穷性:一个算法应包含有限的操作步骤,而不能是无限的。 确定性:算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。 有零个或多个输入:所谓输入是指在执行算法时需要从外界取得必要的信息。 有一个或多个输出:算法的目的是为了求解,“解”就是输出。 有效性:算法中的每一个步骤都应当能有效的执行,并得到结果。 2.4 算法的表示 2.4.1用自然语言表示 2.4.2用流程图表示 2.4.3用N-S图表示 2.4.4用伪代码表示 2.4.5用计算机语言表示 2.4.1用自然语言表示算法 例2.1和例2.2的算法是用自然语言写的。 自然语言指人们日常使用的语言,如汉语、英语等。 用自然语言表示算法的特点:通俗易懂,但不严谨,容易产生歧义。 除非问题很简单,一般不用自然语言描述算法。 2.4.2用流程图表示算法 流程图采用一些图形框表示算法要表述的各种操作。 美国国家标准化协会ANSI规定了一些常用的流程图符号: 用流程图表示算法举例 用流程图表示算法举例 三种基本结构-顺序结构 顺序结构: 三种基本结构-选择结构 选择结构 三种基本结构-循环结构 循环结构(当型---while型) 三种基本结构-循环结构 循环结构(直到型---until型) 以上3种基本结构,有以下共同特点: 1)只有一个入口。 2)只有一个出口。 3)结构内的每一个部分都有机会被执行到。 4)结构内不存在“死循环”。 2.4.3用N-S图表示算法 用基本结构的组合表示算法,从而去掉了流程线。避免了随意的跳转。 1973年两名美国学者提出了一种新的流程图形式,并用二人名字的第一个字母组合命名了该流程图。即N-S流程图,也称盒图。 三种基本结构的表示: 用N-S流程图表示举例 2.4.4用伪码表示算法 伪码 是用一种介于自然语言和计算机语言之间的文字和符号来描述算法。(类Pascal语言或者类C语言) 好处 2.4.5用计算机语言表示算法 只有用计算机语言描述的算法才能被计算机的编译环境识别,并被处理、执行。 用计算机语言表示算法必须严格遵守所用语言语法规则。 前面几种描述算法的方法对文字等格式要求不严,一般来说,只要能示意就行。 2.5 结构化程序设计方法 回顾:前面介绍的三种基本结构的共同点: 只有一个入口; 一个出口; 结构内每一部分都有机会被执行。 结构内不存在死循环。 如条件永远成立时,就成了死循环 已经证明,用上述三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。 由基本结构构成的算法属于结构化的算法 只要符合上述的四个特点的结构,都称为基本结构。 2.5 结构化程序设计方法 原理: 用三种基本控制结

文档评论(0)

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

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

1亿VIP精品文档

相关文档