首页考试吧论坛Exam8视线考试商城网络课程模拟考试考友录实用文档求职招聘论文下载
2013中考
法律硕士
2013高考
MBA考试
2013考研
MPA考试
在职研
中科院
考研培训 自学考试 成人高考
四 六 级
GRE考试
攻硕英语
零起点日语
职称英语
口译笔译
申硕英语
零起点韩语
商务英语
日语等级
GMAT考试
公共英语
职称日语
新概念英语
专四专八
博思考试
零起点英语
托福考试
托业考试
零起点法语
雅思考试
成人英语三级
零起点德语
等级考试
华为认证
水平考试
Java认证
职称计算机 微软认证 思科认证 Oracle认证 Linux认证
公 务 员
导游考试
物 流 师
出版资格
单 证 员
报 关 员
外 销 员
价格鉴证
网络编辑
驾 驶 员
报检员
法律顾问
管理咨询
企业培训
社会工作者
银行从业
教师资格
营养师
保险从业
普 通 话
证券从业
跟 单 员
秘书资格
电子商务
期货考试
国际商务
心理咨询
营 销 师
司法考试
国际货运代理人
人力资源管理师
广告师职业水平
卫生资格 执业医师 执业药师 执业护士
会计从业资格
基金从业资格
统计从业资格
经济师
精算师
统计师
会计职称
法律顾问
ACCA考试
注册会计师
资产评估师
审计师考试
高级会计师
注册税务师
国际内审师
理财规划师
美国注册会计师
一级建造师
安全工程师
设备监理师
公路监理师
公路造价师
二级建造师
招标师考试
物业管理师
电气工程师
建筑师考试
造价工程师
注册测绘师
质量工程师
岩土工程师
造价员考试
注册计量师
环保工程师
化工工程师
咨询工程师
结构工程师
城市规划师
材料员考试
监理工程师
房地产估价
土地估价师
安全评价师
房地产经纪人
投资项目管理师
环境影响评价师
土地登记代理人
缤纷校园 实用文档 英语学习 作文大全 求职招聘 论文下载 访谈|游戏
软件水平考试
软件水平考试资讯
软件水平考试试题
软件水平考试专项辅导
软件水平考试交流互动
软件水平考试交流互动
您现在的位置: 考试吧 > 软件水平考试 > 复习资料 > 软件设计师 > 正文

2013年软考软件设计师练习试题及答案解析(5)

来源:考试吧 2013-4-26 16:28:21 考试吧:中国教育培训第一门户 模拟考场

 

  71. 以下关于用例(use case)的叙述中,说法不够准确的是 (76) 。

  (76) A.用例将系统的功能范围分解成许多小的系统功能陈述

  B.一个用例代表了系统的一个单一的目标

  C.用例是一个行为上相关的步骤序列

  D.用例描述了系统与用户的交互

  参考答案:(76)D。

  解析:用例(use case)用来描述系统在对事件做出响应时所采取的行动,即它确定了一个与系统参与者进行交互,并由系统执行的动作序列。可见,一个用例本身并不是一个功能需求,它代表了系统的一个单一的目标,是一个行为上相关的步骤序列。

  选项D所描述的范围太广,不够准确。在UML规范中,参与者是指系统所涉及到的人,或者是用户在本系统中扮演的角色。一个参与者总是在系统的自动化边界之外。

  72. 采用UML分析用户需求时,用例UCl可以出现在用例UC2出现的任何位置,那么UCl和UC2之间的关系是 (77) 关系。

  (77) A.include

  B.extend

  C.generalize

  D.call

  参考答案:(77)C。

  解析:用例之间的泛化(generalize)关系类似于类之间的泛化关系。子用例继承父用例的行为与含义。子用例还可以增加或者覆盖父用例的行为。子用例可以出现在父用例出现的任何位置。

  本试题中,由于用例UCl可以出现在用例UC2出现的任何位置,因此UCl与UC2之间是选项C的“泛化(generalize)”关系。要注意,不是“用例UCl可以出现在用例UC2的任何位置”。

  选项A的“包含(include)”关系,表示基础用例在它内部,说明某一位置上显式的合并是另一个用例的行为。被包含用例从不孤立存在,仅作为某些包含它的更大的基础用例的一部分出现。

  选项B的“扩展(extend)”关系,表示基础用例在延伸用例间的一个位置上,隐式合并了另一个用例的行为。基础用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为延伸。

  选项D的“call”可解释成“调用”。

  73.若有以下定义,则值为3的表达式是(78)

  inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;

  (78) A. p+=2,*(p++)

  B. p+=2,*++p

  C. p+=3,*p++

  D. p+=2,++*p

  参考答案:(78) A。

  解析:数组a有10个元素,分别有值1至10,指针变量p指向a[0],A逗号表达式p+=2,*(P++),先是P+=2使P指向a[2],接着是*(P++),以当时P所指变量a[2]取内容3为表达式的值,同时使p指向a[3]。B返号表达式p+=2,*++p,先是p+=2使p指向a[2],以后是*++p,又使p增1,让它指向a[3],并取指针p所指变量a[3]的内容4作为表达式的值。C逗号表达式p+=3,*p++,先是p+=3使p指向a[3],以后是*p++,表达式的值是a[3]为4,而使p指向a[4]。D逗号表达式p+=2,++*p,先是p+=2,使p指向a[2],以后是++*p,因当时的*p就是a[2],++a[2]使a[2]增1,变成4,并以4为表达式的值。所以只有p+=2,*(p++)的值是3。所以解答是A。

  74.要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的函数是(79)

  (79)A. funa(int*a,intn,intx)

  {*a=x;

  whlie(a[n]!=x)n--;

  returnn;

  }

  B. funb(int*a,intn,intx)

  {intk;

  for(k=l;k<=n;k++)

  if(a[k]==x)returnk;

  return0;

  }

  C. func(inta[],intn,intx)

  {int*k;

  a[O]=x;k=a+n;

  while(*k!=x)k--;

  returnk-n;

  }

  D. fund(inta[],intn,intx)

  {intk=0;

  dok++;

  while((kif((kelsereturn0;

  }

  参考答案:(79)C。

  解析:在数组中找指定值是经常遇到的计算要求,有多种编程方法。在这里,数据预放在数组下标1至n的元素中,下标为0的元素没有放数据,程序可以利用这个位置简化查找函数。函数funa先将要查找的情放入a[0],从数据表的最后一个元素开始逆序向前查找。这样做的好处是循环条件不必担心因数组中原先没有值为x的元素而一直顺序查找下去,访问不是数表的元素,需插入条件n>O。在a[0]处放入x后,这个条件就不必要了,循环至少在访问了a[0]后终止,并返回0值。所以该函数能完成指定的功能。函数funb采用常规的办法编写,循环在a[1]与a[n]之间顺序寻找,一旦找到立即返回找到处的下标,直至查找循环结束,查不到指定的值而返回0值。函数func采用与函数funa相同的方法,不过是另外引入一个指针变量。但是该函数return语句后的表达式有严重的错误,应返回k-a,两指针的差,其值等于找到元素的下标。表达式k-n是指针k向前移n个位置的指针值。函数fund预置k为0,循环让k增1,并在k在界内和a[k]不等于x的情况下循环。循环结束有两种情况,或k已不在界内,或k在界内,并且a[k]等于x。若是后者,函数返回k,而若前者,函数返回比该函数也能正确完成查找工作。这样,不能正确完成查找工作的函数是函数fonc。所以正确选择是C。

上一页  1 2 3 4 5 下一页
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。