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

C语言程序设计算法专用课件.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
C语言程序设计算法专用课件

第二章 本章要点 算法的概念 算法的表示 结构化程序设计方法 §2.1 算法的概念 §2.1 算法的概念 §2.2 算法的描述方法 1、 用自然语言表示算法 2、 用传统的流程图表示算法 3、用N--S流程图表示算法 4、用伪代码表示算法 5、用计算机语言表示算法 N--S图表示算法的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。 扩展: 只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。 小结: 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。 小结: 一个结构化的算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转);一 个非结构化的算法可以用一个等价的结构化算法代替,其功能不变 。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。 3、结构化程序设计的优点 4、结构化程序设计方法的基本思路 1、三种基本结构 Bohra和Jacopini提出了以下三种基本结构: 顺序结构、选择结构、循环结构 用这三种基本结构作为表示一个良好算法的基本单元。 §2.3 结构化程序设计方法 三种基本结构的图示: 顺序结构 选择结构 循环结构的图示: 当型(While型)循环结构 直到型(Until型)循环 不 2、三种基本结构的共同特点: (1)只有一个入口; (2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。) (3)结构内的每一部分都有机会被执行到; (4)结构内不存在“死循环”(无终止的循环)。 图中没有一条从入口到出口的路径通过A框。 不正确的流程表示: 流程内的死循环 此图符合基本结构的特点 这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。 一个结构化程序 就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。  采取以下方法来保证得到结构化的程序: 自顶向下; 逐步细化; 模块化设计; 结构化编码。 两种不同的方法: 自顶向下,逐步细化; 自下而上,逐步积累。 * 一个程序应包括两个方面的内容: 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm) 著名计算机科学家沃思提出一个公式:  数据结构 + 算法 = 程序 数据结构+算法+程序设计方法+语言工具 完整的程序设计应该是: 1、算法:计算机求解某一问题而采用的具体方法和步骤,就称为“算法”。 对同一个问题,可有不同的解题方法和步骤 为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。 (1)数值运算算法:求数值解,例如求方程的根、求函数的定积分等。 (2)非数值运算算法:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、车辆调度管理等。 2、计算机算法可分为两大类别: 有穷性:包含有限的操作步骤 确定性:算法中的每一个步骤都应当是确定的 有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息 有一个或多个输出:算法的目的是为了求解,“解” 就是输出 有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果 。 3、算法的特性: 可以用不同的方法表示算法,常用的有: 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 自然语言就是人们日常使用的语言,可以是汉语或英语或其它语言。用自然语言表示的算法通俗易懂,但文字冗长,容易出现“歧义性”。自然语言表示的含义往往不太严格,要根据上下文才能判断其正确含义,描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,一般不用自然

文档评论(0)

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

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

1亿VIP精品文档

相关文档