2017下半年软件设计师考试下午真题(2)

软考 胡媛 浏览 13989 来源:希赛网

希赛网为大家整理了2017下半年软件设计师考试下午真题,以下为第二部分。

希赛网为大家整理了2017下半年软件设计师考试下午真题,以下为第二部分。


【试题三】( 15 分)
阅读下列说明,回答问题 1问题 3,将解答填入答题纸的对应栏内。
【说明】
某大学拟开发一个用于管理学术出版物(Pu blication) 的数字图书馆系统,用户可以从该系统查询或下载己发表的学术出版物。系统的主要功能如下:
1.登录系统。系统的用户 (User)仅限于该大学的学生 (Student) 、教师(Faculty)和其他工作人员(Staff) 。在访问系统之前,用户必须使用其校园账户和密码登录系统。
2. 查询某位作者 (Author)的所有出版物。系统中保存了会议文章 (ConfPaper)、期刊文章 (JurnalArticle)和校内技术报告(TechReport )等学术出版物的信息,如题目、作者以及出版年份等。除此之外,系统还存储了不同类型出版物的一些特有信息;
(1)对于会议文章,系统还记录了会议名称、召开时间以及召开地点;
(2)对于期刊文章,系统还记录了期刊名称、出版月份、期号以及主办单位;
(3)对于校内技术报告,系统记录了由学校分配的ID。
3. 查询指定会议集(Proceedings)或某个期刊特定期(Edition) 的所有文章。会议集包含了发表在该会议(在某个特定时间段、特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。
4.下载出版物。系统记录每个出版物被下载的次数。
5.查询引用了某篇出版物的所有出版物。在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的现象。用户也可以在系统中为某篇出版物注册引用通知,若有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。
现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图3-1所示。

2017下半年软件设计师考试下午真题(2)


【问题1】(9分)
根据说明中的描述,给出图3-1中C1~C9所对应的类名。
【问题2】(4分)
根据说明中的描述,给出图3-1中类C6~C9的属性。
【问题3】(2分)
图3-1中包含了哪种设计模式?实现的是该系统的哪个功能?


试题四
阅读下列说明和C代码,回答问题 1 至问题 2,将解答写在答题纸的对应栏内。
【说明】
一个无向连通图G点上的哈密尔顿(Hamiltion)回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该顶点的路劲。一种求解无向图上哈密尔顿回路算法的基础私下如下:
假设图G存在一个从顶点V0出发的哈密尔顿回路V1——V2——V3——…——Vn-1——V0。算法从顶点V0出发,访问该顶点的一个未被访问的邻接顶点V1,接着从顶点V1出发,访问V1一个未被访问的邻接顶点V2,。;对顶点Vi,重复进行以下操作:访问Vi的一个未被访问的邻接接点Vi+1;若Vi的所有邻接顶点均已被访问,则返回到顶点Vi-1,考虑Vi-1的下一个未被访问的邻接顶点,仍记为Vi;知道找到一条哈密尔顿回路或者找不到哈密尔顿回路,算法结束。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
n :图G中的顶点数
c[][]:图G的邻接矩阵
K:统计变量,当期已经访问的定点数为k+1
x[k]:第k个访问的顶点编号,从0开始
Visited[x[k]]:第k个顶点的访问标志,0表示未访问,1表示已访问
⑵C程序
#include <stido.h>
#include <stidb.h>
#define MAX 100
Vido Hamilton(int n,int x[MAX,int c[MAX][MAX]){
in t ;
in t visited[MAX];
int k;
/*初始化x数组贺visited数组*/
for (i=0:i<n;i++){
x[i]=0;
visited [i]=0;
}
/*访问起始顶点*/
k=0
(  );
x[0]=0
K=k+1
/*访问其他顶点*/
while(k>=0){
x[k]=x[k]+1;
while(x[k]><n){
if (  )&&c[x-[k-1]][x[k]=1){/*邻接顶点x[k]未被访问过*/
break;
}else{
x[k] = x[k] +1
}
}
if(x[k] <n-1&&(  ){ /*找到一条哈密尔顿回路*/
for (k=0;k<n;k++){
prinf(〝%d--〝,x[k] ;  /*输出哈密尔顿回路*/
}
prinf(〝%d--〝,x[0] ;
return;
}else if x[k]<n&&k<n-1){/*设置当期顶点的访问标志,继续下一个顶点*/
(  )
k=k+1;
}else{/*没有未被访问过的邻接顶点,回退到上一个顶点*/
x[k]=0;
visited x[k]=0;
(  );
}
}
}
【问题1】(10分)
根据题干说明。填充C代码中的空(1)~(5)。
【问题2】(5分)
根据题干说明和C代码,算法采用的设计策略为(  ),该方法在遍历图的顶点时,采用的是(  )方法(深度优先或广度优先)。


返回目录:2017下半年软件设计师考试下午真题汇总

点击查看:2017下半年软考真题参考答案+解析

在线估分:2017下半年软件设计师下午真题答案和解析

责任编辑:胡媛|希赛教研中心

希赛教研中心拥有一支规模200余人的专职教研团队,深耕项目管理、软考、通信工程师、金融财会、厂商认证、考博英语等方向,形成“讲师+助教+班主任+智能学习平台”协同联动的完整教学服务体系:讲师讲透方法、助教盯住进度和答疑、班主任守住节奏、智能平台记录每一步成长——环环相扣,让学员的备考全程有人陪、有反馈、有结果。 师资力量雄厚。主要讲师毕业于 985/211 等知名高校,并拥有海外留学归国人才;职称梯队完善,高、中级职称讲师结构合理,讲师持有软考高级资格证书、PMI系列认证、CSPM高级项目管理培训师证、PeopleCert认证、DAMA认证、英语专八(TEM-8)、PETS-5、华为HCIE、经济师、一级建造师等行业权威资质,兼具深厚理论功底与丰富实战经验。 教研成果卓越。教研团队成员深度参与多项国家标准的研制工作,是 GB/T 47282-2026《项目重大节点评审规范》、GB/T 47285-2026《项目商业分析指南》、GB/T 30339-2026《项目和项目群后评价指南》、GB/T 46210-2025《项目成本管理指南》等国家标准的主要起草人,并担任《中国项目管理知识体系指南》总体编写专家组成员。团队累计主编出版专业图书与教材一百多种,覆盖软考、通信工程师、PMP、CSPM、NPDP等多个认证方向。 教学成效显著。 依托希赛自主研发的开放式智能互动学习平台,团队累计服务学员超百万人,帮助众多学员顺利通过软考、 PMP、CSPM、NPDP、华为认证、通信工程师、管理类联考、考博英语等考试,大批学员考入 985、211 等知名高校深造,以专业与口碑赢得学员和行业的广泛认可。

📅 本文最后更新于 2026-02-12

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
新人礼包 新人礼包 课程咨询 课程咨询 企业团报 企业团报 电话咨询 电话咨询

客服热线:400-111-9811

售后投诉:156-1612-8671

公众号 公众号
希赛网公众号二维码
扫二维码 关注希赛网
APP下载 APP下载
希赛网APP下载二维码
扫二维码 下载APP
二维码
二维码
第1步:扫码添加老师微信  第2步:领取备考资料
!
咨询在线老师!