当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软件水平考试软件设计师考前冲刺题及答案解析(18)
发布时间:2012/5/14 0:06:19 来源:城市网学院 编辑:ziteng
70. 以下关于用例(use case)的论说中,说法不够切确的是 () 。

  A.用例将系统的功能规模分化成良多小的系统功能陈述

  B.一个用例代表了系统的一个单一的方针

  C.用例是一个行为上相关的轨范序列

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

  参考谜底:D。

  解析:用例(use case)用来描述系统在对事务做出响应时所采纳的步履,即它确定了一个与系统介入者进行交互,并由系统执行的动作序列。可见,一个用例自己并不是一个功能需求,它代表了系统的一个单一的方针,是一个行为上相关的轨范序列。

  选项D所描述典型围太广,不够切确。在UML规范中,介入者是指系统所涉及到的人,或者是用户在本系统中饰演的脚色。一个介入者老是在系统的自动化鸿沟之外。

  71. 采用UML剖析用户需求时,用例UCl可以呈此刻用例UC2呈现的任何位置,那么UCl和UC2之间的关系是 () 关系。

  A.include

  B.extend

  C.generalize

  D.call

  参考谜底:C。

  解析:用例之间的泛化(generalize)关系近似于类之间的泛化关系。子用例担任父用例的行为与寄义。子用例还可以增添或者笼盖父用例的行为。子用例可以呈此刻父用例呈现的任何位置。

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

  选项A的“包含(include)”关系,暗示基本用例在它内部,声名某一位置上显式的合并是另一个用例的行为。被包含用例从不光立存在,仅作为某些包含它的更大的基本用例的一部门呈现。

  选项B的“扩展(extend)”关系,暗示基本用例在延长用例间的一个位置上,隐式合并了另一个用例的行为。基本用例可以零丁存在,可是在必然的前提下,它的行为可以被另一个用例的行为延长。

  选项D的“call”可诠释成“挪用”。

  72.若有以下界说,则值为3的表达式是()

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

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

  B. p+=2,*++p

  C. p+=3,*p++

  D. p+=2,++*p

  参考谜底: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。

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

  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;

  }

  参考谜底: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。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved