报课、招生咨询电话:010-51268840/41

首页 > 计算机考试 > 试题汇编 > 计算机水平考试 > 真题 >
→论坛登陆 用户名  密码  
2007年11月软件设计师模拟试题(1)下午试卷

作者: 发布时间:2008-04-28 10:32:14 来源:
●试题一

  阅读下列说明以及图示(如图1所示),回答问题1~3。

  【说明】

  某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。

  在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。

  新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。

  在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。

  【用例图】

  图1学生课程注册系统的用例图

  【协作图】

  图2创建课程登记表的协作图

  【时序图】

  注释1:学生打算注册新的课程。

  注释2:一张这学期可选择的课程列表。

  注释3:显示一张为学生选课用的空白登记表。

  图3创建课程登记表的时序图

【问题1】

  在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中 (1) ~ (3) 处表示的内容。

  【问题2】

  协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中 (4) ~ (8) 处表示的内容。

  【问题3】

  UML采用5个互联的视图来描述软件系统的体系结构,即用例视图(Use-case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)。系统模型中每一个视图的内容是由一些图来描述的,UML中包含用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等9种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。

  ●试题二

  阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。

  【说明】

  算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:

  文件提示信息

  (1+2)

  abc)缺少对应左括号:第2行,第4列

  ((def)gx)缺少对应左括号:第3行,第10列

  (((h)

  ij)(k

  (1ml)缺少对应右括号:第5行,第4列;第4行 ,第1列

  在算法2-1中,stack为一整数栈。算法中各函数的说明见表4。

【算法2-1】

  将栈stack置空,置EOF 为false

  ch<-nextch();

  while(not EOF)

  k<-kind(CH);

  if(k== (1) )

  push( (2) );push( (3) );

  elseif(k== (4) )

  if(not empty())

  pop();pop();

  else

  显示错误信息(缺少对应左括号或右括号);

  显示行号row;显示列号col;

  endif

  endif

  ch<-nextch();

  endwhile

  if(not empty())

  显示错误信息(缺少对应左括号或右括号);

  while(not empty())

  row<-pop();col<-pop();

  显示行号row;显示列号co1;

  endwhile

  endif

  为了识别更多种类的括号,对算法2-1加以改进后得到算法2-2。算法2-2能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(char ch)的参数及其对应的返回值见表5。

  【算法2-2】

  将栈stack置空,置EOF为false

  ch<-nextch();

  while(not EOF)

  k<-kind(ch);

  if(k>0)

  if(判断条件1)

  push( (5) );push( (6) );push( (7) );

  elseif(判断条件2and判断条件3)

  pop();pop();pop();

  else

  显示错误信息(缺少对应左括号或右括号);

  显示行号row;显示列号col;

  endif

  endif

  ch<-nextch();

  endwhile

  if(not empty())

  显示错误信息(缺少对应左括号或右括号);

  while(not empty())

  pop();rowpop();colpop();

  显示行号row;显示列号col;

  endwhile

  endif

【问题1】

  请将【算法2-1】和【算法2-2】中 (1) ~ (7) 处补充完整。

  【问题2】

  请从下面的选项中选择相应的判断逻辑填补【算法2-2】中的"判断条件1"至"判断条件3"。注意,若"判断条件2"的逻辑判断结果为假,就无需对"判断条件3"进行判断。

  (a)字符是括号

  (b)字符是左括号

  (c)字符是右括号

  (d)栈空

  (e)栈不空

  (f)栈顶元素表示的是与当前字符匹配的左括号

  (g)栈顶元素表示的是与当前字符匹配的右括号

  ●试题三

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

【说明】

  某超市的销售业务由一个销售业务管理系统进行管理,该系统每完成一次交易都需要提供顾客发票,其格式见表6所示。

  对于这样一个销售业务管理系统,分别给出了以下两种关系数据库的设计(下划线表示主关键字)

  设计一:

  顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)

  收银员Salesman(收银员代码Sno,身份证号idno,姓名name,住址address,联系电话phone)

  商品Merchandise(商品代码Mno,商品名称Mname,价格price)

  发票Invoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno,商品代码Mno,单价unitprice,数量amount)

  设计二:

  顾客Customer(顾客代码Cno,姓名name,住址address,联系电话phone)

  收银员Salesman(收银员代码Sno,身份证号idno,姓名name,住址address,联系电话phone)

  商品Merchandise(商品代码Mno,商品名称Mname,价格price)

  发票Ivoice(发票号码Ino,交易日期Idate,顾客代码Cno,收银员代码Sno)

  发票明细Invoicedetail(发票号码Ino,商品代码Mno,单价unitprice,数量amount)

  【问题1】

  设计一的关系模式Invoice最高满足第几范式?为什么?设计一和设计二哪个更加合理?为什么?

  【问题2】

  根据设计二中关系模式,以下SQL语句是用于"建立2005年1月期间每张发票的发票号,交易日期,交易商品件数和交易总金额的视图"的不完整语句,请填补其中的空缺。

  CREATE VIEW Invoice -total (1)

  SELECT Invoice.Ino,Idate, (2) , (3)

  FROM Invoice,Invoicedetail

  WHERE (4) AND

  Idate BETWEEN′2005-01-01′AND′2005-01-31′

  GROUPBY (5) ;

【问题3】

  根据设计二中关系模式,以下SQL语句是用于"查询从未售出的商品信息"的不完整语句,请填补其中的空缺。

  SELECT Mno,Mname,price

  FROM Merchandise (1)

  WHERE (2)

  (SELECT (3)

  FROM Invoicedetail

  WHERE A.Mno=Invoicedetail.Mno);

  【问题4】

  设计二中关系Merchandise中由属性price表示商品价格,关系Invoicedetail中的属性unitprice也表示商品价格。两个是否有必要同时存在?为什么?

  ●试题四

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

  【函数1说明】

  函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(bl,…,bn)均为顺序表,"比较",两个顺序表A和B的大小。设A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(y,x,x,z,x,z),B=(y,x,x,z,y,x,x,z),则两者中最大的共同前缀为(y,x,x,z),在两表中除去最大共同前缀后的子表分别为A′=(x,z)和B′=(y,x,x,z))。若A′=B′=空表,则A=B;若A′=空表,而B′≠空表,或者两者均不为空表,且A′的首元小于B'的首元,则A<否则a>B。【函数1】

  int compare(SqListA,SqList B)

  {

  //若A<若a>B,则返回1if( (6) &&p->next)//n!=0时才需要修改指针

  {

  ha=L->next;//以指针ha记a1结点的位置

  L->next=p->next;//将b1结点链接在头结点之后

  p->next=NULL;//设am的后继为空

  q= (7) ;//令q指向b1结点

  while(q->next)q= (8) ;//查找bn结点

  q->next= (9) ;//将a1结点链接到bn结点之后

  }

  }

  }

  //函数2的时间复杂度是 (10) 。

●试题五

  阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在答卷纸的对应栏内。

  【程序说明】

  本程序先从文件读入各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高分到低分输出结果,使每行输出成绩及其取得成绩的考生的准考证号。

  【程序】

  #include

  typedef struct idnode {

  int id;

  struct idnode * next;

  } IdNode;

  typedef struct marknode {

  int mark;

  IdNode *head;

  struct marknode *left, *right;

  } MarkNode;

  char fname [ ]="sp07.dat";

  main()

  { int id, mark;

  MarkNode *root=null;

  FILE *fp=fopen(fname,"r");

  if(!fp) {

  printf("file%s open error.\n", fname);

  exit(0);

  }

  while (!feop(fp)) {

  fscanf(fp,"%d%d", &id, &mark);

  btree(&root, id, mark);

  }

  fclose(fp);

  print(root);

  }

  btree(MarkNod**mpptr, int id, int mark)

  { IdNode *ip;

  MarkNode *mp=*mpptr;

  if (1) {

  if (mark==p->mark) addIdNODE ( (2) , id);

  else if (mark>mp->mark) btree (&mp->left, id, mark);

  else btree(&mp->right, id, mark);

  }else

  { mp=(marknode *) malloc(sizeo (marknode));

  mp->mark=mark;

  mp->left=mp->right=NULL;

  (3)

  addIdNode(&mp->head, id);

  (4) ;

  }

  }

  addIdNode(IdNode **ipp, int id)

  {IdNode *ip=*ipp;

  if ( (5) )addIdNode ( (6) ), id;

else{

  ip=(IdNode *)malloc(sizeof(IdNode));

  sp->id=id;

  ip->next=NULL;

  (7)

  }

  }

  print(MarkNode *mp)

  { IdNode *ip, *ip0;

  if (mp){

  print (mp->left);

  printf("%6d:\t",mp->mark);

  ip=mp->head;

  while(ip){

  printf("%6d",ip->id);

  ip0=ip;

  ip=ip->next;

  free(ip0);

  }

  printf("\n");printf(mp->right);free(mp);

  }

  }

  j=0;

  while(i< (1) &&j<

  B.length)

  if(A.elem[j]<

  B.elem[j])return(-1);

  else if(A.elem[j]>

  B.elem[j])return (1) ;

  else (2) ;

  if(A.length==

  B.length)return(0);

  else if(A.length<

  B.length)return(-1);

  else return (1) ;

  }//compare

  //函数1的时间复杂度是 (3) 。

  【函数2说明】

  函数exchange_L(SLink&L,int m)的功能是:用尽可能少的辅助空间将单链表中前m个结点和后n个结点的互换。即将单链表(a1,a2…,am,b1,b2,…,bn)改变成(b1,b2,…,bn,a1,a2,…,am)。

  【函数2】

  void exchange_L(SLink &L,int m)

  {

  if( (4) &&L->next)//链表不空且m!=0

  {

  P=L->next;k=1;

  while(k

  {

  P= (5) ;++k;

  }

  提示:算法的基本思想为:若相等,则j+l,之后继续比较后继元素;否则即可得出比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

    育路网
 
 
                                        
评论】【加入收藏夹】【 】【打印】【关闭
育路网2007年夏令营联展
 更多有关新闻:
 
·[作文雅思写作高分必读:小作文句子模 ·[资讯中心湖北:2008上半年英语等级考试(P
·[真题2007年11月软件设计师模拟试题( ·[真题2007年11月软件设计师模拟试题(
·[综合知识律师评"玫琳凯礼单"事件 倡建公 ·[真题2007年11月程序员模拟试题(1)下
·[考试信息盛大的游戏式管理 ·[模拟题护师考试护理专业外科护理学试题
·[考试信息提升核心竞争力的途径 ·[综合新闻贵阳禁止公务员赴饮用水源保护区
·[考试新闻贵阳禁止公务员赴饮用水源保护区 ·[考试信息人力资源管理:LBB的团队之惑
·[真题2007年11月程序员模拟试题(2)下 ·[真题2007年11月程序员模拟试题(1)上
·[统计师上海:2008年统计师5月21日-5月2 ·[真题2007年11月程序员模拟试题(2)上
发表评论
用户名: 密码:
验证码: 匿名发表
课程搜索:
选择分类:
课程关键字:
课程 学校
 2008年首都高校秋季招生
北京理工大学2008年招生简章
北京文理研修学院2008年招生简章
北京建设大学2008年招生简章
北京中山学院2008年招生简章
北京城市学院2008年招生简章
培黎职业学院2008年招生简章
北京金融学院2008年招生简章
北京吉利大学2008年招生简章
北方工商管理学院2008年招生简章
 本周推荐课程
·初中起点雅思半年脱产 ·启德雅思6分冲刺课程
·新概念1+2册慢速精讲课 ·环球新托福100分强化
·北文王长喜四级强化班 ·英语四、六级培训课程
·海文考研数学课程 ·海文考研英语课程
·北大企业管理高级研修班 ·清华企业领导人研修班
·中美高中生交换项目 ·北工大中加学院2+2本科
·劳动和社会保障部物流师 ·物业管理师职业培训
·市场营销经理国际资格 ·现场管理实务培训
清华大学留学
中法管理硕士预科班
课程咨询热线:010-51268840 51268841
 最新新闻
·律师评"玫琳凯礼单"事件 倡建公务员财产申报
·贵阳禁止公务员赴饮用水源保护区游玩
·重庆市08公招公务员笔试成绩及有关事宜公告
·贵州省实施考核新规公务员连续两年不称职 辞退
·上海对公务员“革薪”值得老百姓期待
·全国首个限价房项目售罄 买家以公务员教师为主
·首都青年公务员 风采大赛昨颁奖
·湖南省长力主行政程序统一 拒绝公务员办事推诿
· 50万公务员轻松家装 5月3日嘉禾公务员家居节
·公务员“调薪风暴”不应脱离人大监督
 育路社区            进入>>
 
学员报名服务中心: 北京北三环西路32号恒润中心1806(交通位置图
咨询电话:北京- 010-51268840/41 传真:010-51418040 上海-021-64392659、64397431
育路网-中国新锐教育社区: 北京站 | 上海站 | 郑州站| 武汉站
本站法律顾问: 邱清荣律师
北京育路互联科技有限公司版权所有 | 京ICP备05012189号