问答题
试题二(15 分 ) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明 】 某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运作活动。 【需求分析结果】 1. 商场需要记录的信息包括商场编号(编号唯一),商场名称,地址和联系电话。某商场信息如表2-1所示。
2. 每个商场包含有不同的部门,部门需要记录的信息包括部门编号(集团公司分配),部门名称,位置分布和联系电话。某商场的部门信息如下图所示。
3. 每个部门雇用多名员工处理日常事务,每名员工只能隶属于一个部门(新进员工在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号(集团公司分配),姓名,岗位,电话号码和工资。员工信息如下图所示。
4. 每个部门的员工中有一名是经理,每个经理只能管理一个部门,系统需要记录每个经理的任职时间。 【概念模型设计 】 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
【关系模式设计 】 商场(商场编号,商场名称,地址,联系电话) 部门(部门编号,部门名称,位置分布,联系电话,
(a)
) 员工(员工编号,员工姓名,岗位,电话号码,工资,
(b)
) 经理(
(c)
,任职时间) 【问题 2】 (6 分) 根据实体联系图,将关系模式中的空(a)~(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。
【参考答案】
点击查看答案&解析
<上一题
目录
下一题>
热门
试题
问答题
试题五(共 15 分)阅读下列说明和C 函数代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个结点,且每个结点仅访问一次的过程。函数InOrder()借助栈实现二叉树的非递归中序遍历运算。设二叉树采用二叉链表存储,结点类型定义如下:typedef struct BtNode{ElemType data; *结点的数据域,ElemType的具体定义省略* struct BtNode *lchild,*rchild; *结点的左、右孩子指针域* }BtNode, *BTree;在函数InOrder()中,用栈暂存二叉树中各个结点的指针,并将栈表示为不含头结点的单向链表(简称链栈),其结点类型定义如下:typedef struct StNode{ *链栈的结点类型* BTree elem; *栈中的元素是指向二叉链表结点的指针* struct StNode *link;}StNode;假设从栈顶到栈底的元素为 en、en-1、…、e1,则不含头结点的链栈示意图如图5-1所示。【C函数】int InOrder(BTree root) * 实现二叉树的非递归中序遍历 * {BTree ptr; * ptr用于指向二叉树中的结点 * StNode *q; * q暂存链栈中新创建或待删除的结点指针* StNode *stacktop = NULL; * 初始化空栈的栈顶指针stacktop * ptr = root; * ptr指向二叉树的根结点 * while ( (1) || stacktop != NULL) {while (ptr != NULL) {q = (StNode *)malloc(sizeof(StNode));if (q == NULL)return -1;q->elem = ptr;(2) ;stacktop = q; *stacktop指向新的栈顶* ptr = (3) ; *进入左子树* }q = stacktop;(4) ; *栈顶元素出栈* visit(q); *visit是访问结点的函数,其具体定义省略* ptr = (5) ; *进入右子树* free(q); *释放原栈顶元素的结点空间* }return 0;} *InOrder*
点击查看答案&解析
问答题
试题六(共15分)阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG 和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG 和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计所得类图如下图所示。采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。【C++代码】class Matrix{ 各种格式的文件最终都被转化为像素矩阵 此处代码省略};class ImageImp{public:virtual void doPaint(Matrix m) = 0; 显示像素矩阵m};class WinImp : public ImageImp{public:void doPaint(Matrix m){ *调用windows系统的绘制函数绘制像素矩阵* }};class LinuxImp : public ImageImp{public:void doPaint(Matrix m){ *调用Linux系统的绘制函数绘制像素矩阵* }};class Image {public:void setImp(ImageImp *imp){ (1) = imp;}virtual void parseFile(string fileName) = 0;protected:(2) *imp;};class BMP : public Image{public:void parseFile(string fileName){ 此处解析BMP 文件并获得一个像素矩阵对象m(3) ; 显示像素矩阵m}};class GIF : public Image{ 此处代码省略};class JPEG : public Image{ 此处代码省略};void main(){ 在windows操作系统上查看demo.bmp图像文件Image *image1 = (4) ;ImageImp *imageImp1 = (5) ;(6) ;image1->parseFile( demo.bmp );}现假设该系统需要支持10种格式的图像文件和5种操作系统,不考虑类Matrix,若采用桥接设计模式则至少需要设计(7)个类。
点击查看答案&解析
相关试题
【问题 3】 (3 分)为了使商场有紧急...
【问题 3】(2 分 ) 解释图3-1中...
【问题2】(3 分)【问题】中伪代码的时...
【问题 2】(6 分 )根据【说明 】中...