📄 200502_rjsjs.htm
字号:
<td><p align="left">货物名称 </p></td>
<td><p align="left">单价 </p></td>
<td><p align="left">数量 </p></td>
</tr>
<tr>
<td><p align="left">6900100180988 </p></td>
<td><p align="left">全自动洗衣机 </p></td>
<td><p align="left">1680.00 </p></td>
<td><p align="left">26 </p></td>
</tr>
<tr>
<td><p align="left">6900100170655 </p></td>
<td><p align="left">32 寸彩色电视机 </p></td>
<td><p align="left">7580.00 </p></td>
<td><p align="left">20 </p></td>
</tr>
<tr>
<td><p align="left">6900100160126 </p></td>
<td><p align="left">1P 空调 </p></td>
<td><p align="left">2360.00 </p></td>
<td><p align="left">60 </p></td>
</tr>
</table>
<p align="left"> 管理员: 出库 / 入库:出库 </p>
<p> </p>
<p> 该系统处理业务的过程如下: <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>1. 初始化:前端机根据仓库号从货物表中读取本仓库中每种货物的货物编码、库存量、货物名称和单价。 </p>
<p>2. 登记出库 / 入库信息:由前端机存储每一笔 " 出库 / 入库 " 记录。 </p>
<p>3. 汇总:在每个工作日结束前汇总当日各种货物的 " 出库 / 入库 " 量至日汇总表; </p>
<p>4. 更新库存表:根据当日的汇总信息更新货物的库存。 </p>
<p> 李工经过分析,设计出如图 2-3 所示的关系模式。 </p>
<p>[ 图 2-3] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 出入库单(流水号,出入库标志,管理员号,时间) </p>
<p> 出入库记录(货物编码,数据,流水号) </p>
<p> 日汇总表(日期,货物编码,数量,出入库标志) </p>
<p> 仓库(仓库号,仓库名,仓库电话) </p>
<p> 管理员(管理号,姓名,仓库号) </p>
<p> 货物( __________(a)__________ ) </p>
<p> 注:时间格式为:年-月-日时:分:日期格式为:年-月-日。 </p>
<p> 实体联系图的表示方法如图 2-4 所示,其中方框表示实体,菱形表示联系,联系的类型在实体 </p>
<p>与联系的边上标出。图 2-5 为与该系统对应的实体联系图。 </p>
<p>[ 图 2-4] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p><img width="572" height="196" src="200502_rjsjs/200502_rjsjs_clip_image004_0000.gif"></p>
<p> </p>
<p>[ 图 2-5] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p><img width="619" height="114" src="200502_rjsjs/200502_rjsjs_clip_image005_0000.gif"></p>
<p> </p>
<p>[ 问题 1] ( 3 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 根据题意,补充图 2-3 中 (a) 处的空缺,即货物关系模式的属性。 </p>
<p>[ 问题 2] ( 6 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 根据题意,补充图 2-5 中缺失的联系和联系的类型,使其成为完善的实体联系图。其中,联系名分别取名为联系 1 ,联系 2 ,联系 3 ,…。 </p>
<p>[ 问题 3] ( 6 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span><span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 写出每种关系模式的主键,将其填写在答题纸的对应栏内。 </p>
<p> </p>
<p>试题三(共 15 分) </p>
<p> 阅读下列说明和图,回答问题 1 至问题 4 ,将解答填入答题纸的对应栏内。 </p>
<p>[ 说明 ] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 某公司计划与客户通过 Internet 交换电子邮件和数据 ( 以下统一称为 " 消息 ") 。为保障安全,在对传输的数据进行加密的同时,还要对参与通信的实体进行身份认证。因此,需同时使用对称与非对称密钥体系。图 3-2 描述了接收者 B 使用非对称密钥体系对发送者 A 进行认证的过程。 </p>
<p>[ 图 3-1] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p><img width="618" height="255" src="200502_rjsjs/200502_rjsjs_clip_image006_0000.gif"></p>
<p> </p>
<p> 图 3-2 描述了发送和接收消息的过程,其中的认证过程使用了图 3-1 中的方法。图 3-1 中的方框 a 和方框 b 与图 3-2 中的方框 a 和方框 b 相同。 </p>
<p>[ 图 3-2] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p><img width="614" height="295" src="200502_rjsjs/200502_rjsjs_clip_image007_0000.gif"></p>
<p> </p>
<p> 图 3-2 中发送和接收消息的过程是: <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>1 )发送者 A 使用与接收者 B 共享的对称密钥体系的密钥加密将要发送的消息。 </p>
<p>2 )为了实现身份认证, A 使用与 B 共享的摘要算法生成消息摘要,并使用公钥密码体系把生成的消息摘要加密后发送给 B (这里假设 A 和 B 都通过安全的方法获得对方的公钥)。 <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>3 ) B 使用非对称密钥体系解密收到的消息摘要,使用与 A 共享的对称密钥体系的密钥解密加密后的消息,再使用与 A 共享的摘要算法针对解密后的消息生成消息摘要。 <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>4 ) B 对比自已生成的消息摘要与接收到的 A 发送的消息摘要是否相同,从而验证发送者 A 的身份。 <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>[ 问题 1] ( 2 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 请在下列选项中选择合适的答案,填入图 3-1 、 3-2 的方框 a 和方框 b 。 </p>
<p>B 的公钥, B 的私钥,摘要算法, A 的私钥, A 的公钥,会话密钥 </p>
<p>[ 问题 2] ( 4 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 请在下列选项中选择合适的答案,填入图 3-2 的方框 c 至方框 f 。 </p>
<p>B 的公钥, B 的私钥,摘要算法, A 的私钥, A 的公钥,会话密钥 </p>
<p>[ 问题 3] ( 5 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 按照图 3-2 中的方法发送邮件时,使用不同的密码体制加密消息和消息摘要,请用 150 字以内文字简要说明这样做的理由。 </p>
<p>[ 问题 4] ( 4 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 请从下面关于摘要函数的说法中选出所有正确的描述。 </p>
<p>[a] 很容易使不同的输入数据生成相同的输出数据。 </p>
<p>[b] 根据输入数据获取输出数据的时间非常短。 </p>
<p>[c] 根据输入数据获取输出数据的时间非常长。 </p>
<p>[d] 输出数据的长度比输入数据的长度要长。 </p>
<p>[e] 根据输出数据无法还原出输入数据。 </p>
<p><span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span> </p>
<p>试题四(共 15 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 阅读以下函数说明、图和 C 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。 </p>
<p>[ 说明 ] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 散列文件的存储单位称为桶 (BUCKET) 。假如一个桶能存放 m 个记录,当桶中已有 m 个同义词(散列函数值相同)的记录时,存放第 m+1 个同义词会发生 " 溢出 " 。此时需要将第 m+1 个同义词存放到另一个称为 " 溢出桶 " 的桶中。相对地,称存放前 m 个同义词的桶为 " 基桶 " 。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。 </p>
<p> 例如:设散列函数为 Hash(Key)=Key mod 7 ,记录的关键字序列为 15 , 14 , 21 , 87 , 96 , 293 , 35 , 24 , 149 , 19 , 63 , 16 , 103 , 77 , 5 , 153 , 145 , 356 , 51 , 68 , 705 , 453 ,建立的散列文件内容如图 4-1 所示。 </p>
<p>[ 图 4-1] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p align="center"><img width="616" height="307" src="200502_rjsjs/200502_rjsjs_clip_image008.gif"></p>
<p><span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span> </p>
<p> 为简化起见,散列文件的存储单位以内存单元表示。 <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 函数 InsertToHashTable ( int NewElemKey )的功能是:若新元素 NewElemKey 正确插入散列文件中,则返回值 1 ;否则返回值 0 。 </p>
<p> 采用的散列函数为 Hash(NewElemKey)=NewElemKey % P ,其中 P 设定的基桶数目。 </p>
<p> 函数中使用的预定义符号如下: <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>#define NULLKey -1 /* 散列桶的空闲单元标识 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>#define P 7 /* 散列文件中基桶的数目 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>#define ITEMS 3 /* 基桶和溢出桶的容量 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>typedef struct BucketNode { /* 基桶和溢出桶的类型定义 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>int KeyData[ITEMS]; <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>struct BucketNode *Link; <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>}BUCKET;BUCKET Bucket[P]; /* 基桶空间定义 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>[ 函数 ] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>int InsertToHashTable(int NewElemKey){ </p>
<p>/* 将元素 NewElemKey 插入散列桶中 , 若插入成功则返回 0, 否则返回 -1*/ </p>
<p>/* 设插入第一个元素前基桶的所有 KeyData[] 、 Link 域已分别初始化为 NULLKEY 、 NULL*/ </p>
<p>int Index; /* 基桶编号 */ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>int i,k; BUCKET *s,*front,*t; </p>
<p>____(1)____; </p>
<p>for(i=0;i<ITEMS; i++) /* 在基桶查找空闲单元,若找到则将元素存入 */ </p>
<p>if (Bucket[Index].KeyData[i] == NULLKEY) { </p>
<p>Bucket[Index].KeyData[i] = NewElemKey; </p>
<p>break; </p>
<p>} </p>
<p>if (____(2)____)return 0; <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>/* 若基桶已满,则在溢出桶中查找空闲单元,若找不到则申请新的溢出桶 */ </p>
<p>_____(3)_____; </p>
<p>t = Bucket[Index].Link; </p>
<p>if (t != NULL) { /* 有溢出桶 */ </p>
<p>while (t != NULL) { </p>
<p>for(k = 0;k < ITEMS; k++) </p>
<p>if (t -> KeyData[k] == NULLKEY) { /* 在溢出桶链表中找到空闲单元 */ </p>
<p>t -> KeyData[k] = NewElemKey; </p>
<p>break; </p>
<p>} /*if*/ </p>
<p>if (____(4)____) t = t-> Link; </p>
<p>else break; </p>
<p>} /*while*/ <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>} /*if*/ </p>
<p>if (____(5)____) { /* 申请新溢出桶并将元素存入 */ </p>
<p>s = (BUCKET *)malloc(sizeof(BUCKET)); </p>
<p>if (!s) return -1; </p>
<p>s->Link = NULL; </p>
<p>for(k = 0; k < ITEMS; k++) </p>
<p>s->KeyData[k] = NULLKEY; </p>
<p>s->KeyData[0] = NewElemKey; </p>
<p>_____(6)_____; </p>
<p>} /*if*/ </p>
<p>return 0; <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>} /*InsertToHashTable*/ </p>
<p> </p>
<p> 从下列的 3 道试题(试题五至试题七)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。 </p>
<p> </p>
<p>试题五(共 15 分) <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 阅读以下说明和 C++ 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。 </p>
<p>[ 说明 ] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p> 在一公文处理系统中,开发者定义了一个公文类 OfficeDoc, 其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个 C++ 源文件中,能够正确编译通过。 </p>
<p>[C++ 代码 ] <span class="style1">欢迎访问软件考试网(www.hbsoft.net)</span></p>
<p>#include <iostream> </p>
<p>const OBS_MAXNUM = 20 // 最多与 OfficeDoc 对象相关联的 DocExplorer 对象的个数 </p>
<p>____(1)____; </p>
<p>class DocExploer { // 关注 OfficeDoc 公文对象的类 </p>
<p>public: </p>
<p>DocExplorer (____(2)____ *doc); // 构造函数 </p>
<p>_____(3)____ </p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -