- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UNIT TWO 后工计算机 weimilee 本章要点 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法(重难点) 2.5 结构化程序设计方法(重点) 2.1 算法的概念 2.2 简单算法举例 2.2 简单算法举例 2.2 简单算法举例 2.2 简单算法举例 2.2 简单算法举例 2.3 算法的特性 2.4 算法的表示 2.4.1 用流程图表示算法 小结: 流程图是表示算法的较好的工具。一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 2.4.2 用计算机语言表示算法 2.5 结构化程序设计方法 1966年提出三种基本结构,用其作为表示一个良好算法的基本单元: 顺序、选择、循环 任何复杂的算法都是由这三种基本结构按一定规律组成 2.5 结构化程序设计方法(续) 顺序结构:操作步骤按书写的顺序执行 2.5 结构化程序设计方法(续) 选择结构 循环结构:根据条件P决定是否重复执行循环体 2.5 结构化程序设计方法(续) 3种基本结构的共同特点: 单入口单出口 结构内每一部份都有机会被执行到 不存在死循环 2.5 结构化程序设计方法(续) 确定算法:分析问题,(建立数学模型,选择公式),写出算法描述 编写程序:用计算机语言写出实现算法的程序 上机调试: 输入(编辑)程序→编译、连接、执行程序→输出结果 小结 算法的概念 简单算法举例 算法的特性 怎样表示一个算法 结构化程序设计方法 * 程序的灵魂 ——算法 一个程序应包括两个方面的内容: 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm) 著名计算机科学家沃思提出一个公式: 数据结构 + 算法 = 程序 数据结构+算法+程序设计方法+语言工具 完整的程序设计应该是: 2. 程序的灵魂——算法 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。 方法1:1+2,+3,+4,一直加到100 方法2:100+(1+99)+(2+98)+…+(49 +51)+50 = 100 + 49×100 +50 对同一个问题,可有不同的解题方法和步骤 例: 求 加99次 加51次 例2.1: 求1×2×3×4×5 步骤1:先求1×2,得到结果2 步骤2:将步骤1得到的乘积2再乘以3,得到结果6 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120 如果要求1×2×…×1000,则要写999个步骤 S1:使p=1 S2:使i=2 S3:使p×i,乘积仍放在变量p中,可表示为: p×i→p S4:使i的值加1,即i+1→ i。 S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。 可以设两个变量:一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p为被乘数,i为乘数。用循环算法来求结果, 算法可改写: S1:1 → p S2:3 → i S3:p×i → p S4:i+2 → i S5:若i≤1000,返回S3。否则,结束。 例2.2:如果题目改为:求1×3×5×……×1000算法只需作很少的改动: 例2.3 判定2000~2500年中的每一年是否闰年,将结果输出。 分析:闰年的条件是: (1)能被4整除,但不能被100整除的年份都是闰年,如1996,2004年是闰年; (2)能被100整除,又能被400整除的年份是闰年。如1600,2000年是闰年。不符合这两个条件的年份不是闰年。 设y为被检测的年份,算法可表示如下 : S1:y=2000 S2:若y不能被4整除,则输出y “不是闰年”。然后转到S6。 S3:若y能被4整除,不能被100整除,则输出y “是闰年”。然后转到S6。 S4:若y能被100整除,又能被400整除,输出y“是闰年”,否则输出“不是闰年”。 然后转到S6。 S5: 输出y “不是闰年”。 S6:y+1 → y S7:当y≤2500时,转S2继续执行,如y>2500,算法停止。 以上算法中每做一步都分别分离出一些范围(巳能判定为闰年或非闰年),逐步缩小范围,直至执行S5时,只可能是非闰年。 “其它” 包括能被4整除,又能被100整除,而不能被400整除的那些年份(如1990) 是非闰年。 一个算法应该具有以下特点: 有穷性:包含有限的操作步骤 确定性:算法中的每一个步骤都应当是确定的 有零个或多个
文档评论(0)