第3单元 算法和基本程序设计.pptVIP

第3单元 算法和基本程序设计.ppt

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

第3章 算法和基本程序设计 3.1 算法的概念 3.2 结构化程序设计方法 3.3 程序的基本结构 3.4 顺序结构程序设计 3.5 数据的输入输出 3.6 C程序的上机步骤 3.1 算法的概念 1.定义: 做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。 ??2.计算机算法可分为两大类: 数值运算算法:求解数值; 非数值运算算法:事务管理领域。 一个著名的公式 数据结构+算法=程序 数据:计算机所能识别、存储和处理的对象。数据的动态性。 数据结构:确定数据对象及其存储方式,并定义在这些数据对象上的运算集合。 算法:为解决一个问题而采取的方法和步骤。 算法的特性 1 有穷性 操作步骤是有限的,不是无限的。 2 确定性 每个步骤是确定的,无歧义性。 3 有零个或多个输入 4 有一个或多个输出 5 有效性 每一步骤能有效执行,并得到确定结果。 3.1.2 算法的评价标准 1. 正确性 对任何合法的输入,算法都会得出正确的结果。 2. 可读性 可读性指算法被理解的难易程度。 3. 健壮性(鲁棒性) 健壮性即对非法输入的抵抗能力。 4. 高效率与低存储量需求 通常,效率指的是算法执行时间;存储量指的是算法执行过程中所需的最大存储空间,两者都与问题的规模有关。二者往往是一对矛盾,常常可以用空间换时间,也可以用时间换空间。 怎样表示一个算法 【例3.1】 求三个整数的和。 求三个整数和的算法流程图如图所示。 【例3.2】 求最大公约数。 S1: 求1×2=2 S2: 求2×3=6 S3: 求6×4=24 ?????? 天啊!共需999个步骤,太可怕了。 3.2 结构化程序设计的方法 结构化程序设计思想采用了模块分解与功能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护,减少程序的出错概率和提高软件的开发效率。 采用结构化程序设计方法应遵循以下原则。 1. 自顶向下 即在程序设计时,先考虑总体,做出全局设计,然后再考虑细节进行局部设计,逐步实现精细化。这种方法称为“自顶向下,逐步细化”的方法。 2. 模块化 就是将一个大任务分成若干个较小的部分,每一部分承担一定的功能,称为“功能模块”。每个模块可以分别编程和调试,然后组成一个完整的程序。模块的划分应遵循一些基本原则,如模块内部联系要紧密,关联程度要高;模块间的接口要尽可能简单,以减少模块间的数据传递。 3. 限制使用GOTO语句 结构化的程序设计方法 基本思路: 把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内. 采用的方法: 1 自顶而下 2 逐步细化 3 模块化设计 4 结构化编码 三种基本结构 1 顺序结构 2 选择结构 3 循环结构 三种基本结构的特点 1 只有一个入口 2 只有一个出口 顺序结构的流程图符号 选择结构的流程图符号 选择结构的流程图符号(续) 循环结构的流程图符号 循环结构的流程图符号(续) 一个有用的结论 已经证明: 三种基本结构的顺序组成可以表示任何复杂的算法结构。 由基本结构构成的算法,属于“结构化”算法。 有关结构化算法的总结 一个结构化的算法是由一些基本结构顺序组成的;基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构的范围之内(如循环中的流程跳转); 3.4 顺序结构程序设计 1. 表达式语句 表达式语句是在各种表达式后加一个分号(;)形成一个表达式语句。 2. 空语句 空语句直接由分号(;)组成,常用于控制语句中必须出现语句之处。它不做任何操作,只在逻辑上起到有一个语句的作用。例如: ; 空语句也是一个语句,不产生任何动作。空语句常用于构成标号语句,标识程序中相关位置;循环语句中空循环体;模块化程序中未实现的模块及暂不链入的模块。 3. 函数调用语句 由函数调用加上分号组成。 4.复合语句是由一对花括号{ }括起的若干个语句,语法上可以看成是一个语句。复合语句中最后一个语句的分号不能省略。例如下面是一个复合语句: { z = x; x = y; y =z; } 凡是单一语句可以存在的位置,均可以使用复合语句。复合语句用在语法上是单一语句,而相应操作需多条语句描述的情况。 5. 控制语句 控制语句有条件判断语句(if、switch),循环语句(for、while、do-while),转移语句(goto、continue、break、return)。控制语句根据控

文档评论(0)

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

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

1亿VIP精品文档

相关文档