题目内容 (请给出正确答案)
[主观题]

试题三(共15分) 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 Pay&

试题三(共15分)

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

Pay&Drive系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。

系统中存储了特定区域的道路交通网的信息。道路交通网由若干个路段(Road Segment)构成,每个路段由两个地理坐标点(Node)标定,其里程数(Distance)是已知的。在某些地理坐标点上安装了访问控制(Access Control)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(Exit)都装有访问控制设备。

系统提供了3种行驶卡。常规卡(Regular Card)有效期(Valid Period)为一年,可以在整个道路交通网内使用。季卡(Season Card)有效期为三个月,可以在整个道路交通网内使用。单次卡(Minitrip Card)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都是预付卡(Prepaid Card),需要客户(Customer)预存一定的费用。

系统的主要功能有:客户注册、申请行驶卡、使用行驶卡行驶等。

使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(Date Of Entry)

等信息。在到达行程终点时,系统根据行驶的里程数和所持卡的里程单价(Unit Price)计

算应付费用,并打印费用单(Invoice)。

季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。

单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。

现采用面向对象方法开发该系统,使用UML进行建模。构建出的用例图和类图分别如图3-1和图3-2所示。

试题三(共15分) 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 Pa

试题三(共15分) 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 Pa

【问题1】

根据说明中的描述,给出图3-1中Ul和U2所对应的用例,以及(1)所对应的关系。

【问题2】

根据说明中的描述,给出图3-2中缺少的C1~C6所对应的类名以及(2)~(3)处所对应的多重度(类名使用说明中给出的英文词汇)。

【问题3】

根据说明中的描述,给出Road Segment、Trajectory和Card所对应的类的关键属性(属性名使用说明中给出的英文词汇)。

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“试题三(共15分) 阅读下列说明和图,回答问题1至问题3,将…”相关的问题

第1题

阅读以下说明和C++代码, [说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用

阅读以下说明和C++代码,

[说明]

现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。

[图6-1]

这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。

[C++代码]

class DP1{

public:

static void draw_a_line(double x1,double y1,double x2,double y2){

//省略具体实现

}

};

class DP2{

public:

static void drawline(double x1,double x2,double y1,double y2){

//省略具体实现

}

};

class Drawing{

public:

(1) void drawLine(double x1,double y1,double x2,double y2)=0;

};

class V1Drawing:public Drawing{

public:

void drawLine(double x1,double y1,double x2,double y2){

DP1::draw_a_line(x1,y1,x2,y2);

}

};

class V2Drawing:public Drawing{

public:

void drawLine(double x1,double y1,double x2,double y2){

(2)

}

};

class Shape{

privatc:

(3) dp;

public:

Shape(Drawing*dp);

virtual void draw()=0;

void drawLine(double x1,double y1,double x2,double y2);

};

Shape::Shape(Drawing*dp)

{

_dp=dp;

}

void Shape::drawLine(double x1,double y1,double x2,double y2)

{ //画一条直线

(4);

}

class Rectangle:public Shape{

privatc:

double_x1,_y1,_x2,_y2;

public:

Rectangle(Drawing *dp,double x1,double y1,

double x2,double y2);

void draw();

};

Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)

: (5)

{

_x1=x1;_y1=yl;_x2=x2;_y2=y2;

}

void Rectangle::draw()

{

//省略具体实现

}

(1)

点击查看答案

第2题

Athlete(ANo,AName,ASex,Age,ATeam),主键为ANo。 Item(INo,IName,ITime,IPlace),主键为INo。 Games

Athlete(ANo,AName,ASex,Age,ATeam),主键为ANo。

Item(INo,IName,ITime,IPlace),主键为INo。

Games(ANo,INo,Score,Credit),主键为(ANo,INo)。

点击查看答案

第3题

阅读下列说明和E-R图,回答问题1至问题3。 [说明] 有个关于运动会的管理系统,在该系统中,委员会

阅读下列说明和E-R图,回答问题1至问题3。

[说明]

有个关于运动会的管理系统,在该系统中,委员会为每一个参赛的运动员赋以一个唯一的编号“运动员号”,同时记录姓名、性别、年龄和队名,姓名和队名必须填写。

一个运动员属于且只属于一个队,一个运动员可以参赛多个项目。运动员参加比赛取得一个成绩,相应有一个积分:第一名积分6分,第二名积分4分,第三名积分2分,其他的没有积分。一个队的总积分是该队的所有队员的积分之和。

下图是该系统的E-R图。图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。

[图2-1]

根据E-R图中给出的词汇,按照“有关模式名(属性,属性,…)”的格式,将此E-R图转换为3个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。

点击查看答案

第4题

简要解释图3-22中用例U1和U3之间的extend关系的内涵。

点击查看答案

第5题

打印分户账清单(表3-8)时,必须以“(4)”作为关键字进行排序才能满足系统需求。A.储蓄所 B.账号 C.开

打印分户账清单(表3-8)时,必须以“(4)”作为关键字进行排序才能满足系统需求。 A.储蓄所 B.账号 C.开户日 D.户名 E.其他分户账数据 F.总户数和总余额

点击查看答案

第6题

阅读下列函数说明和C代码, [说明] 所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样

阅读下列函数说明和C代码,

[说明]

所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。

应用贪婪法求解该问题,程序先计算由各点构成的所有边的长度(作为边的权值),按长度大小对各边进行排序后,按贪婪准则从排序后的各边中选择组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。

函数中使用的预定义符号如下:

define M 100

typedef struct{/*x为两端点p1、p2之间的距离,p1、p2所组成边的长度*/

float x;

int p1,p2;

}tdr;

typedef struct{/*p1、p2为和端点相联系的两个端点,n为端点的度*/

int n,p1,p2;

}tr;

typedef struct{/*给出两点坐标*/

float x,y;

}tpd;

typedef int tl[M];

int n=10;

[函数]

float distance(tpd a,tpd b);/*计算端点a、b之间的距离*/

void sortArr(tdr a[M],int m);

/*将已经计算好的距离关系表按距离大小从小到大排序形成排序表,m为边的条数*/

int isCircuit(tr r[M],int i,int j);

/*判断边(i,j)选入端点关系表r[M]后,是否形成回路,若形成回路返回0*/

void selected(tr r[M],int i,int j);/*边(i,j)选入端点关系表r*/

void course(tr r [M],tl l[M]);/*从端点关系表r中得出回路轨迹表*/

void exchange(tdr a[M],int m,int b);

/*调整表排序表,b表示是否可调,即是否有长度相同的边存在*/

void travling(tpd pd [M],int n,float dist,tl locus[M])

/*dist记录总路程*/

{

tdr dr[M];/*距离关系表*/

tr r[M];/*端点关系表*/

int i,j,k,h,m;/*h表示选入端点关系表中的边数*/

int b;/*标识是否有长度相等的边*/

k=0;

/*计算距离关系表中各边的长度*/

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

for(j=i+1;J<=n;j++){

k++;

dr[k].x=(1);

dr[k].pl=i;

dr[k].p2=j;

}

}

m=k;

sortArr(dr,m);/*按距离大小从小到大排序形成排序表*/

do{

b=1;

dist=0;

k=h=0:

do{

k++;

i=dr[k].p1;

j=dr[k].p2;

if((r(i].n<=1)&&(r[j].n<=1)){/*度数不能大于2*/

if (2) {

/*若边(i,j)加入r后形成回路,则不能加入*/

(3);

h++;

dist+=dr[k].x;

}else if (4) {

/*最后一边选入r成回路,则该边必须加入且得到解*/

selected(r,i,j);

h++:

dist+=dr[k].x;

}

}

}while((k !=n) && (h !=n));

if(h==n){/*最后一边选入构成回路,完成输出结果*/

course(r,locus);

}else(/*找不到解,调整dr,交换表中边长相同的边在表中的顺序,并将b置0*/

(5);

}

}while(!b);

}

(1)

点击查看答案

第7题

在UML中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把

它写成一个表示取值范围的表达式或者一个具体的值。例如图3-1中的类客人和住宿,客人端的“1”表示:一个住宿类的实例只能与一个1个客人类的实例相关联;住宿类端的“0..*’表示:一个住宿类的实例可以与0个或多个客人类的实例相关。请指出图3-1中(1)到(4)处的重复度分别为多少?

点击查看答案

第8题

根据以上C代码,函数heapMaximum,heapExtractMax和maxHeaplnsert的时间复杂度的紧致上界分别为(6)

、(7)和(8)(用0符号表示)。

点击查看答案

第9题

图3一1中的符号“[*]”和“[*]”在UML中分别表示类和对象之间的哪两种关系?两者之间的区别是什么?

点击查看答案

第10题

设某有向无环图的顶点个数为n、弧数为e,那么用邻接表存储该图时,实现上述拓扑排序算法的函数TopSo

rt的时间复杂度是(6)。

若有向图采用邻接矩阵表示(例如,图4-1所示有向图的邻接矩阵如图4-3所示),且将函数TopSort中有关邻接表的操作修改为针对邻接矩阵的操作,那么对于有n个顶点、e条弧的有向无环图,实现上述拓扑排序算法的时问复杂度是(7)。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信