阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某项目由A、B、C、D、E、F、G、H、I、J共10个工作包组成,项目计划执行时间为5个月,在项目执行到第3个月末的时候,公司对项目进行了检查,检查结果如下表所示(假设项目工作量在计划期内均匀分布)。
【问题1】(4分)
计算到目前为止,项目的PV、EV分别为多少?
【[问题2](11分)
假设该项目到目前为止已支付80万元,请计算项目的CPI和SPI,并指出项目整体的成本和进度执行情况以及项目中哪些工作包落后于计划进度,哪些工作包超前于计划进度。
【问题3】(10分)
如果项目的当前状态代表了项目未来的执行情况,预测项目未来的结束时间和总成本。并针对项目目前的状况,提出相应的应对措施。
如下所示的切帆状态图中,()时,不一定会离开状态B
A.状态B中的两个结束状态均达到
B.在当前状态为B2时,事件e2发生
C.事件e2发生
D.事件el发生
阅读以下说明和C++代码。
【说明】
传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening (正在打开)、StayOpen(保持打开)和Closing(正在关闭)五种状态。触发传输门状态转换的事件有click、complete和timeout三种。事件与其相应的状态转换如下图所示。
下面的C++代码1与C++代码2分别用两种不同的设计思路对传输门进行状态模拟,请填补代码中的空缺。
【C++代码1】
const int CLOSED=1; const int PENING=2;
const int PEN=3; const int CLOSING=4;
const int STAYOPEN=5; //定义状态变量,用不同整数表示不同状态
class Door {
Private:
int state; //传输门当前状态
void setState(int state){ this->state=state;} //设置当前状态
public:
Door():state(CLOSED){};
void getState(){ //根据当前状态输出相应的字符串
switch(state){
case OPENING: cout<<"OPENING"<<endl; break;
case CLOSED: cout<<"CLOSED"<<endl; break;
case OPEN: cout<<"OPEN"<<endl; break;
case CLOSING: cout<<"CLOSING"<<endl; break;
case STAYOPEN:cout<<"STAYOPEN"<<endl; break;
}
};
void click() { //发生click事件时进行状态转换
if ((1)) setState(OPENING);
else if ((2)) setState(CLOSING);
else if ((3)) setState(STAYOPEN);
}
void timeout(){ //发生timeout事件时进行状态转换
if (state == OPEN) setState(CLOSING);
}
void complete(){ //发生complete事件时进行状态转换
if (state == OPENING) setState(OPEN);
else if (state == CLOSING) setState(CLOSED);
}
};
int main(){
Door aDoor;
aDoor.getState();aDoor.click(); aDoor.getState();
aDoor.complete();aDoor.getState(); aDoor.click();
aDoor.getState();aDoor.click(); aDoor.getState(); return 0;
}
【C++代码2】
class Door {
public:
DoorState *CLOSED,*OPENING,*OPEN,*CLOSING,*STAYOPEN,*state;
Door();
virtual~Door(){……//释放申请的内存,此处代码省略);
void setState(DoorState *state) { this->state = state;}
void getState(){
//此处代码省略,本方法输出状态字符串,
//例如,当前状态为CLOSED时,输出字符串为“CLOSED”
};
void click();
void timeout();
void complete();
};
Door::Door(){
CLOSED = new DoorClosed(this); OPENING = new DoorOpening(this);
PEN = new DoorOpen(this); CLOSING = new DoorClosing(this);
STAYOPEN = new DoorStayOpen(this);state = CLOSED;
}
void Door :: click() {(4);)
void Door :: timeout() {(5);)
void Door :: complete() {(6);}
class DoorState//定义一个抽象的状态,它是所有状态类的基类
{
protected:Door *door;
public:
DoorState(Door *door) {this->door = door;}
virtual~DoorState(void);
virtual void click() {}
virtual void complete(
设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。
A.30
B.20
C.m-19
D.m-20
A.极限平衡状态
B.弹性平衡状态
C.破坏状态
D.无法确定
某系统的频率响应,求当输入f(t)为下列函数时的零状态响应yzs(t)。(1)f(t)=ε(t);(2)f(t)=sintε(t)。
A.内存变量SNO的值
B.字段变量SNO的值
C.错误信息
D.与该命令之前的状态有关