A、 R={(1,2),(2,3),(3,4),(4,5),(6,5)}
B、 R={(1,2),(2,3),(6,5),(3,6),(5,4)}
C、 R={(5,4),(3,4),(3,2),(4,3),(5,6)}
D、 R={(1,2),(2,3),(4,3),(4,5),(5,6)}
答案:B
A、 R={(1,2),(2,3),(3,4),(4,5),(6,5)}
B、 R={(1,2),(2,3),(6,5),(3,6),(5,4)}
C、 R={(5,4),(3,4),(3,2),(4,3),(5,6)}
D、 R={(1,2),(2,3),(4,3),(4,5),(5,6)}
答案:B
A. 冒泡排序为n/2
B. 冒泡排序为n
C. 快速排序为n
D. 快速排序为n(n-1)/2
A. 二分查找法只适用于顺序存储的有序线性表
B. 二分查找法适用于任何存储结构的有序线性表
C. 算法的时间复杂度是指设计算法的工作量
D. 二分查找法适用于有序双向链表
A. 各模块应包括尽量多的功能
B. 各模块的规模应尽量大
C. 各模块之间的联系应尽量紧密
D. 模块内具有高内聚度、模块间具有低耦合度
解析:在结构化程序设计中,模块划分的原则是模块内具有高内聚度、模块间具有低耦合度。这意味着一个模块内部的功能相关性应该很高,模块之间的联系应该尽量减少,以便提高程序的可维护性和可扩展性。
举个例子来说,假设我们要设计一个学生管理系统,可以将系统划分为学生信息管理模块、课程管理模块、成绩管理模块等。这些模块内部应该包含相关的功能,比如学生信息管理模块应该包括学生的基本信息、课程管理模块应该包括课程的信息等。而模块之间的联系应该尽量减少,比如学生信息管理模块和课程管理模块之间应该通过接口进行通信,而不是直接调用对方的函数。
通过保持模块内的高内聚度和模块间的低耦合度,我们可以更好地组织程序结构,提高代码的可读性和可维护性,同时也方便后续的扩展和修改。因此,选项D是正确的答案。
A. 便于插入和删除操作
B. 数据元素的物理顺序与逻辑顺序相同
C. 花费的存储空间较顺序存储少
D. 便于随机存取
A. 软件测试的目的是发现程序中的错误
B. 软件测试是证明软件正确的方法
C. 软件测试是软件调试的一部分
D. 软件测试是保障软件质量的唯一方法
A. 1
B. 2
C. 3
D. 4
A. 其他三项都不对
B. C(C#,Cn,P#)
C. SC(S#,C#,G)
D. S(S#,Sn,Sd,Dc,SA、
解析:首先,我们来解析这道题目。题目给出了三个关系模式:学生S、课程C、选课SC。学生S包含学号、姓名、所在系、所在系的系主任、年龄等属性;课程C包含课程号、课程名、先修课等属性;选课SC包含学号、课程号和成绩等属性。
题目要求找出包含对非主属性部分依赖的关系,即非主属性部分依赖于关系的某一部分属性,而不是整个主属性。根据关系模式S,我们可以看到属性Dc(所在系的系主任)对于属性Sn(学生姓名)是部分依赖的,因为学生姓名并不完全依赖于所在系的系主任,而是依赖于学号。因此,答案是D。
接下来,让我们通过一个生动有趣的例子来帮助你更好地理解这个知识点。假设你是一名学生,你的学号是001,你所在的系是计算机系,系主任是张老师。在关系模式S中,学生姓名Sn并不完全依赖于系主任Dc,因为不同的学生可能在同一个系里,但系主任是不同的。因此,学生姓名Sn部分依赖于学号S#,而不是所在系的系主任Dc。这就是非主属性部分依赖的概念。
A. 数据库设计
B. 软件测试
C. 软件设计
D. 可行性研究
A. 2
B. 3
C. 4
D. 5
A. S#→Sd,Sd→Dc
B. S#→Sd
C. S#→Sd,(S#,C#)→G
D. C#→P#,(S#,C#)→G