第8章算法与程序设计语言讲述.pptx

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

算法与程序设计语言 一 算法与程序 什么是程序? 按一定的顺序安排的工作即操作序列 描述完成某项功能所涉及的对象和动作规则 计算机学科中,程序描述了计算机处理数据、解决问题的过程 2 程序和算法的关系是怎样的? 引例: 从存放教职工档案的“d:\zgxx.txt”文件中,显示出教龄满30年的女教工的姓名和所在部门 3 程序=数据结构+算法 程序包括两方面的内容: (1)对数据的描述: 指定欲处理的数据类型和数据的组织形式,也就是数据结构。 例如教职工的姓名, 部门, 教龄等都具有相应的数据类型 文件d:\zgxx.txt指定了数据的组织形式。 (2)对操作的描述: 指定操作步骤, 例如“fopen”打开文件、“fscanf”读入数据、“If”判断是否满足条件等。 这些操作的先后顺序以及它们所作用的数据,要遵守一定的规则,即求解问题的的算法。 二 算法的概念 1 什么是算法? 计算机来解决的某一类问题的方法或步骤 算法是程序的核心 例:小球称重 9个编号小球中有一个的质量偏小,其余的质量标准。用一天平,无需砝码,检出质量偏小的小球。 4 解法一:9个小球分成5堆,(1,2),(3,4),(5,6),(7,8),(9) 解法二:可将9个小球分成3堆进行称量, (1,2,3),(4,5,6),(7,8,9),若1,2相等,则称量第三堆中,否则对偏轻的一堆继续称量。 5 哪种方法称量次数最少? 解法三:先将小球分成(1,2,3,4)与(5,6,7,8)两堆,若两堆的质量的相等则偏小的小球是第9个,否则将偏轻的小球分成两堆进行称量。 例:圆周率的计算 (1)割圆法 6 S正12边形=12 × △S=3 圆周率= S正12边形/R/R=3 算法步骤: ①量出圆的半径R ②做圆的内接正n边形 ③求小三角形的面积△S ④求圆的内接正n边形面积S= △S ×n ⑤求圆周率=S/R/R ⑥结束 公元3世纪,刘徽利用“割圆术”,也就是利用圆内接正六边形算起,依次将边数加倍,一直算到内接正3072边形的面积,从而得到圆周率的近似值为=3.1416,祖冲之把圆周率精确到小数点后15位 7 (2)利用求圆周率公式 同一个问题,可用不同的算法来求解 算法不同,求解的效率不同 选择效率高、容易理解和编程实现的算法 2 算法的两个要素 算法是由操作与控制结构两个要素组成 (1)操作 ①算术运算:加、减、乘、除等。 ②关系运算:大于、大于等于、小于、小于等于、等于、不等于等。 ③逻辑运算:与、或、非等。 ④数据传送:输入、输出、赋值等。 8 (a)顺序结构 (b)选择结构 (2)控制结构 各操作之间的执行顺序 顺序结构、选择结构、循环结构,称为算法的三种基本结构 9 (c)当型循环结构 (d)直到型循环结构 10 从整体上看是顺序结构 11 当型循环 3 算法的特点 12 4 算法的分类 (1)数值计算算法 用于科学计算 特点是少量的输入、输出,复杂的运算。 例如:计算圆周率,积分 (2)非数值计算算法 对数据的管理 特点是大量的输入、输出,简单的算术运算 和大量的逻辑运算。 例如:排序 查找替换 随着计算机技术的发展和应用面的普及,非数值计算算法涉及面更广,研究的任务更重。 13 5 算法的表示 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 14 利用求圆周率公式 计算圆周率 分析:对通项式:ti= , i=1,2,… ,进行累加,直到某项ti绝对值小于精度即|t|10-8为止。 15 自然语言 ①置初态:累加器pi←0,计数器i←1,第1项t←1,正负符号变化s←1; ②重复执行下面的语句,直到某项绝对值小于精度,转③; ?求累加和:pi←pi+t; ?为下一项作准备:i←i+1、s←-1*s、t←s*1/(2*i-1); ③输出:显示结果pi*4。 ④结束 优点: 通俗易懂 缺陷: (1)不太严格,易产生歧义性。 (2) 繁琐、冗长,并且很难清楚地表达算法的逻辑流程,不直观。 16 传统流程图 采用一些图框、线条以及文字说明来形象地、直观地描述算法处理过程。 17 false 计算圆周率的流程图 缺陷: 制作费时 优点:较好地体现程序设计的逻辑 18 N-S流程图 由美国学者 I.Nassi和 B.Shneideman 提出 去掉了传统流程图中带箭头的流向线,全部算法以一个大的矩形框表示,该框内还可以包含一些从属于它的小矩形框 适于结构化程序设计。 19 计算圆周率N-S图 N-S图的三种控制结构 20 BEGIN pi←0 //变量赋初值 s←1 i←1 t←1 While (|t|≥10-8)

文档评论(0)

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

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

1亿VIP精品文档

相关文档