版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章l 本章要点l 主要内容2.1 2.1 算法的概念算法的概念2.2 2.2 简单算法举例简单算法举例2.3 2.3 算法的特性算法的特性2.4 2.4 怎样表示一个算法怎样表示一个算法2.5 2.5 化程序设计方法化程序设计方法 C程序设计(第三版)程序设计(第三版) http:/ 4一个程序应包括两个方面的内容: 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式: 数据结构数据结构 + 算法算法 = 程序程序数据结构算法程序设计方法语言工具数据结构算法程序设计方法语言工具完整的程序设计应该是:C程序设
2、计(第三版)程序设计(第三版) http:/ 5 2.1 2.1 算法的概念算法的概念 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。 方法1:1+2,+3,+4,一直加到100 加99次 方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次对同一个问题,可有不同的解题方法和步骤例: 求1001nnC程序设计(第三版)程序设计(第三版) http:/ 6 2.3 2.3 算法的特性算法的特性 有穷性:包含有限的操作步骤。 确定性:算法中的每一个步骤都应当是确定的。 有零个或多个输入:输入是指在执行算法时需要从外界取得必要
3、的信息。 有一个或多个输出:算法的目的是为了求解,“解” 就是输出。 有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果 。一个算法应该具有以下特点:一个算法应该具有以下特点:C程序设计(第三版)程序设计(第三版) http:/ 7 2.4 2.4 算法的表示可以用不同的方法表示算法,常用的有: 自然语言自然语言 传统流程图传统流程图 结构化流程图结构化流程图 伪代码伪代码 PADPAD图图C程序设计(第三版)程序设计(第三版) http:/ 8 2.4.2 2.4.2 用流程图表示算法用流程图表示算法美国国家标准化协会ANSI(American National Standard
4、 Institute)规定了一些常用的流程图符号:起止框起止框判断框判断框处理框处理框输入输入/输出框输出框注释框注释框流向线流向线连接点连接点C程序设计(第三版)程序设计(第三版) http:/ 9例例2.6 将求将求5!的算法用流程图表示的算法用流程图表示如果需要将最后结果打印出来,可在菱形框的下面加一个输出框。 C程序设计(第三版)程序设计(第三版) http:/ 10 2.4.3 2.4.3 三种基本结构和改进的流程图三种基本结构和改进的流程图1.传统流程图的弊端 传统流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以毫不受限制地使流程随意地转向,使流程图变
5、得毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法的逻辑。如图:C程序设计(第三版)程序设计(第三版) http:/ 11传统流程图的流程可以是: 这种如同乱麻一样的算法称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。Be all thumbs缺点:难以阅读、修改,使算法的可靠性和可维护性难以保证。解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向,只能顺序地进行下去。 C程序设计(第三版)程序设计(第三版) http:/ 122.三种基本结构 Bohra和Jacopini提出了以下三种基本结构: 顺序结构、选择结构、循环结构顺序结构、选择结
6、构、循环结构 用这三种基本结构作为表示一个良好算法的基本单元。C程序设计(第三版)程序设计(第三版) http:/ 13三种基本结构的图示: 顺序结构顺序结构选择结构选择结构这两种结构中,箭头没有往回的指向。这两种结构中,箭头没有往回的指向。只有一种选择C程序设计(第三版)程序设计(第三版) http:/ 14循环循环结构的图示:dead-loop 当型当型(While型型)循环结构循环结构 直到型直到型(Until型型)循环循环 C程序设计(第三版)程序设计(第三版) http:/ 15三种基本结构的共同特点:(1)只有一个入口。 (2)只有一个出口。(请注意:一个菱形判断框有两个出口,而一
7、个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)(3)结构内的每一部分都有机会被执行到。(4)结构内不存在“死循环”(无终止的循环)。 C程序设计(第三版)程序设计(第三版) http:/ 16 图中没有一条从入口到出口的路径通过A框不正确的流程表示:流程内的死循环未作判未作判断断C程序设计(第三版)程序设计(第三版) http:/ 17 N-S流程图用以下的流程图符号: (1)顺序结构(2)选择结构(3)循环结构C程序设计(第三版)程序设计(第三版) http:/ 18采取以下方法来保证得到结构化的程序: 自顶向下; 逐步细化; 模块化设计; 结构化编码。两种不同的方法:两种不同的方法: 自顶向下,逐步细化;自顶向下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高校教师思政教育能力考核模拟试卷(含答案)
- 2026年注册测绘师《测绘管理与法规》专项训练试卷
- 2026年公路养护工程师考试《养护技术》冲刺押题试卷附答案
- 2026年应急预案考核患者发生过敏性休克应急程序试题(含答案)
- 2026年汽车维修工(中级)模考试题+参考答案
- 2026年医疗质量与安全管理知识试卷附答案
- 2026年衡阳市员额法官遴选面试考题及答案
- 2026年餐饮服务食品安全操作规范试题附答案
- 2026年建筑安全员C2安全生产标准化自评测试题含答案
- 2026年公共营养师三级营养干预方案制定练习题附答案
- 第一章-动物的生殖器官
- 新疆交通投资(集团)有限责任公司2026年秋季校园招聘(767人)笔试模拟试题及答案详解
- 2026年浙江省专升本高等数学基础习题集
- 2026中国现代农业服务行业市场现状农业生产分析研究规划报告
- 2026版公路水运工程试验检测专业技术人员职业资格考试《交通工程一本通》
- 2026年版高中英语(外研社版)单词大全
- 河道管理范围内建设项目防洪评价报告编制导则
- 2026广东河源市连平县事业单位随军家属招聘工作人员2人重点基础提升(共500题)附带答案详解
- 烘焙营销方案模板范本(3篇)
- 加油站油罐安装施工方案
- 中小学内部控制相关制度
评论
0/150
提交评论