频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

模拟试题(8)下午试题

作者: 谢树煜 出处:清华大学出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-04-11 16:40
关 键 词:软件设计师考试全真模拟试题及解析
阅读提示:本书是按照全国计算机技术与软件专业技术资格(水平)考试《软件设计师考试大纲》的要求,参照《软件设计师教程》及近年来考试试题编写的,目的是为应试人员提供演练模拟考试试题及试题分析和解答。试题务求接近真实考试水平,解析力求扼要翔实,对应试人员复习和掌握有关内容很有益处。

1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。
2.在答题纸的指定位置填写准考证号、出生年月日和姓名。
3.答题纸上除填写上述内容外只能写解答。
4.本试卷共6道题,1~4为必答题,5、6中任选一题,每题15分,满分75分。
5.解答时字迹务必清楚,若字迹不清,将不评分。
6.仿照下面例题,将解答写在答题纸的对应栏内。

例题
2006年上半年全国计算机技术与软件专业技术资格(水平)考试日期是 (1) 月
(2) 日。
因为正确的解答是“5月20日”,故在答题纸的对应栏内写上“5”和“20”(参看 下表)。

 

试题1
阅读下列说明和流程图,回答问题1至问题3,把解答填入答题纸的对应栏内。
【说明】
某考务处理系统具有以下功能:
(1)输入报名单;
(2)自动编制准考证号;
(3)输出准考证;
(4)输入成绩清单;
(5)输出成绩通知单;
(6)输出成绩分布表;
(7)输入合格标准、输出录取通知单;
(8)试题难度分析,并输出试题难度分析表。
这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下   所示。
报名单=报名号+姓名+通信地址
考生名册=报名号+准考证号+姓名+通信地址
成绩册=准考证号+{课程号+成绩}(其中{W}表示W重复多次)
准考证=报名号+姓名+准考证号

图:说明和流程

【问题2】
在加工1子图中将遗漏的数据流添加在答题纸上。
【问题3】
加工2子图分解成如图所示的4个子加工及相关的文件(即数据存储)。试在此基础上将相关的DFD成份添加在答题纸上,以完成该加工子图。

加工1子图

试题2
阅读下列说明,回答问题1至问题3,把解答填入答题纸的对应栏内。
【说明】
请设计一个图书馆数据库,此数据库中对每个借阅者保存的读者记录包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本书被借出的书存有读者号、借出日期和应还日期。

加工2子图

【问题1】
给出E-R图
【问题2】
转换成关系模型
【问题3】
给其中任何一个表用SQL语句建表。

试题3
阅读下列说明和流程图,回答问题,把解答填入答题纸的对应栏内。
【说明】
某公司的用品采购流程如下所述。
(1)由营业部门提出需求用品清单。
(2)将需求用品清单交采购部门建立采购采买单据。
(3)采购部门建立采购采买单据后,交财务部门,向财务部申请款项,预支定金。
(4)财务部建立应付帐款单据后,核支款项。
(5)采购部门再收到款项后,进行采买。
(6)采买完成,执行:
① 发票核剩余款项交财务部,即由财务部门处理。
② 用品点交营业部门发放,即由营业部门处理。
(7)进行财务结算处理,执行:
① 采购部门:采购单据结案。
② 财务部门:帐款冲销结案。
【问题】
完成下面的UML活动图对象流分析,1~11为活动,设计此采购活动的流程。

采购活动的流程图

试题4(15分)
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】函数int Toplogical (LinkedWDigraph G)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中图G表示一个具有n个顶点的AOE-网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下:

 

typedef struct Gnode{           /*邻接表的表结点类型*/

 int adjvex;   /*邻接顶点编号*/

 int weight;  /*弧上的权值*/

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

} Gnode;

typedef struct Adjlist{        /*邻接表的头结点类型*/

 char vdata;       /*顶点的数据信息*/

 struct Gnode*Firstadj;    /*指向邻接表的第1个表结点*/

} Adjlist;

typedef struct LinkedWDigraph{  /*图的类型*/

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

 struct Adjlist head;     /*指向图中第1个顶点的邻接表的头结点*/

} LinkedWDigraph;

 

函数

 

int Toplogical(LinkedWDigraph G)

{   Gnode *p;

    int j,w,top=0;

    int *Stack,*ve,*indegree;

    ve=(int *)mallloc(G.n+1)*sizeof(int)};

    indegree=(int *)malloc((G.n+1)*sizeof(int)); /*存储网中个顶点的入度*/

    Stack=(int *)malloc((G.n+1)*sizeof(int));   /*存储入度为0的顶点的编号*/

    if (!ve || !indegree || !Stack)

                exit(0);

    for (j=1;j<=G.n;j++){

 ve[j]=0; indegree[j]=0;

}/*for*/

for (j=1;j<=G.n;j++) {  /*求网中各顶点的入度*/

   p=G.head[j].Firstadj;

   while (p) {

   1    ;          p=p->nextarc;  

 } /*while*/

} /*for*/

for (j=1;j<=G.n;j++)                /求网中入度为0的顶点并保存其编号*/

    if (!indegree[j]) Stack[++top]=j;

while (top>0){

 w=   2    ;

 printf(%c,G.head[w].vdata);

 p=G.head[w].Firstadj;

 while (p) {

   3    ;

if (!indegree[p->adjvex])

 Stack[++top]=p->adjvex;

if(   4    )

 ve[p->adjvex]=ve[w]+p->weight;

p=p->nextarc;

 }/*while*/

 return    5   ;

} /*Toplogical*/

试题5(15分)
阅读下列函数说明和C++代码,将应填入(__n__)处的字句写在答题纸的对应栏内。
【说明】
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。

 

# include <iostream.h>
class Configure {
(1)   :
Configure(){};                        //构造函数
public:
static Configure *Instance();
public:
int GetConfigureData(){return data;}       //获取配置信息
int SetConfigureDate(int m_data)
{ data = m_data; return data; }          //设置配置信息
private:
static Configure * _instance;
int data;                           //配置信息
};
(2)    = NULL; 
Configure * Configure::Instance ()
{ if (_instance == NULL)
{  _instance =    (3)    ;
//加载配置文件并设置内存配置信息,此处省略
}
return     (4)    ;
}
void main()
{ Configure *t = NULL;
t =     (5)    ;
int d=t->GetConfigureData();
//获取配置信息后进行其它工作,此处省略
}

 

试题6(15分)
阅读下列函数说明和Java代码,将应填入   (n)   处的字句写在答题纸的对应栏内。
【说明】
类Queue表示队列,类中的方法如下表所示。

isEmpty()  判断队列是否为空。如果队列不为空,返回true;否则,返回false
enqueue(Object newNode)  入队操作
dequeue()  出队操作。如果队列为空,则抛出异常

类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。

 

public class TestMain {   //主类
 public static viod main (String args[]){
Queue q = new Queue();
q.enqueue(“first!”);
q.enqueue(“second!”);
q.enqueue(“third!”);
(1)     {
 while(true)
   System.out.println(q.dequeue());
}
catch(   (2)   ){  }
 }
 public class Queue { //队列
Node m_FirstNode;
public Queue(){m_FirstNode = null;}
public boolean isEmpty(){
if (m_FirstNode == null) return true;
else return false;
}
public viod enqueue(Object newNode){//入队操作
Node next = m_FirstNode;
if (next == null) m_FirstNode = new Node(newNode);
else {
 while(next.getNext() != null) next=next.getNext();
 next.setNext(new node(newNode));
}
 }
 public Object dequeue()    (3)   { //出队操作
Object node;
if (isEempty())
(4)    ; //队列为空,抛出异常
else {
 node =m_FirstNode.getObject();
 m_FirstNode=m_FirstNode.getNext();
 return node;
}
 }
}
public class Node{         // 队列中的元素
 Object m_Data;
 Node m_Next;
 public Node(Object data)              {m_Data=data;  m_Next=null;}
 public Node(Object data, Node next)   {m_Data=data;  m_Next=next;}
 public void setObject(Object data)    {m_Data=data; }
 public Object getObject(Object data)  {return m_data;}
 public void setNext(Node next)        {m_Next=next;}
 public Node getNext()                 {return m_Next;}
}
public class EmptyQueueException extends    (5)    {  // 异常处理类
 public EmptyQueueException() {
 System.out.println(“队列已空!”);
 }
}

 


回书目   上一节   
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有