1 / 15
文档名称:

2015年上半年软件设计师考试真题(下午).docx

格式:docx   大小:109KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2015年上半年软件设计师考试真题(下午).docx

上传人:蓝天 2022/6/21 文件大小:109 KB

下载得到文件列表

2015年上半年软件设计师考试真题(下午).docx

文档介绍

文档介绍:2015年上半年软件设计师考试真题(下午)
一、阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括 专业方向、 课程编号、任课教师等相关方。
(3) 一次拍卖只拍出来自一个卖方的一件拍卖品;多个买方可以出价:卖方接受 其中一个出价作为成交价,拍卖过程结束。
(4)在拍卖结算阶段,买卖双方可以选择两种成交方式:线下成交,买卖双方在 事先约定好的成交地点,当面完成物价款的支付和拍卖品的交付;在线成交,买方通 过网上支付平台支付物价款,拍卖品由卖方通过快递邮寄给买方。
一次拍卖过程的基本事件流描述如下:
(1) 卖方在网站上发起一次拍卖,并设置本次拍卖的起拍价。
(2) 确定拍卖标的以及拍卖标的保留价(若在拍卖时间结束时,所有出价均低于 拍卖标的保留价,则本次拍卖失败)。
(1) 在网站上发布本次拍卖品的介绍。
(2) 买方参与拍卖,给出竟拍价。
(3) 卖方选择接受一个竟拍价作为成交价,结束拍卖。
(4) 系统记录拍卖成交价,进入拍卖结算阶段。
(5) 卖方和买方协商拍卖品成交方式,并完成成交
现采用面向对象方法对系统进行分析与设计,得到如表3-1所示的类列表以及如 图3-1所示
的类图,类中关键属性与方法如表3-2所示。
表 3-1歹慎
序号

说明
Cl
SellerRole
一次拍卖中的卖方
C2
Item
拍卖品
C3
Auction
拍卖活动
C4
Sale
拍卖结算
C5
AuctionParucipant
拍卖参与者
C6
Interchange
成交方式
C7
OneParticipant
个人参与者
C8
OfflmePay
线下成交
C9
CompositeParticipant
团体参与者
CIO
OnlinePay
在线成交
Cll
Bid
拍卖标的
C12
BuyerRole
一次拍卖中的买方
SellerRole -articleOfferBy
BuyerRole
图3」美图
表3-2关键属性与方法列表
序号
名称
说明
Ml
name
属性名,用户名称
M2
description
属性名,拍卖品描述
M3
minBidPrice
属性名,拍卖的起拍价
M4
agreePrice
属性名,拍卖成交价
M5
bidPrice
属性名,拍卖标的保留价
M6
address
属性名,线下成交地点
M7
sellerAccount
属性名,卖方网上支付账号名
M8
buyerAddress
属性名,买方邮寄地址
M9
placeBidForAuction
方法名,为拍卖品出竟拍价
M10
sellNewAiticle
方法名,发起一次拍卖
【问题11 (7分)
根据说明中的描述,给出图3-1中(1)〜(7)所对应的类名(类名使用表3-1 中给出的序号)。
【问题2] (5分)
根据说明中的描述,确定表3-2中的属性/方法分别属于哪个类(类名、方法/ 属性名使用表3-K 3-2中给出的序号)。
【问题3] (3分)
在图3-1采用了何种设计模式?以100字以内文字说明采用这种设计模式的原 因。
四、阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应 栏内。
【说明】『皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间 不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。 拟
采用以下思路解决n-皇后问题:第i个皇后放在第i行。从第一个皇后开始,对每 个皇后,从其对应行(第i个皇后对应第i行)的第一列开始尝试放置,若可以放 置,确定该位置,考虑下一个皇后;若与之前的皇后冲突,则考虑下一列;若超出最 后一列,则重新确定上一个皇后的位置。重复该过程,直到找到所有的放置方案。
[C代码】下面是算法的C语言实现。(1)常量和变量说明 pos: 一 维数组,pos[i]表示第i个皇后放置在第i行的具体位置count:统计放置方案数
i, j, k:变量 N:皇后数
(2)C 程序 ^include <stdio. h> ttinclude <math. h> ^define N4 /*判断第 k 个 皇后目前放置位置是否与前面的皇后冲突*/
in isplace(int pos[], int k) { int i; for(i=l; i<k; i++)
( if ( (1) | | fabs (i~k) — fabs(pos[i] - pos[k]))
( retur