发布时间 : 星期六 文章全国软考真题(中级) 软件设计师 2019年上半年下午 考试真题及答案解析(案例分析)更新完毕开始阅读c8deea8e6d175f0e7cd184254b35eefdc8d315a3
全国计算机技术与软件专业技术资格(水平)、考试库
china_nejcer
5.系统检测购买数量; 6.系统显示验证界面; 7.顾客输入注册码; 8.系统生成订单。 备选事件流:
3a.如果书籍的库存量为0,顾客无法查询到该书籍的信息; 5a.若购买数量超过库存量,提示库存不足; 7a.如果注册码验证错误,提示验证错误;心 8a.如果顾客需要,可以选择打印订单。
【问题3】(3分)
根据说明中的描述,给出图3-2中C1~C3所对应的类名。 【参考答案】 C1:顾客或Customer C2:订单或Order C3:书籍 或Books
试题四(共15分)
阅读下列说明,回答间顺顺,将解答填入题纸的对应栏内。 【说明】
n皇后问题描述为:在一个nXn的棋盘上摆放n个皇后,要求任意两个皇后不能冲突,即任意两个皇后不在同-行、同- -列或者同-斜线上。算法的基本思想如下:
将第i个皇后摆放在第i行,i从1开始,每个皇后都从第1列开始尝试。尝试时判断在该列摆放皇后是否与前面的皇后有冲突,如果没有冲突,则在该列摆放皇后,并考虑摆放下-一个皇后;如果有冲突,则考虑下一列。如果该行没有合适的位置,回溯到上一个皇后考虑在原来位置的下一一个位置上继续尝试摆放皇后,--直到找到所有合理摆放方案。
[c代码]
下面是算法的c语言实现:务(1)常量和变量说明影
2019年上半年下午-软件设计师-下午试题及答案与解析(软考真题-案例分析)、 9 / 14
全国计算机技术与软件专业技术资格(水平)、考试库
china_nejcer
n:皇后数,棋盘规模为nXn
queen[]:皇后的摆放位置数组,queen[j]表示第 i个皇后的位置,1≤queen[j≤n(2)C程序
#include
void Show(){ /* 输出所有皇后摆放方案 */ int i; printf(\ for(i=1;i<=n;i++){
printf(\ }
printf(\}
int Place(int j){ /* 检查当前列能否放置皇后,不能放返回0,能放返回1 */ int i;
for(i=1;i return (2) ; } void Nqueen(int j){ int i; for(i=1;i<=n;i++){ queen[j] = i; 2019年上半年下午-软件设计师-下午试题及答案与解析(软考真题-案例分析)、 10 / 14 全国计算机技术与软件专业技术资格(水平)、考试库 china_nejcer if( (3) ){ if(j == n) { /* 如果所有皇后都摆放好,则输出当前摆放方案 */ Show(); } else { /* 否则继续摆放下一个皇后 */ (4) ; } } } } int main(){ Nqueen (1); return 0; } 【问题1】(8分) 根据题干说明,填充C代码中的空(1)?(4)。 【参考答案】 1.queen[i]==queen[j] 2.1 3.Place(j)&&j<=n 4.Nqueen(j+1) 【问题2】(3分) 根据题干说明和C代码,算法采用的设计策略为 (5)。 2019年上半年下午-软件设计师-下午试题及答案与解析(软考真题-案例分析)、 11 / 14 全国计算机技术与软件专业技术资格(水平)、考试库 china_nejcer 【参考答案】 回溯法 【问题3】(4分) 当n=4时,有 (6) 种摆放方式,分别为 (7) 。 【参考答案】 (6)、2种 (7)、2413和3124 试题五(共15分) 阅读下列说明,回答间顺顺,将解答填入题纸的对应栏内。 某软件公司欲开发一款汽车竞速类游戏, 需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图5-1所示。 2019年上半年下午-软件设计师-下午试题及答案与解析(软考真题-案例分析)、 12 / 14