- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【主要内容】 · 揭示函数机制设置的原因和原理以及多个函数间相互关系的本质含义; · 函数的声明、定义、调用形式; · 函数参数的含义、使用规则; · 函数的设计要素及方法实例; · 读程序的训练; · 自顶向下算法设计的训练; · 函数间信息传递调试要点的介绍。 【学习目标】 · 理解程序规模足够大时分模块(函数)构建程序的概念; · 理解并掌握在函数之间传递信息的机制; · 理解并掌握在函数之间信息屏蔽的机制; · 熟练掌握创建新函数的要素; · 理解如何编写和使用能够调用自身的函数。 解决现实问题的大多数程序,规模都比在前几章中所介绍的程序要大得多,这样的程序往往需要多人合作来完成,那么用什么样的规则来把大的任务划分成小的任务呢?按照我们日常处理实际问题的经验,按问题的功能来划分是比较合适的,即把一个大的功能划分成多个小的功能。像前面章节中,计算机处理数据,一般分成数据的输入、数据的处理和数据的输出三部分,合起来就完成了指定的功能。 此外,有些功能我们需要重复使用,如前面已经多次使用的数据的输入/输出功能。有效的做法,不应该是每使用一次同样的功能,都要重新编一次程序。 经验表明,开发和构建大型程序的最好方法就是用较小的程序片段或模块来构建它,其中的模块在必要时是可重复使用的。这就是“分而治之”这种很古老但很实用的策略在程序设计中的应用。 ? 模块:能完成指定功能的子程序。 ? 多模块结构:将程序分为不同的模块,每一模块实现不同的功能。 模块化程序设计的特点如下: (1) 各模块相对独立、功能单一,程序逻辑清晰,便于编写和调试。 (2) 降低了程序设计的复杂性,缩短了开发周期。 (3) 提高了模块的可靠性。 (4) 避免了程序开发的重复劳动。 (5) 易于维护和扩充功能。 “模块”这个词有很多别名,如函数、子程序等。在结构化分析和设计方法中人们常说的就是“模块”;在面向对象分析和设计中又把它说成是“类(class)”;在基于构件的开发方法中的说法则是“构件”。 一个程序只由一个模块组成和由多个小模块组成,除了模块数量不同外,还有其他的区别吗? 答:这正是我们下面要讨论的问题。 下面先来看一个实际生活中做工程的分工合作的例子——铺设瓷砖。 铺设瓷砖的流程包括四个步骤:测量→计算→买料→铺设。 问题一:铺设瓷砖流程中的四个步骤,单人做和四个人分工完成,它们的区别有哪些? 答:可以从工作量、工作性质和彼此间是否需要信息交流这几个方面分项来看,内容如表5.1所示。 表5.1 铺设瓷砖时单人做和多人分工完成的比较 问题二: (1) 一段程序完成此功能与四段子程序完成此功能的不同点有哪些? (2) 如果用程序来实现上述功能,那么问题的关键点又在哪里呢? 答:程序无论是按各功能分段做,还是合起来一起做,对计算机而言,本质是一样的,都是由一个CPU完成,故表5.1中的“工作量”、“工作性质”项都可以忽略,这样,程序在一段里完成四个功能和分四段分别完成四个功能,其不同点就是模块间必须要有信息交流,如“测量”模块测量的结果,要如何交给“计算”模块,“计算”的结果又如何传递给“买料”,等等。 因此,在多模块机制中,计算机解题的关键,就是解决程序按功能“分段”即模块化后模块间“信息交流”在机制上如何设置、如何实现的问题。 程序设计语言应提供这样的交流机制,才能真正在程序中实现多个子程序的构建。 ? 模块:能够单独命名并独立地完成一定功能的程序语句的集合。模块内部的实现细节和数据是外界不可见的,它与外界的联系是通过信息接口进行的。 ? 信息接口:其他模块或程序使用该模块的约定方式,包括输入/输出信息等。 在C语言中,模块的概念是用“函数”一词来描述的。 函数的“信息交流”机制在设置时要考虑哪些因素,是怎样设计出来的? 5.2.1 工程计划 为了说明函数的信息交流机制,首先来看看瓷砖分工铺设的实际流程。 在铺设前,先要做计划,即按照工种、需要的信息、完成的功能、提交的结果等项,填好表5.2。 表5.2 函数的设计思想1——工程计划 5.2.2 工程施工 相对于计划所需要的信息都是抽象的,并不涉及具体的数据;实际施工时,需要的信息都是具体的,具体如表5.3所示。表5.3 函数的设计思想2——工程施工 计划只需要抽象的概念;施工则要有实际的数据。 5.2.3 函数定义形式的设计 与实际的工程类比,我们可以从功能、信息输入和信息输出这三个方面考虑函数的形式设计。 (1) 功能:
您可能关注的文档
- C语言程序设计教程 作者 李玲1 第1章.ppt
- C语言程序设计教程 作者 李玲1 第2章.ppt
- C语言程序设计教程 作者 李玲1 第3章.ppt
- C语言程序设计教程 作者 李玲1 第5章.ppt
- C语言程序设计教程 作者 李玲1 第8章.ppt
- C语言程序设计教程 作者 李玲1 第9章.PPT
- C语言程序设计教程 作者 李玲1 第10章.PPT
- C语言程序设计教程 作者 李玲2 第1章.ppt
- C语言程序设计教程 作者 李玲2 第3章.ppt
- C语言程序设计教程 作者 李玲2 第5章.ppt
- C语言程序设计新视角 作者 周幸妮 全书教案_ 第6章.ppt
- C语言程序设计新视角 作者 周幸妮 全书教案_ 第7章.ppt
- C语言程序设计新视角 作者 周幸妮 全书教案_ 第9章.ppt
- C语言程序设计新视角 作者 周幸妮 全书教案_ 第10章.ppt
- C语言程序设计与应用 双色印刷 张小东 郑宏珍 第1章.ppt
- C语言程序设计与应用 双色印刷 张小东 郑宏珍 第3章.ppt
- C语言程序设计与应用 双色印刷 张小东 郑宏珍 第7章.ppt
- C语言程序设计与应用 双色印刷 张小东 郑宏珍 第8章.ppt
- C语言程序设计与应用 双色印刷 张小东 郑宏珍 第9章.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第2章 C#语言基础.ppt
文档评论(0)