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

图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。

图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“图3-3中的类图设计采用了中介者(Mediator)设计模式…”相关的问题

第1题

小说明是用来描述加工的。小说明的描述方法有哪些?请分别用这些描述方法描述加工 1.2。

点击查看答案

第2题

阅读下列说明和图,回答问题1至问题3。 【说明】 某汽车数字仪表板将完成下述功能: (1)通过模/数转换

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

【说明】

某汽车数字仪表板将完成下述功能:

(1)通过模/数转换,实现传感器和微处理器的接口。

(2)在发光二极管面板上显示数据。

(3)指示速度(mph)、行驶里程、油耗(mpg)等。

(4)指示加速或减速。

以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是正确的。图9-14是顶层数据流图,图9-15是第0层数据流图,图9-16是第1层数据流图,其中A是加工1的细化图,B是加工2的细化图。图中,△sps表示转速sps的瞬时变化值,若△sps>0则汽车加速,△sps<0则减速,△sps=0则匀速。假定题中提供的顶层图是正确的,请回答下列问题。

第0层数据流图(如图9-15所示)中有一条缺失的数据流,请指出该数据流的起点和终点。

加工1的细化图(如图9-16中的A所示)中有一条缺失的数据流,请指出该数据流的起点和终点。

点击查看答案

第3题

加工2的细化图(如图9-16中的B所示)中有一条错误的数据流,请指出该数据流的起点或终点(若可以,指

出两者)。

点击查看答案

第4题

阅读以下说明和c++代码,将应填入(n)处的字句写在对应栏内。 【说明】 本程序将两个从小到大的有序链

阅读以下说明和c++代码,将应填入(n)处的字句写在对应栏内。

【说明】

本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类 Node描述,而链表由List描述,类List的成员函数有以下几个:

creatList(): 创建从小到大的有序链表。

multiplyList(List L1, Llst L2): 将链表L1和链表L2合并。

print(): 打印链表。

【C++代码】

include <iostream>

using namespace std;

class List;

class Node{

friend class List;

public:

Node(int data){

(1);

}

private:

int data;

Node *next;

};

class List{

public:

List(){list=NULL;}

void multiplyList(List L1, List L2);

void creatList();

void print();

private:

Node *list;

};

void List::creatList()

{

Node *p, *u, *pre;

int dara;

list=NULL;

wbile(1){

cout<<"输入链表的一项: (小于零,结束链表) "<<endl;

cin>>data;

if(dara<0)break;//小于零,结束输入

p=list;

while(p !=NULL && dara>p->data){//查找插入点

pre=p;

p=p->next;

}

u=(2);

if(p==list)list=u;

else pre->next=u;

(3);

}

}

void List::multiplyList(List L1, List L2)

{

Node *pL1, *pL2, *pL, *u;

list = NULL;

pL1 = L1.list;

pL2 = L2.11st;

while(pL1 != NULL && pL2 != NULL){

if(pL1->data < pL2->data){

u = new Node(pL1->data);

pL1 = pL1->next;

}else{

u = new Node(pL2->data);

pL2 = pL2->next;

}

if(list == NULL){

list =(4);

}else{

pL->next=u;

pL=u;

}

}

pL1 = (pL1 != NULL)? pL1:pL2;

while(pL1 != NULL){

u=(5);

pL1 = pL1->next;

if(list == NULL){

list=pL=u;

}else{

pL->next=u;

pL=u;

}

}

}

void List::print()

{

Node *p;

p = list;

while(p !=NULL){

cout<<p->data<<"\t";

p=p->next;

&

点击查看答案

第5题

阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】应用Prim算法求解连通网络的

阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。

【说明】 应用Prim算法求解连通网络的最小生成树问题。请阅读程序后填空。

const int MaxInt=INT MAX; //INT MAX的值在<limits.h>中

const int n=6; //图的顶点数,应由用户定义

typedef int AdjMatrix[n][n]; //用二维数组作为邻接矩阵表示

typedef struct{ //生成树的边结点

int fromVex,to Vex; //边的起点与终点

int weight; //边上的权值

}TreeEdSenode;

typedef TreeEdgeNode MST[n-1]; //最小生成树定义

void PrimMST (AdjMatrix G,MST T,int rt){

//从顶点rt出发构造图G的最小生成树T,rt成为树的根结点

TreeEdgeNode e; int i,k=0,min,minpos,v;

for(i=0;i<n;i++) //初始化最小生成树T

if(i!=rt){

T[k].fromVex=rt;

(1);

T[k++].weight=G[rt][i];

}

for(k=0;k<n-1;k++){ //依次求MST的候选边

(2);

for(i=k;i<n-1;i++) 八遍历当前候选边集合

if(T[i].weight<min) //选具有最小权值的候选边

{min=T[i].weight;(3);}

if(min==MaxInt) //图不连通,出错处理

{cerr<<“Graph is disconnected!”<<endl; exit(1);}

e=T[minpos];T[minpos]=T[k];(4);

v=T[k].to Vex;

for(i=k+1;i<n-1;i++) //修改候选边集合

if(G[v][T[i].to Vex]<T[i].weight){

T[i].weight=G[v][T[i].toVex];

(5);

}

}

}

点击查看答案

第6题

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现欲构造一文件/目录树,

阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示:

【c++代码】

include<1ist>

include

include

using namespace std;

class AbstractFile{

protected:

string name;//文件或目录名称

public:

void printName(){cout<*getChildren()=0; //获得一个目录的子目录或文件

};

class File:public AbstractFile{

public:

File(string name){ (1) =name;)

void addChild(AbstractFile*file){return ;)

void removeChiid(AbstractFile*file){return;}(2) getChildren(){return ( 3 ) ;}

};

class Folder:public AbstractFile{

private:

listchildList; //存储子目录或文件

public:

Folder(string name){ (4) =name;}

void addChild(AbstractFile*file){childList.push back(file);}

void removeChiid(AbstractFile*file)(chiidList.remove(file);}

list*getChildren(){return (5) ;)

};

voidmain(){

//构造一个树形的文件/目录结构

AbstractFile*rootFolder=new Folder(“C:\\”);

AbstractFile*compositeFolder=flew Folder(”composite”);

AbstractFile*windowsFolder=new Folder(”windows”);

AbstractFile*file=new File(”TestComposite.java”);

rootFolder->addChild(compositeFolder);

rootFolder->addChild (windowsFolder);

compositeFolder->addChiid(file);

)

点击查看答案

第7题

阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树

阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。

[说明]

借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历

过程如下:

若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。

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

typedef struct BiTNode{

int data;

struct BiTNode *iChiid,*rChiid;

} BiTNode,*BiTree;

typedef struct SNode{/*链栈的节点类型*/

BiTree elem;

struct SNode *next;

}SNode;

[函数]

int InOrderTraverse(BiTree root)

{

BiTree P;

SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/

P=root;

while(p !=NULL || stop !=NULL){

if( (1) ){ /*不是空树*/

q=(SNode*)malloc(sizeof q);

if(q==NULL)return-1;

/*根节点指针入栈*/

(2);

q->elem=P;

stop=q;

P=(3); /*进入根的左子树*/

}else{

q=stop;

(4); /*栈顶元素出栈*/

printf("%d|,q->elem->data); /*防问根节点*/

P=(5); /*进入根的右子树*/

free(q); /*释放原栈顶元素*/

}/*if*/

}/*while*/

return 0;

}/*InOrderTraverse*/

(1)

点击查看答案

第8题

简要解释图(a)中用例U1和U3之间的extend关系的内涵。

点击查看答案

第9题

ATM机有如下状态:空闲、银行卡验证、业务选择等待、取款金额输入、密码修改、出钞、单据打印。ATM机一般

处于空闲状态,当有客户插入银行卡,则进行银行卡验证,若银行卡无效则结束服务,否则进入业务选择等待。业务有取款、修改密码等,也可以选择退出结束服务,ATM返回空闲状态。选择取款业务后,等待取款金额输入,确认后判断余额是否足够,若余额不足,则给出提示信息,并进入业务选择等待;若余额充足,则出钞,若客户需要打印单据则进入单据打印状态,否则返回业务选择等待。选择任意一个业务后,可以取消返回业务选择等待。图3-2描述了ATM状态的转变情况。

[图3-2]

请指出判定A、转换B及状态C分别是什么。

点击查看答案

第10题

若另有表Teach(CName,TName)存储教师任课情况,Tname表示教师名。用SQL创建一个含有学号、姓名、课程

名、成绩、任课教师名的“主修专业为计算机CS”的学生成绩视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。请在SQL语句空缺处填入正确的内容。

CREATE VIEW SG (1)

SELECT Student.SNo,SName,Grade,Course.CName,TName

FROM Student,Grade,Teach,

WHERE (2)

AND (3)

AND Major='cs',

(4);

(1)

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

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

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

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

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