第4章问题求解 - 课程中心.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章问题求解 - 课程中心

* 顺序结构 (a) (b) * 选择结构 * 循环结构 四、算法 主要内容 算法的基本概念和特性 算法的表示方法 算法的复杂度评价 不同结构的算法描述示例 * * 1. 算法的基本概念 算法(Algorithm)一词来源于阿拉伯数学家AIKhowarizmi编写出版的《波斯教科书》(Persian Textbook),书中概括了进行算术四则运算的法则。后来的《韦氏新世界词典》将其定义为“求解某种问题的任何专门的方法”。 * 2. 算法的特性 有穷性: 一个算法必须是在执行有穷步后结束,且每一步都能在有限的时间内完成。即一个算法所包含的计算步骤和时间都是有限的。 确定性: 算法的每一个步骤都必须具有确切的定义,即算法中所有有待执行的动作,都必须有严格地、毫不含混地规定,不能有歧义。 * 算法的特性 能行性(或称可行性): 算法中所有有待实现的运算都必须是能够精确执行的,且用纸和笔做有穷次即可完成。算法的执行者甚至不需要掌握算法的含义即可根据算法的每个步骤要求进行操作,并最终得出正确的结果。 输入: 一个算法应该有0个或多个输入。 输出: 一个算法应该有1个或多个输出。 3. 算法的表示 自然语言 伪代码 流程图 * * 算法的伪代码(Pseudo code)描述 介于自然语言和计算机语言之间的一种语言。 cout 请输入学生姓名、学号、英语成绩、计算机基础 成绩 cin 姓名1 学号1 英语成绩1 计算机介于自然语言和计算机语言之间的一种语言算机基础成绩 cin 姓名2 学号2 英语成绩2 计算机基础成绩2 合计2=英语成绩2+计算机基础成绩2 if(合计1 合计2) if(英语成绩10 并且 计算机基础成绩10) cout 姓名1 学号1 else if(英语成绩20 并且 计算机基础成绩20) cout 姓名2 学号2 算法的流程图表示 流程图是采用图形符号来表示各种操作步骤的一种方法。 常用流程图符号: * 起止框 I/O框 处理框 判断框 流程线 * 算法的流程图表示 * 4. 算法的复杂度评价 在算法是“正确的”前提下,评价一个算法主要有两个指标: 时间复杂度: 依据算法编制成程序后,在计算机上运行时所消耗的时间。 空间复杂度: 依据算法编制为程序后,在计算机中所占存储空间的大小。时间复杂度 * 算法的复杂度评价 * logn n nlogn n2 2n 0 1 0 1 2 1 2 2 4 4 2 4 8 16 16 3 8 24 64 256 4 16 64 256 65535 5 32 160 1024 4294967296 5. 算法设计举例 * 顺序结构设计举例:二值交换 选择结构设计举例:多项函数值Y的计算 循环结构设计举例:在一批数中挑选最大值 混合结构设计举例:欧几里德算法 * 顺序结构:数A和数B的交换 开始 T=A 输入A和B A=B B=T 输出A和B 结束 选择结构:求多项函数值y * 2x+1 (X≥0) y= -x (X0) 开始 输入X X ≥0 y = x+1 成立 不成立 y = -x 输出Y 结束 * 在10个数中选出最大数并输出 MAX=0 I=1 MAX=X I=I+1 MAX≤X I≤10 X=读下一个数 输出MAX 结束 成立 不成立 不成立 成立 开始 * 欧几里德算法 又称辗转相除法,用于计算两个正整数的最大公约数 欧几里德算法流程 本章小结 了解: 基于计算机的问题求解的一般过程 理解和掌握以下内容: 程序设计的基本概念 程序的基本控制结构 算法的基本概念和描述方法 * 第4章 问题求解 * 教学目标 了解系统性问题求解的一般过程; 理解程序设计的基本概念; 理解结构化程序设计思想和基本程序控制结构; 掌握算法的表示方法及简单算法描述; 了解算法的复杂性评价。 一、问题求解的一般过程 * 问题提出 如果想利用计算机帮我们解决问题,我们需要做什么? 包饺子与问题求解 饺子的各种吃法 评估 预期需求 工作的步骤和分工 可能有的工具及自身能力 * 问题求解的一般过程 需求分析 模块设计 编码调试 测 试 文档编写 * 需求分析与模型建立 需求分析的主要任务是: 在充分理解了用户需求(如课程管理系统需要有哪些功能)及对目标系统(如课程管理系统)领域知识有一定了解的基础上,确定问题“是否可解决”及“解决什么”。 * 需求分析的主要的工作 问题识别 确定用户对目标系统的综合要求; 提出这些需求实现的条件及最后应达到的标准。 分析建模 通过对问题的分析和方案的综合,逐步细化和明确目标系统的各项功能,建立问题求解的模型。 编写需求分析文档 包括编写“需求规格说明书”、“ 初步用户使用手册”、“ 确认测试计划”等。 *

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档