专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:800184589进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 考试资讯 >> 文章内容
软件设计师真题演练3
来源:信管网 2021年07月07日 【所有评论 分享到微信

为帮助广大软考中级软件设计师考生更好备考,信管网特整理汇总了软件设计师部分真题、答案及解析供考生查阅,并提供免费在线模拟答题、历年真题免费下载等服务,了解软件设计师更多备考信息请关注信管网。

相关推荐:

点击查看/下载:软件设计师历年真题汇总

点击查看:软件设计师在线培训课程免费试听课程

免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)

一、综合知识:

1、在软件设计阶段进行模块划分时,一个模块的( )。

A.控制范围应该在其作用范围之内

B.作用范围应该在其控制范围之内

C.作用范围与控制范围互不包含

D.作用范围与控制范围不受任何限制

信管网参考答案:B

查看解析:www.cnitpm.com/st/454566463.html

2、下面是一个软件项目活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则关键路径长度为(1),在该活动图中,活动(2)晚 16 天开始不会影响上班。

(1)A、20

B、25

C、27

D、48

(2)A、AC

B、BE

C、FI

D、HJ

信管网参考答案:D、B

查看解析:www.cnitpm.com/st/4545710072.html

3、下列关于风险的叙述中,不正确的是( )。

A.风险是可能发生的事件

B.如果能预测到风险,则可以避免其发生

C.风险是可能会带来损失的事件

D.对于风险进行干预,以期减少损失

信管网参考答案:B

查看解析:www.cnitpm.com/st/4545829706.html

4、算数表达式a*(b+c/d)-e的后缀式为( )。

A. a b c d/+*e-

B. a b c de*+/-

C. a*b+c/d-e

D. ab*cd/+e-

信管网参考答案:A

查看解析:www.cnitpm.com/st/454592214.html

5、以编译方式翻译C/C++源程序的过程中,类型检查在( )阶段处理。

A.词法分析

B.语义分析

C.语法分析

D.目标代码生成

信管网参考答案:B

查看解析:www.cnitpm.com/st/4546010577.html

二、案例分析:

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

[说明]

凸多边形是指多边形的任意两点的连线均落在多边形的边界或者内部。相邻的点连线落在多边形边上,称为边,不相邻的点连线落在多边形内部。称为弦。假设任意两点连线上均有权重,凸多边形最优三帮剂分问题定义为:求将凸多边形划分为不相交的三角形集合,且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。

假设N个点的凸多边形点编号为V1,V2,……,VN,若在VK处将原凸多边形划分为一个三角形V1VkVN,两个子多边形V1,V2,…,Vk和Vk,Vk+1,…VN,得到一个最优的剖分方案,则该最优剖分方案应该包含这两个子凸边形的最优剖分方案。用m[i][j]表示带你Vi-1,Vi,…Vj构成的凸多边形的最优剖分方案的权重,S[i][j]记录剖分该凸多边形的k值。

其中:

Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖分的权重及对应的三角形集。

[C代码]

#include

#define N 6

//凸多边形规模

int m[N+1] [N+1]; //m[i][j]表示多边形Vi-1到Vj最优三角剖分的权值

int S[N+1] [N+1]; //S[i][j]记录多边形Vi-1 到Vj最优三角剖分的k值

int W[N+1] [N+1]; //凸多边形的权重矩阵,在main函数中输入

/*三角形的权重a,b,c,三角形的顶点下标*/

int get_ triangle_weight(int a,int b,int c){

return W[a][b]+W[b][c]+W[c][a];

}

/*求解最优值*/

void triangle_partition(){

int i,r,k,j;

int temp;

/*初始化*/

for(i=1;i<=N;i++){

m[i][i]=0;

}

/*自底向上计算m,S*/

for(r=2;(1);r++){/*r为子问题规模*/ //r<=N

for(i=1;k<=N-r+1;i++){

(2); //int j=i+r-1

m[i][j]= m[i][j]+m[i+1][j]+get_triangle_weight(i-1,i,j); /*k=j*/

S[i][j]=i;

for(k=j+1;k

temp=m[i][k]+m[k+1][j]+ge_triangle_ weight(i-1,k,j);

if((3)){/*判断是否最小值*/ //temp

m[i][j]=temp;

S[i][j]=k;

}

}

}

}

}

/*输出剖分的三角形i,j:凸多边形的起始点下标*/

void print_triangle(int i,int j){

if(i==j) return;

print_triangle(i,S[i][j]);

print_

triangle((4)); //s[i][j]+1,j

print(“V%d- -V%d-

-V%d\n“,i-1,S[i][j],j);

}

[问题1] (8分)

根据说明和C代码,填充C代码中的空(1) ~ (4)。

[问题2] (7分)

根据说明和C代码,该算法采用的设计策略为(5),算法的时间复杂度为(6),空间复杂度为(7) (用0表示)。

信管网参考答案:

问题1:

(1)r<=N

(2)intj=i+r-1;

(3)temp

(4)s[i][j]+1

问题2:

(5)动态规划

(6)O(n^3)

(7)O(n^2)

查看解析:www.cnitpm.com/st/455048357.html

扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章