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

第28讲算法与流程图.PDF

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第28讲算法与流程图

第28 讲 算法与流程图 2.1.1 算法 1.算法的概念 为解决一个问题而采取的方法和步骤称为算法。 对于同一个问题可以有不同的解题方法和步骤,也就是有不同的算法。算法 有优劣,一般而言,应当选择运算速度快、内存开销小的算法(算法的时空效率)。 2.算法的特性 (1)有穷性 一个算法应当包含有限的步骤,而不能是无限的步骤;同时一个算法应当在 执行一定数量的步骤后,算法结束,不能无限循环。 事实上 “有穷性”往往指 “在合理的范围之内”的有限步骤。如果让计算机 执行一个历时1000 年才结束的算法,算法尽管有穷,但超过了合理的限度,人 们也不认为此算法是有用的。 (2 )确定性 算法中的每一个步骤都应当是确定的,而不是含糊的、模棱两可的,也就是 说不应当产生歧义,特别是算法用自然语言描述时应当注意这点。 【示例】 “将成绩优秀的同学名单打印输出”就是有歧义的。“成绩优秀” 是要求每门课程都90 分以上,还是平均成绩在90 分以上?不明确,有歧义,不 适合描述算法步骤。 注意:这里是确定性,不是正确性。错误的思想仍可成为正确的算法, 但结果可能是错误的。 (3 )可行性 算法的每一步必须是切实可行的,即原则上可以通过已经实现的基本运算执 行有限次来实现。 (4 )有输入 有0 个或多个输入,所谓输入是指算法从外界获取必要信息(外界是相对算 法本身的,输入可以是人工键盘输入的数据,也可以是程序其他部分传递给算法 的数据)。 【示例1】不需要输入任何信息,就可以计算出5 !;(0 个输入) 【示例2】输入一个正整数n,然后判断n 是否为素数;(1 个输入) 【示例3 】如果要计算两个整数的最大公约数,则需要输入2 个整数m,n (2 个输入)。 (5 )有输出 有1 个或多个输出,算法必须有结果,没有结果的算法没有意义(结果可以 是显示在屏幕上的,也可以是将结果数据传递给程序的其他部分)。 2.1.2 算法的表示 为了表示一个算法,可以用不同的方法。常用的算法表示方法:自然语言, 传统流程图,结构化流程图(N-S 流程图),伪代码、计算机语言等。 1.用自然语言表示算法 算法可以用自然语言描述的。自然语言就是人们日常使用的语言,可以是汉 语、英语或其他语言。用自然语言表示通俗易懂,但文字冗长,容易出现歧义。 自然语言表示的含义往往不太严格,要根据上下文才能准确判断其含义。此外, 用自然语言描述分支和循环的算法,不是很直观。因此,除了简单问题,一般不 采用自然语言描述算法。 2.用流程图表示算法 流程图表示算法:用一些图框表示各种操作,用箭头表示算法流程。用图形 表示算法直观形象,易于理解。 美国标准化协会ANSI 规定了一些常用的流程图符号,已为世界各国程序工 作者普遍采用,具体见表2-1。 起止框:表示算法的开始和结束。一般内部只写 “开始”或 “结束”。 处理框:表示算法的某个处理步骤,一般内部常常填写赋值操作。 输入输出框:表示算法请求输入输入需要的数据或算法将某些结果输出。一 般内部常常填写 “输入…”,“打印/ 显示…”。 菱形框(判断框):主要是对一个给定条件进行判断,根据给定的条件是否 成立来决定如何执行其后的操作。它有一个入口,两个出口。 流程图是表示算法较好的工具。流程图包括以下几个部分:表示相应操作的 框,带箭头的流程线,框内、框外必要的文字说明。 注意:流程线一定不要忘记箭头,因为它反映流程的先后次序。 表2-1 流程图符号 符号 形状 名称 功能 表示算法的起始和结束,是任何流 圆角矩形 起止框 程图不可少的。 表示一个算法输入和

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档