C语言算法概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图中没有一条从入口到出口的路径通过A框 不正确的流程表示: 流程内的死循环 怎样表示一个算法 怎样表示一个算法 B P 成立 不成立 A 例如下面的结构可以作为基本结构 怎样表示一个算法 用流程图表示前面例题的算法: [例1] 求1×2×3×4×5 [例3] 判断2000-2500年中的某一年是否闰年,将结果输出。 [例4] 任意给定正整数n,求数列1,-1/2,1/3,-1/4,…前n项的和。 [例5] 判断大于或等于3的正整数是否是素数 怎样表示一个算法 N-S流程图表示法 1973年美国学者I.Nassi和B.Shneiderman提出的一种新的流程图形式,没有箭头,非常适合结构化程序设计。 怎样表示一个算法 N-S流程图表示法 A B A B 成立 P 不成立 直到p成立 A 当p成立时 A 顺序结构 选择结构 当型循环 直到型循环 怎样表示一个算法 用N-S流程图表示前面例题的算法: [例1] 求1×2×3×4×5 [例3] 判断2000-2500年中的某一年是否闰年,将结果输出。 [例4] 任意给定正整数n,求数列1,-1/2,1/3,-1/4,…前n项的和。 [例5] 判断大于或等于3的正整数是否是素数 怎样表示一个算法 伪代码表示法 流程图:优点是直观准确,但突出的缺点是难以绘画,且不便于修改。 伪代码表示法克服了这些缺点。 伪代码表示法是介于自然语言表示法和计算机语言表示法之间的一种表示方法。它的写法如同写文章,自上而下,方便自如 怎样表示一个算法 例4的伪代码表示法如下 开始 读入整数n 置sum的初值为0 置k的初值为1 执行下面的操作: 如果k为奇数,置item=1/k 如果k为偶数,置item=-1/k sum=sum+item 直到kn 打印sum的值 结束 算法设计的原则 设计算法时,通常应考虑达到以下目标: 正确性 可读性 健壮性 高效率与低存储量需求 算法设计的原则 1.正确性 首先,算法应当满足以特定的“规格说明”方式给出的需求。 其次,对算法是否“正确”的理解可以有以下四个层次: a.程序中不含语法错误; b.程序对于几组输入数据能够得出满足要求的结果; 算法设计的原则 c.程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果; d.程序对于一切合法的输入数据都能得出满足要求的结果; 通常以第 c 层意义的正确性作为衡量一个算法是否合格的标准 算法设计的原则 2. 可读性 算法主要是为了人的阅读与交流, 其次才是为计算机执行,因此算法应该易于人的理解;另一方面,晦涩难读的程序易于隐藏较多错误而难以调试。 算法设计的原则 3.健壮性 当输入的数据非法时,算法应当恰当地作出反映或进行相应处理,而不是产生莫名奇妙的输出结果。并且,处理出错的方法不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理。 算法设计的原则 4.高效率与低存储量需求 通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需的最大存储空间, 两者都与问题的规模有关。 算法设计的原则 算法的时间复杂度 从算法中选取一种对于所研究的问题来说是 基本操作 的原操作,以该基本操作 在算法中重复执行的次数 作为算法运行时间的衡量准则。 算法设计的原则 结构化程序设计方法 采用结构化算法写成的计算机程序是结构化程序。要编写出结构化程序,经常采用的方法是结构化程序设计方法。 这种方法的基本思路是: 把给定的问题按层次(纵方向)、分阶段(横方向)分解为一系列易于编程解决的小问题,然后对应着这些分解的小问题,设计结构化的算法,最后采用语言将算法描述出来。 这样一种程序设计方法就是结构化程序设计方法。 结构化程序设计方法 学习编写程序,就如同学习写文章。 学习写文章,要先后学习字、词组、句子、段落、语法等。 学习编写程序跟写文章类似,要先后学习字符集、标识符、语句、函数、语法,并循序渐进。 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第一章 C语言概述 第二章 程序的灵魂——算法 2.1 算法的概念 2.2 算法的简单举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 算法的概念 计算机应用: 提取数学模型—设计算法—编程—测试—应用 程序=数据结构+算法 数据结构:对数据的描述 算法:对操作的描述 除此之外程序还包括:程序设计方法,和程序

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档