试题详情

试题内容

阅读下列说明和C++代码,将应填入 (n)处的字句写在答题纸的对应栏内.
【说明】
某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新。
现在采用观察者(Observer)模式来开发该系统。观察者模式的类图如图5-1所示。

【C++代码】
#include
#include
using namespace std;
class Observer {
public:
virtual void update(float temp, float humidity, float cleanness)=0;
};
class Subject {
public:
virtual void registerObserver(Observer* o) = 0; //注册对主题感兴趣的观察者
virtual void removeObserver(Observer* o) = 0; //删除观察者
virtual void notifyObservers() = 0;//当主题发生变化时通知观察者
};
class EnvironmentData : public     (1)     {
private:
vector observers;
float temperature, humidity, cleanness;
public:
void registerObserver(Observer* o) { observers.push_back(o); }
void removeObserver(Observer* o) { /* 代码省略 */ }
void notifyObservers() {
for(vector::const_iterator it = observers.begin();            it != observers.end(); it++)
{       (2)    ; }
}
Void measurementsChanged() {     (3)    ; }
void setMeasurements(float temperature, float humidity, float cleanness) {
this->temperature = temperature;
this->humidity = humidity;
this->cleanness = cleanness;
(4)    ;
}
};
class CurrentConditionsDisplay : public     (5)    {
private:
float temperature, humidity, cleanness;
Subject* envData;
public:
CurrentConditionsDisplay(Subject* envData) {
this->envData = envData;
(6)   ;
}
void update(float temperature, float humidity, float cleanness)  {this->temperature = temperature;
this->humidity = humidity;
this->cleanness = cleanness;
display();
}
void display() { /* 代码省略 */ }
};
int main() {
EnvironmentData* envData = new EnvironmentData();
CurrentConditionsDisplay* currentDisplay = new CurrentConditionsDisplay(envData);
envData->setMeasurements(80, 65, 30.4f);
return 0;
}
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

6题:阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某图像预览程序要求能够查看BMP,JPEG和GIF三种格式的文件,且能够在Windows和Linux两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接 (Bridge)模式进行设计,得到如图5.1所示的类图。
【Java代码】
import Java。Util。*;
class matrix{//各种格式的文件最终都被转化为像素矩阵
//此处代码省略
};
abstract class Implement{
public   (1)  ;//显示像素矩阵m
};
class WinImp:public Implementor{
public Void doPaint(Matrix m){/*调用Windows系统的绘制函数绘制像素矩阵*/}
};
clas
5题:试题五(共15分)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图5-1所示。

1题:

试题一
阅读下列说明以及数据流图,回答问题1、问题2和问题3。
[说明]
某学校建立了一个网上作业提交与管理系统,基本功能描述如下:
(1)账号和密码。任课老师用账号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的账号和密码。
(2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。
(3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中
[问题1]
如果将数据库服务器(记为DB.作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?
[问题2]
根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处
4题:

9、[程序4]

START

PRUGBC    LD       GR0,DATA

LEA      GR1,0

LEA      GR3,48

LOOP1     CPL      GR0,WDT,GR1

JP2      LOOP2

ST       GR3,BTASC,GR1

LEA     &nb3题:

试题三
阅读下列说明,回答问题1、问题2和问题3。
[说明]
某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:
(1)资料室有图书管理员若干名,他们负责己购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;
(2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者D、姓名、电话和E-mail,系统为不同读者生成不同的读者ID;
(3)每部书在系统中对应唯一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同:
(4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予唯一的图书ID:
(5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者①、所借图书D、借阅时间和应还时间,读者还书时图书管
理员在对应的借书信息中记录归还时
3题:试题三(共15分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某图书公司欲开发一个基于Web的书籍销售系统,为顾客(Customer)提供在线购买书籍(Books)的功能,同时对公司书籍的库存及销售情况进行管理。系统的主要功能描述如下:
(1)首次使用系统时,顾客需要在系统中注册(Registerdetail)。顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等,系统将为其生成一个注册码。
(2)注册成功的顾客可以登录系统在线购买书籍(Buybooks)。购买时可以浏览书籍信息,包括书名(title)、作者(author)、内容简介(introduction)等。如果某种书籍的库存量为0,那么顾客无法查询到该书籍的信息。顾客选择所需购买的书籍及购买数量(quantities),若购买数量超过库存量,提示库存不足;若购买数量小于库存量,系统将显示验证界面,要求顾客输入注册码。注册码验证正确后,自动生成订单(Order),否则,提示验证错误。如果顾客需