1. 下面是两个程序流程图,试分别用n-s图和pad表示之,并计算它们的mccabe复杂性度量。
它们的mccabe复杂性度量都为3.
2. 从下列关于模块化程序设计的叙述中选出5条正确的叙述。
① 程序设计比较方便,但比较难以维护。
② 便于由多个人分工编制大型程序。
③ 软件的功能便于扩充。
④ 程序易于理解,也便于排错。
⑤ 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥ 模块之间的接口叫做数据文件。
⑦ 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧ 模块间的单向调用关系叫做模块的层次结构。
⑨ 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。
3. 从供选择的答案中选出应该填入下面 ( 中的正确答案。
a. 汇编程序是指 ( 1 )。
用汇编语言写的程序 ② 符号程序汇编语言的处理程序。
b. 为了实现递归子程序的正确调用,人们必须用 ( 1 ) 来保存 ( 5 ) 及有关信息。
堆栈线性表队列树。
入口点返回地址断点。
c. unix操作系统是 ( 1 ) 研制的,它是用程序语言 ( 7 ) 书写实现的。
bell实验室 ② dec公司ibm公司pascal
并发pascal ⑥ modulac
4. 下面给出一个求实函数方程f(x)在自变量区间 [a, b] 中的全部实根的算法。首先阅读此程序,然后。
(1) 画出消去全部goto语句的结构化程序流程图。
(2) 将它改成n_s图。
3) 计算该程序的mccabe复杂性度量。
在算法中,a与b是区间[a, b]的两端点值;eps1与eps2是用户要求的求解精度。如果区间中点的函数值的绝对值小于eps1或新的小区间的长度小于eps2,就认为这个中点为根。
float binroot ( float a, float b, float eps1, float eps2 )
else if ( high - mid <=eps2 ) goto l2;
else if ( flow * fmid > 0.0 )
else ;l3:
n-s图。3) 环路复杂性度量 v(g) =6
5. 软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?
6. 解答: 从六个方面描述软件复杂性:
理解程序的难度;
改错及维护程序的难度;
向他人解释程序的难度;
按指定方法修改程序的难度;
根据设计文档编写程序的工作量;
执行程序时需要资源的程度。 软件复杂性度量模型应遵循的基本原则:
软件复杂性与程序大小的关系不是线性的;
控制结构复杂的程序较复杂;
数据结构复杂的程序较复杂;
转向语句使用不当的程序较复杂;
循环结构比选择结构复杂,选择结构又比顺序结构复杂;
语句、数据、子程序和模块在程序中的次序对软件复杂性都有影响;
全程变量、非局部变量较多时程序较复杂;
参数按地址传递比按值传递更复杂;
函数***比显式参数传递更难以琢磨;
具有不同作用的变量共用一个名字时较难理解;
模块间或过程间联系密切的程序较复杂;
嵌套深度越深程序越复杂。
上机题。1.设在闭区间 [a..b] 上函数f(x) 有唯一的一个零点,如下图所示。
下面给出一个用c语言写出的程序段,用二分法求方程f(x)=0 在区间 [a..b] 中的根。程序段中x0、x1 是当前求根区间 [x0..
x1] 的下上界,xm是该区间的中点,eps 是一个给定的很小正数,用于迭代收敛的判断。在程序中采取了用goto语句和标号finish控制在循环中途转出循环。
程序〗 f0 = f (a); f1 = f (b);
if ( f0 * f1 <=0 )
elsex1 = x;
finish: printf (“n the root of this equation is %d”,xm );
这类循环结构出现了两个循环出口。一个是for循环的正常出口:当循环控制变量i超出了循环终值n时退出循环;另一个是for循环的非正常出口:
当某种条件满足时,从循环中间某处转出循环,执行循环后面的语句。它不满足结构化的要求。
试利用结构化程序设计要求的几种基本控制结构,消除其中的goto语句,使得每一个部分都是单入口单出口。
作业7答案
1.用某种排序方法对线性表 25,84,21,47,15,27,68,35,20 进行排序时,元素序列的变化情况如下 15,20,21,25,27,35,47,68,84,问采用的是什么排序方法?答 用的是快速排序方法。注意每一趟要振荡完全部元素才算一个中间结果。2.对于整数序列100,99,98,...
1 7 1 7作业答案
第七节无穷小的比较。一 填空题。1.当时,是的低阶无穷小 是的等价 或同阶 无穷小 是的低阶无穷小 是的同阶无穷小 是的等价 或同阶 无穷小 是的高阶无穷小。提示 2.已知时,与为等价无穷小,则常数。提示 二 计算题。1 解 2.解 3.解 4.解。第八节函数的连续性与间断点。一 填空题。1.设在处...
作业7 群落 答案
班级姓名。一 选择题 共10题,每空1分 1 浅海中牡蛎与鱼类 节肢动物 棘皮动物等生物生活在一起。这些生物构成了 a a 群落b 种群c 生态系统d 生态因子。2 大多数生物群落在空间上有垂直分层现象,称为群落的垂直结构。引起森林群落中植物和动物垂直分层现象的主要因素分别是d a.温度 食物 b....