第2章 程序的灵魂的算法.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文档。上传文档
查看更多
 算法的概念  简单算法举例  算法的特性  怎样表示一个算法  结构化程序设计方法 ; 算 法 的 概 念 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。 对同一个问题,可以有不同的解题方法和步骤。 算法有优劣之分。 一般说,希望采用简单的和运算步骤少的方法。 本课程只关心计算机算法,即计算机能执行的算法。; 计算机算法可分为两大类别: 数值算法:数值运算的目的是求数值解 。 非数值算法:非数值运算包括的面十分广泛,最常见的是用于事务管理领域。; 简单算法举例 例:求××…×的结果。 采用最原始的方法: :先求×,得到结果。 :将步骤得到的乘积再乘以,得到结果。 …………………………………………………… : 将××…×的结果再乘以,得 上述算法可以求得正确结果,但过程比较繁杂,我们将上述算法进行改进。; 设两个变量,一个变量代表被乘数,一个变量代表乘数。用循环算法来求结果。将算法改写: : 使 : 使 : 使×,乘积仍放在变量中,可表示为× : 使的值加,即 : 如果不大于,返回重新执行步骤;否则,算法结束。最后得到的值就是!的值。; 例 :有个学生,要求将他们之中成绩在分以上者打印出来。用表示学生学号,代表第一个学生学号,代表第个学生学号。用代表学生成绩,代表第个学生成绩,算法可表示如下。 : :如果≥,则打印和,否则不打印 : :如果≤,返回,继续执行;否则,算法结束。; 例 :判定年中的每一年是否为闰年,将结果输出。 闰年的条件是: ①能被整除,但不能被整除的年份都是闰年,如年,年是闰年;②能被整除,又能被整除的年份是闰年。如年、年是闰年。不符合这两个条件的年份不是闰年。 设 为被检测的年份,算法可表示如下: ; : : 不能被整除,则输出 “不是闰年”。转 :若能被整除,不能被整除,则输出 “是闰年”。转 :若能被整除,又能被整除,输出“是闰年”;否则输出“不是闰年”。 转 :输出 “不是闰年” : :当≤时,转继续执行,如>,算法停止。;在这个算法中,采取了多次判断。先判断能否被整除,如不能,则必然不是闰年。如 能被整除,并不能马上决定它是否闰年,还要看它能否被整除。如不能被整除,则肯定是闰年(例如年)。如能被整除,还不能判断它是否闰年,还要被整除,如果能被整除,则它是闰年,否则不是闰年。 在这个算法中,每做一步,都分别分离出一些范围(巳能判定为闰年或非闰年),逐步缩小范围,使被判断的范围愈来愈小,直至执行时,只可能是非闰年。见图示意。; 图 ; 算法的特性 ()有穷性 算法应包含有限的操作步骤,而不能是无限的。 ()确定性 算法中的每一个步骤都应当是确定的,而不应是含糊的、模棱两可的。 ()有零个或多个输入 输入是指在执行算法时需要从外界取得必要的信息。一个算法也可以没有输入。;()有一个或多个输 算法的目的是为了求解,“解” 就是输出。没有输出的算法是没有意义的。 ()有效性 算法中的每一个步骤都应当能有效地执行,并得到确定的结果。; 怎样表示一个算法 自然语言、传统流程图、结构化流程图、伪代码、图等。 .然语言表示算法 在节中介绍的算法是用自然语言表示的。用自然语言表示通俗易懂,但文字冗长, 容易出现“歧义性”。自然语言表示的含义往往不太严格,要根据上下文才能判断其正确含义。此外,用自然语言描述包含分支和循环的算法,不很方便(如例的算法)。因此,除了很简单的问题以外,一般不用自然语言描述算法。; . 用流程图表示算法 流程图是用一些图框表示各种操作。美国国家标准化协会规定了一些常用的流程图符号。; 下面例的算法改用流程图表示。; 图 图; . 三种基本结构和改进的流程图 () 传统流程图的弊端 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律。。;()三种基本结构 算法上难免会包含一些分支和循环。年,和提出了以下三种基本结构,作为表示一个良好算法的基本单元。 顺序结构 选择结构,或称选取结构,或称分支结构,;循环结构,它又称重复结构。有两类循环结构: 当型(型)循环结构 直到型(型)循环;以上三种基本结构,有以下共同特点: 只有一个入口。 只有一个出口。一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。

文档评论(0)

勤能补拙 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档