问题 问答题

在一条平直的公路上,一列队伍正在以1m/s的速度匀速前进.在队伍尾部的一个通讯员以4m/s的速度跑赶到队伍的最前端,然后又立即以4m/s的速度跑回队伍尾部.通讯员从队伍尾部到最前端又回到队伍尾部,共经历80s的时间,问队伍长度是多少?(本题可以不限物理解题格式,也可以用数学方法解)

答案

设队伍长为s,

∵v=

s
t

∴通讯员从队伍尾部到最前端的时间t1=

s
v-v

通讯员从队伍前端到尾端的时间t2=

s
v+v

t1+t2=

s
v-v
+
s
v+v
=t=80s,

2vs
(v-v)×(v+v)
=80s,

2×4m/s×s
(4m/s-1m/s)×(4m/s+1m/s)
=80s,

解得s=150m.

答:队伍长度是150m.

单项选择题
填空题

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

[说明]

在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。

以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法,需要真正执行“重”的方法时才初始化Print类。图5-1显示了各个类间的关系。

[图5-1]

[*]

[C++代码]

class Printable

public:

virtual void setPrinterName(string name)=0;

virtual string getprinterName()=0;

virtual void print(string name)=0;

class Printer:public Printable

private:

string name;

public:

Printer(string name)

cout<<"正在产生Printer的对象实例"<<endl;

this->name=name;

void setPrinterName(string name)

this->name=name;

string getPrinterName()

return name;

void print(string msg)

cout<<"======="<<name<<"==========="<<endl;

cout<<msg<<endl;

class printerproxy :public (1)

private:

String name;

Printer *real;

public:

PrinterProxy(string name)

(2) =NULL;

this->name=name;

void setPrinterName(string name)

if( (3) )real->setPrinterName(name);

this->name=name;

string getPrinterName()

return name;

void print(string msg)

(4)

real->print(msg);

void realize()

if(real==NULL)real= (5)

(1)处填()。