软件工程-2及软件工程课设六子棋.doc

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序编码 习题 【4-1】从下列关于模块化程序设计的叙述中选出5条正确的叙述。 ① 程序设计比较方便,但比较难以维护。 ② 便于由多个人分工编制大型程序。 ③ 软件的功能便于扩充。 ④ 程序易于理解,也便于排错。 ⑤ 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。 ⑥ 模块之间的接口叫做数据文件。 ⑦ 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。 ⑧ 模块间的单向调用关系叫做模块的层次结构。 ⑨ 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。 【4-2】结构化程序设计有时被错误地称为“无GOTO语句”的程序设计。请说明为什么会出现这样的说法,并讨论环绕着这个问题的一些争论。 【4-3】从下面关于程序编制的叙述中,选出三条正确的叙述。 ① 在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方作出适当的解释。 ② 在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于出错的编写方法。 ③ 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要象写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等。 ④ 考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。 ⑤ 编制程序时不可缺少的条件是,程序的输入和输出数据的格式都应确定。其他各项规定都是附带的,无足轻重。 ⑥ 作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规程和单纯的表现方法,注意使整个程序的结构简洁。 【4-7】下面给出一个求实函数方程F(x)在自变量区间 [a, b] 中的全部实根的算法。首先阅读此程序,然后 画出消去全部goto语句的结构化程序流程图。 在算法中,a与b是区间[a, b]的两端点值;eps1与eps2是用户要求的求解精度。如果区间中点的函数值的绝对值小于eps1或新的小区间的长度小于eps2,就认为这个中点为根。 float BinRoot ( float a, float b, float eps1, float eps2 ) { float low= a, high = b, mid, fmid; float flow = Func(low), fhigh := Func(high); label L1, L2, L3; //标号说明,给定某些程序地址 if ( flow * fhigh > 0.0 ) { BinRoot = 0; goto L3; } //无实根 L1: mid = (low + high) / 2; fmid = Func(mid); if ( abs ( fmid ) <= eps1 ) { L2: BinRoot = mid; goto L3; } else if ( high - mid <= eps2 ) goto L2; else if ( flow * fmid > 0.0 ) { low = mid; flow = fmid; goto L1; } else { high = mid; goto L1 }; L3: } 习题解答 【4-1】正确的叙述有②、③、④、⑦、⑧。如果程序结构的模块化满足评价的标准(高内聚,低耦合),这样的结构是容易编码,容易测试,容易理解,容易修改,容易维护的。程序的功能也容易扩充。特别适合于大型程序编制时,多人分工合作,协同完成任务的情形。因为是采用自顶向下,逐层分解来划分模块结构的,所以模块之间的调用关系是分层次的模块结构,就叫做模块的层次结构。模块之间的信息传递叫做模块的接口,模块之间传递信息可以通过参数表、全局变量或全局数据结构、数据文件、专门的通信模块,不是专指数据文件。划分模块时,模块大小要适中。模块太大,控制路径数目多、涉及的范围广、变量的数目多、总体复杂性高,可理解性、可修改性、可靠性就会变差。模块太小,模块个数增大,调用的系统开销就会增大。所以要有一个权衡。 【纷乱如麻的程序流程4-2】早在1963年,针对当时流行的ALGOL语言,Peter Naur指出,在程序中大量地,没有节制地使用GOTO语句,会使程序结构变得非常混乱

文档评论(0)

yu8458925 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档