考试总分:7分
考试类型:模拟试题
作答时间:60分钟
已答人数:967
试卷答案:有
试卷介绍: 2008年下半年 软件设计师 下午试卷
A(1)~(3)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用1:1,1:n或1:*,m:n或*:*表示。【问题2】(2分)补充图2-1中的联系并指明其联系类型。【问题3】(7分)根据需求分析结果和图2-1,将逻辑结构设计阶段生成的关系模式中的空(4)~(8)补充完整。(注:一个空可能需要填多个属性)【问题4】(3分)若去掉权限表,并将权限表中的操作权限属性放在员工表中(仍保持管理和服务岗位的操作权限规定),则与原有设计相比有什么优缺点(请从数据库设计的角度进行说明)?[15分]
A(1)、
B(2)和
C(3)处。伪代码中的主要变量说明如下:n:总的食物项数;v:营养价值数组,下标从1到n,对应第1到第n项食物的营养价值;p:价格数组,下标从1到n,对应第1到第n项食物的价格;M:总价格标准,即套餐的价格不超过M;x:解向量(数组),下标从1到n,其元素值为0或1,其中元素值为0表示对应的食物不出现在套餐中,元素值为1表示对应的食物出现在套餐中;nv:n+1行M+1列的二维数组,其中行和列的下标均从0开始,nv[i][j]表示由前i项食物组合且价格不超过j的套餐的最大营养价值。问题最终要求的套餐的最大营养价值为nv[n][M]。伪代码如下:MaxNutrientValue(n,v,p,M,x)1fori=0ton2nv[i][0]=03forj=1toM4nv[0][j]=05fori=1ton6forj=1toM7ifj<p[i]//若食物mi不能加入到套餐中8nv[i][j]=nv[i-1][j]9elseif(1)10nv[i][j]=nv[i-1][j]11else12nv[i][j]=nv[i-1][j–p[i]]+v[i]13j=M14fori=ndownto115if(2)16x[i]=017else18x[i]=119(3)20returnxandnv[n][M]【问题2】(4分)现有5项食物,每项食物的营养价值和价格如表4-1所示。表4-1食物营养价值及价格表若要求总价格不超过100的营养价值最大的套餐,则套餐应包含的食物有(4)(用食物项的编码表示),对应的最大营养价值为(5)。【问题3】(2分)【问题1】中伪代码的时间复杂度为(6)(用Ο符号表示)。[15分]