精选下半年下午试题资料.docx

上传人:b****2 文档编号:566142 上传时间:2022-10-11 格式:DOCX 页数:12 大小:212.82KB
下载 相关 举报
精选下半年下午试题资料.docx_第1页
第1页 / 共12页
精选下半年下午试题资料.docx_第2页
第2页 / 共12页
精选下半年下午试题资料.docx_第3页
第3页 / 共12页
精选下半年下午试题资料.docx_第4页
第4页 / 共12页
精选下半年下午试题资料.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

精选下半年下午试题资料.docx

《精选下半年下午试题资料.docx》由会员分享,可在线阅读,更多相关《精选下半年下午试题资料.docx(12页珍藏版)》请在冰豆网上搜索。

精选下半年下午试题资料.docx

精选下半年下午试题资料

全国计算机技术与软件专业技术资格(水平)考试

2004年下半年软件设计师下午试卷

试题一(15分)

  阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。

某图书管理系统的主要功能是图书管理和信息查询。

对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。

系统的图书管理功能分为四个方面:

购入新书、读者借书、读者还书以及图书注销。

  1、购入新书时需要为该书编制入库单。

入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。

  2、读者借书时需填写借书单。

借书单内容包括读者号和所借图书分类目录号。

系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。

  3、读者还书时需填写还书单。

系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。

  4、注销图书时,需填写注销单并修改图书目录文件中的库存总量。

系统的信息查询功能主要包括读者信息查询和图书信息查询。

其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。

  图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示其中,加工2的细化图如图1-3所示。

 【数据流图1-1】

图1-1图书管理系统顶层图

 【数据流图1-2】

图1-2图书管理系统第0层DFD图

 【数据流图1-3】

 【问题1】(2分)

  数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。

 【问题2】(6分)

  数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。

 【问题3】(7分)

  根据系统功能和数据流图填充下列数据字典条目中的

(1)和

(2):

  查洵请求信息=[查询读者请求信息|查询图书请求信息]

  读者情况=读者号+姓名+所在单位+{借书情况}

  管理工作请求单=__

(1)__

  入库单=__

(2)__

试题二(15分)

  阅读下列说明和E-R图,回答问题1至问题3,将解答填入答题纸的对应栏内。

 【说明】

  某网上订书系统的E-R图(已消除了不必要的冗余)如图2-1所示(图中没有标出主码)。

图中实体的说明如表2-1所示。

相关属性说明如表2-2所示。

表2-1

实体

说明

 Books

 书店内的书

 Gustomers

 与书店有业务的顾客

 Orders

 顾客向书店下的购书单

Doesthe鍗曠嫭鎷栬splashChan?

表2-2

The鍏spoilsthe仈strandу搧主要属性

DoestheQianspoilthe閲嶅弶Qi?

说明

 qty_in_stock

 图书库存量

鍖呰 year_published

 出版日期

TheYue氬埗鐗╂祦 ordernum

 购书单编号

 cid

TheChan栧寘Congplank綍 顾客编号

The鐗╂枡闇€?

Cong″?

 bid

TheJuan€?

鍖呰?

 惟一表示每种图书的编码

 cardnum

TheYing樿Chuai鎶曡祫 顾客信用卡号码

The鏈夊warship鎹熻€?

 orderdate

 填购书单日期

 qty

 订购某种图书的数量

 ship_date

 发货日期

  一个顾客可以在同一天填写多张购书单,每张购书单上可填写多种图书,每种图书可以订购多本,bid相同的图书在同一张购书单上不能出现多次。

  注:

为简化起见,不考虑信用卡号码泄漏所带来的安全性等问题。

 【图2-1】

 【问题1】(9分)

  根据E-R图中给出的词汇,按照“有关模式名(属性,属性,...)”的格式,将此E-R图转换为4个关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。

  [问题2](2分)

  创建Customers表时,cid使用INTEGER数据类型,cname使用CHAR(80)数据类型,address使用CHAR(200)数据类型,cardnum使用CHAR(16)数据类型并且要求此列值惟一。

请在下列用于创建表Customers的SQL语句空缺处填入正确的内容。

  CREATETABLECustomers(cidINTEGERNOTNULL,

  cname  CHAR(80)NOTNULL,

  addressCHAR(200),

  cardnumCHAR(16)NOTNULL,

  __

(1)__,

  __

(2)__)

 【问题3】(4分)

  如下的SQL语句是书店用于查询“所有订购了bid为‘123-456’图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。

  Selectbid

  FromorderlistA

  Wherenotexists(Select*fromOrdersB

  whereA.ordernum=B.ordernumandB.cid__(3)__

  (SelectbidfromorderlistC,ordersD

  where__(4)__.bid='123-456'

  and__(5)__=D.ordernum))

试题三(15分)

  阅读下列说明和数据流图,回答问题1和问题3,将解答填入答题纸的对应栏内。

 【说明】

  某指纹门禁系统结构如图3-1所示,其主要部件有:

主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。

  

(1)系统中的每个电控锁都有一个惟一的编号。

锁的状态有两种:

“已锁住”和“未锁住”。

  

(2)在主机上可以设置每把锁的安全级别以及用户的开锁权限。

只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。

  (3)用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。

  (4)用户开锁时,只需按一下指纹采集器。

指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。

  该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-3是用户成功开锁的序列图。

 【问题1】(6分)

  图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look的主要属性。

 【问题2](5分)

  依据上述说明中给出的词语,将图3-3中的

(1)~(5)处补充完整。

 【问题3】(4分)

组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。

请说明组装和聚集分别表示什么含义?

两者的区别是什么?

试题四(15分)

  阅读下列说明和数据流图,回答问题1和问题3,将解答填入答题纸的对应栏内。

 【说明】

  在并发系统设计中,通过对信号量s的P、V操作实现进程的同步与互斥控制。

  P(S):

S:

=S-1,若S≥0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。

  V(S):

S:

=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。

 【问题1】(4分)

  在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。

发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。

假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。

发送进程A和接收进程B的工作流程如图4-1所示。

请在图4-1中的空

(1)~(4)处填入正确的内容。

 【问题2】(5分)

  若系统中有多个发送进程和接收进程,进程间的工作流程如图4-2所示,其中空

(1)~(4)的内容与图4-1相同。

发送进程产生消息并顺序地写入环形缓冲区BUFFER,接受者进程顺序地从BUFFER中取消息,且每条消息只能读取一次。

为了保证进程间的正常通讯,增加了信号量SA和SB。

  ①请说明信号量SA和SB的物理意义,并在图4-2中的空(5)和空(6)处填入正确的内容。

  ②请从图4-2的(a)~

(1)中选择四个位置正确地插入P(SA)、V(SA)、P(SB)、V(SB)。

 【图4-2]】

 【问题3】(6分)

  设系统中只有进程A和进程B,除了互斥地使用CPU和打印机R外,进程A和B不使用其他资源。

另外,进程B的优先级比A高,而进程A先于B准备好。

进程A和B的执行情况如图4-3所示,其中粗实线表示进程在执行中,细实线表示打印机R在使用中。

(每个进程具有三种状态:

运行,就绪和阻塞)

  请说明进程A和B在图4-3所示的T1、T2、T3、T4时刻所处的状态;若是阻塞状态,请说明阻塞原因。

 【图4-3】

试题五(15分,每空3分)

  阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

 【说明】

  函数intToplogical(LinkedWDigraphG)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。

其中图G表示一个具有n个顶点的AOE-网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下:

  typedefstructGnode{     /*邻接表的表结点类型*/

   intadjvex;        /*邻接顶点编号*/

   intweight;        /*弧上的权值*/

   structGonde*nextare;   /*指示下一个弧的结点*/

  }Gnode;

  typedefstructAdjlist{    /*邻接表的头结点类型*/

   charvdata;          /*顶点的数据信息*/

   structGnode*Firstadj;   /*指向邻接表的第一个表结点*/

  }Adjlist;

  typedefstructLinkedWDigraph{  /*图的类型*/

   intn,e;          /*图中顶点个数和边数*/

   structAdjlisthead;     /*指向图中第一个顶点的邻接表的头结点*/

  }LinkedWDigraph;

  例如,某AOE-网如图5-1所示,其邻接表存储结构如图5-2所示。

  【函数】

  intToplogical(LinkedWDigraphG)

  {Gnode*p;

     intj,w,top=0;

     intStack,ve,*indegree;

     ve=(int)mallloc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1